home *** CD-ROM | disk | FTP | other *** search
- /*
- ** DefinePxlAspect.fred
- **
- ** $VER: DefinePxlAspect.fred 1.2.0 (5.11.93)
- **
- ** This script will allow the user to define a new pixel aspect that will
- ** be saved with the image. This allows the image to load correctly in
- ** other programs.
- **
- ** 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 © 1992-1993 ASDG, Incorporated
- ** All Rights Reserved
- */
-
-
- ADDRESS "ADPro"
- OPTIONS RESULTS
-
- PARSE ARG FrameNum FrameFName Length LoadFlag FirstCallSeq FirstCallCell
-
- NL = '0A'X
- SQ = '27'X
- DQ = '22'X
- TRUE = 1
- FALSE = 0
-
- GlobalModify = GETCLIP( "FREDGlobalModify" )
- xAsp = GETCLIP( "FREDXAspect" )
- yAsp = GETCLIP( "FREDYAspect" )
- xRes = GETCLIP( "FREDXDPI" )
- yRes = GETCLIP( "FREDYDPI" )
-
- IF (FirstCallSeq = 1) THEN DO
- ADPRO_TO_FRONT
-
- OKAYN '"DefinePxlAspect.fred"' '"Do global modification?"' '"Global|Frame-Specific|Cancel"'
- IF (RC = 0) THEN DO
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- ELSE
- GlobalModify = 2 - RC
-
- SCREEN_TO_FRONT "FRED"
-
- SETCLIP( "FREDGlobalModify", GlobalModify )
-
- OPERATOR "DEFINE_PXL_ASPECT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "The operator DEFINE_PXL_ASPECT," || NL ||,
- "failed to execute."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- xAsp = WORD( ADPRO_RESULT, 1 )
- yAsp = WORD( ADPRO_RESULT, 2 )
- xRes = WORD( ADPRO_RESULT, 3 )
- yRes = WORD( ADPRO_RESULT, 4 )
-
- text = "Current settings:" || NL ||,
- "X Aspect = " || xAsp || NL ||,
- "Y Aspect = " || yAsp || NL ||,
- "X DPI Res = " || xRes || NL ||,
- "Y DPI Res = "
-
- ADPRO_TO_FRONT
-
- OKAYN '"DefinePxlAspect.fred"' '"'text'"' '"Modify Settings|Don''t Modify Image|Cancel"'
- IF (RC = 0) THEN DO
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- ELSE IF (RC = 1) THEN
- CALL GetInfo
-
- SCREEN_TO_FRONT "FRED"
- END
- ELSE IF (GlobalModify = 0) THEN DO
- IF (FirstCallSeq = 0) THEN DO
- text = "Current settings:" || NL ||,
- "X Aspect = " || xAsp || NL ||,
- "Y Aspect = " || yAsp || NL ||,
- "X DPI Res = " || xRes || NL ||,
- "Y DPI Res = "
-
- ADPRO_TO_FRONT
-
- OKAYN '"DefinePxlAspect.fred"' '"'text'"' '"Modify Settings|Don''t Modify Image|Cancel"'
- IF (RC = 0) THEN DO
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- ELSE IF (RC = 1) THEN
- CALL GetInfo
-
- SCREEN_TO_FRONT "FRED"
- END
- ELSE
- CALL GetInfo
- END
-
- OPERATOR "DEFINE_PXL_ASPECT" "XASPECT" xAsp "YASPECT" yAsp "XRES" xRes "YRES" yRes
-
- SETCLIP( "FREDXAspect", xAsp )
- SETCLIP( "FREDYAspect", yAsp )
- SETCLIP( "FREDXDPI", xRes )
- SETCLIP( "FREDYDPI", yRes )
-
- EXIT 0
-
-
- GetInfo:
- CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"X Aspect"' xAsp 1 240 TRUE
- IF (RESULT = (1-1)) THEN
- EXIT 10
- xAsp = RESULT
-
- CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Y Aspect"' yAsp 1 240 TRUE
- IF (RESULT = (1-1)) THEN
- EXIT 10
- yAsp = RESULT
-
- CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"X DPI Resolution"' xRes 1 1000 TRUE
- IF (RESULT = (1-1)) THEN
- EXIT 10
- xRes = RESULT
-
- CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Y DPI Resolution"' yRes 1 1000 TRUE
- IF (RESULT = (1-1)) THEN
- EXIT 10
- yRes = RESULT
-
- RETURN
-