home *** CD-ROM | disk | FTP | other *** search
- /*
- ** SaveToA2410.fred
- **
- ** $VER: SaveToA2410.fred 1.0.0 (31.10.93)
- **
- ** This program can be run from an InvokeADPro list to save images to
- ** the A2410 display board. Including this program automatically
- ** causes a pre script to be executed as well (to select display settings).
- **
- ** Clips Imported:
- ** FREDA2410BoardNum - Number of board to use
- ** FREDA2410Resolution - Display resolution to use
- ** FREDA2410SrcXOff - X Offset into source image
- ** FREDA2410SrcYOff - Y Offset into source image
- ** FREDA2410DestXOff - X Offset into destination buffer
- ** FREDA2410DestYOff - Y Offset into destination buffer
- ** FREDA2410DestWidth - Width in destination buffer
- ** FREDA2410DestHeight - Height in destination buffer
- **
- ** 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 FrameNum FrameFName Length LoadFlag FirstCallSeq FirstCallCell
-
- NL = '0A'X
- SQ = '27'X
- DQ = '22'X
- TRUE = 1
- FALSE = 0
-
-
- /*
- ** Get the required clips.
- */
-
- BoardNum = GETCLIP( "FREDA2410BoardNum" )
- IF (BoardNum = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDA2410BoardNum," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- Res = GETCLIP( "FREDA2410Resolution" )
- IF (Res = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDA2410Resolution," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- SrcXOff = GETCLIP( "FREDA2410SrcXOff" )
- IF (SrcXOff = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDA2410SrcXOff," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- SrcYOff = GETCLIP( "FREDA2410SrcYOff" )
- IF (SrcYOff = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDA2410SrcYOff," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- DestXOff = GETCLIP( "FREDA2410DestXOff" )
- IF (DestXOff = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDA2410DestXOff," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- DestYOff = GETCLIP( "FREDA2410DestYOff" )
- IF (DestYOff = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDA2410DestYOff," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- DestWidth = GETCLIP( "FREDA2410DestWidth" )
- IF (DestWidth = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDA2410DestWidth," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- DestHeight = GETCLIP( "FREDA2410DestHeight" )
- IF (DestHeight = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDA2410DestHeight," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
-
- /*
- ** See what type of data is loaded in ADPro/MorphPlus.
- */
-
- CALL "FREDSCRIPTS:FREDFunctions/CheckForRenderedImageData" TRUE
- IF (RESULT ~= 0) THEN
- EXIT 10
-
- CALL "FREDSCRIPTS:FREDFunctions/CheckForGrayImageData" FALSE
- IF (RESULT ~= 0) THEN
- ScreenType = "IMAGE"
- ELSE
- ScreenType = "RAW"
-
-
- /*
- ** Image it to the display board.
- */
-
- SAVER "A2410" "XXX" ScreenType,
- "BOARD_NO" BoardNum,
- "B_SIZE" Res,
- "SET_SOX" SrcXOff,
- "SET_SOY" SrcYOff,
- "SET_DOX" DestXOff,
- "SET_DOY" DestYOff,
- "SET_DWX" DestWidth,
- "SET_DWY" DestHeight,
- "CLEAR",
- "CENTER",
- "IMAGE"
- IF (RC ~= 0) THEN DO
- Why = ADPRO_RESULT
- ADPRO_TO_FRONT
- OKAY1 "A2410 save failed:" || NL || Why || NL ||,
- "Argument Information:" || NL ||,
- "Screen Type =" ScreenType || NL ||,
- "Board Number =" BoardNum || NL ||,
- "Resolution ID =" Res || NL ||,
- "Src X Off =" SrcXOff || NL ||,
- "Src Y Off =" SrcYOff || NL ||,
- "Dest X Off =" DestXOff || NL ||,
- "Dest Y Off =" DestYOff || NL ||,
- "Dest Width =" DestWidth || NL ||,
- "Dest Height =" DestHeight
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- EXIT 0
-