/* ** Colorize.fred.pre ** ** $VER: Colorize.fred.pre 1.0.0 (28.11.93) ** ** If the Colorize.fred script appears in the InvokeADPro list, this ** program will ask the user to enter the type of colorization to do. ** ** Clips Exported: ** FREDColorizeT - Type of colorization to perform ** FREDColorizePF - From grayscale value ** FREDColorizePT - To grayscale value ** FREDColorizeF - values which fall outside of PF-PT range ** FREDColorizeR - Red color for HSV/RANDOM colorization ** FREDColorizeG - Green color for HSV/RANDOM colorization ** FREDColorizeB - Blue color for HSV/RANDOM colorization ** FREDColorizeHTP - Type of HSV colorization ** FREDColorizeHF - From hue value (HSV only) ** FREDColorizeHT - To hue value (HSV only) ** ** NOTE: Clip names are case sensitive. ** ** This script requires FRED v1.4.0 (or higher) to run. Also required is ** ADPro v2.5.0 (or higher). ** ** Copyright © 1993 ASDG, Incorporated ** All Rights Reserved */ ADDRESS "ADPro" OPTIONS RESULTS PARSE ARG NumberOfCells NumberOfFrames NL = '0A'X SQ = '27'X DQ = '22'X TRUE = 1 FALSE = 0 /* ** Ask the user to enter the colorization settings. */ ADPRO_TO_FRONT OKAYN '"Colorize"' '"Select type of colorization"' '"Loaded|Random|False|HSV|Cancel"' IF (RC = 0) THEN EXIT 10 ELSE IF (RC = 1) THEN ColorizeT = "LOADED" ELSE IF (RC = 2) THEN ColorizeT = "RANDOM" ELSE IF (RC = 3) THEN ColorizeT = "FALSE" ELSE IF (RC = 4) THEN ColorizeT = "HSV" CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Grayscale range From value"' 0 0 255 TRUE IF (RESULT = (0-1)) THEN EXIT 10 ColorizePF = RESULT CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Grayscale range To value"' 255 0 255 TRUE IF (RESULT = (0-1)) THEN EXIT 10 ColorizePT = RESULT CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Non-range grayscale value"' (-1) (-1) 255 TRUE IF (RESULT = ((-1)-1)) THEN EXIT 10 ColorizeF = RESULT IF ((ColorizeT = "RANDOM") | (ColorizeT = "HSV")) THEN DO CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Base Red color"' 0 0 255 TRUE IF (RESULT = (0-1)) THEN EXIT 10 ColorizeR = RESULT CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Base Green color"' 0 0 255 TRUE IF (RESULT = (0-1)) THEN EXIT 10 ColorizeG = RESULT CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Base Blue color"' 0 0 255 TRUE IF (RESULT = (0-1)) THEN EXIT 10 ColorizeB = RESULT END IF (ColorizeT = "HSV") THEN DO ADPRO_TO_FRONT OKAYN '"Colorize"' '"Select type of HSV colorization"' '"Hue|Saturation|Value|Cancel"' IF (RC = 0) THEN EXIT 10 ELSE IF (RC = 1) THEN DO ColorizeHTP = "HUE" HTPType = "hues" HFFrom = 0 HFTo = 1 END ELSE IF (RC = 2) THEN DO ColorizeHTP = "SATURATION" HTPType = "saturations" HFFrom = 0 HFTo = 1 END ELSE IF (RC = 3) THEN DO ColorizeHTP= "VALUE" HTPType = "values" HFFrom = 0 HFTo = 10000 END FromText = "Enter From " || HTPType || " range value" ToText = "Enter To " || HTPType || " range value" CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"'FromText'"' HFFrom HFFrom HFTo TRUE IF (RESULT = (HFFrom-1)) THEN EXIT 10 ColorizeHF = RESULT CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"'ToText'"' HFTo HFFrom HFTo TRUE IF (RESULT = (HFTo-1)) THEN EXIT 10 ColorizeHT = RESULT END /* ** Update the clips. */ SETCLIP( "FREDColorizeT", ColorizeT ) SETCLIP( "FREDColorizePF", ColorizePF ) SETCLIP( "FREDColorizePT", ColorizePT ) SETCLIP( "FREDColorizeF", ColorizeF ) SETCLIP( "FREDColorizeR", ColorizeR ) SETCLIP( "FREDColorizeG", ColorizeG ) SETCLIP( "FREDColorizeB", ColorizeB ) SETCLIP( "FREDColorizeHTP", ColorizeHTP ) SETCLIP( "FREDColorizeHF", ColorizeHF ) SETCLIP( "FREDColorizeHT", ColorizeHT ) EXIT 0