home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / ADPro251-3.DMS / ADPro251-3.adf / FREDScripts.lha / FREDSavers / SaveToA2410.fred < prev    next >
Encoding:
Text File  |  1994-01-31  |  3.7 KB  |  169 lines

  1. /*
  2. ** SaveToA2410.fred
  3. **
  4. ** $VER: SaveToA2410.fred 1.0.0 (31.10.93)
  5. **
  6. ** This program can be run from an InvokeADPro list to save images to
  7. ** the A2410 display board.  Including this program automatically
  8. ** causes a pre script to be executed as well (to select display settings).
  9. **
  10. ** Clips Imported:
  11. **    FREDA2410BoardNum    -    Number of board to use
  12. **    FREDA2410Resolution    -    Display resolution to use
  13. **    FREDA2410SrcXOff    -    X Offset into source image
  14. **    FREDA2410SrcYOff    -    Y Offset into source image
  15. **    FREDA2410DestXOff    -    X Offset into destination buffer
  16. **    FREDA2410DestYOff    -    Y Offset into destination buffer
  17. **    FREDA2410DestWidth    -    Width in destination buffer
  18. **    FREDA2410DestHeight    -    Height in destination buffer
  19. **
  20. ** NOTE: Clip names are case sensitive.
  21. **
  22. ** This script requires FRED v1.4.0 (or higher) to run.  Also required is
  23. ** ADPro v2.5.0 (or higher).
  24. **
  25. ** Copyright © 1993 ASDG, Incorporated
  26. ** All Rights Reserved
  27. */
  28.  
  29.  
  30. ADDRESS "ADPro"
  31. OPTIONS RESULTS
  32.  
  33. PARSE ARG FrameNum FrameFName Length LoadFlag FirstCallSeq FirstCallCell
  34.  
  35. NL = '0A'X
  36. SQ = '27'X
  37. DQ = '22'X
  38. TRUE  = 1
  39. FALSE = 0
  40.  
  41.  
  42. /*
  43. ** Get the required clips.
  44. */
  45.  
  46. BoardNum = GETCLIP( "FREDA2410BoardNum" )
  47. IF (BoardNum = "") THEN DO
  48.     ADPRO_TO_FRONT
  49.     OKAY1 "Required clip, FREDA2410BoardNum," || NL ||,
  50.         "is not specified."
  51.     SCREEN_TO_FRONT "FRED"
  52.     EXIT 10
  53. END
  54.  
  55. Res = GETCLIP( "FREDA2410Resolution" )
  56. IF (Res = "") THEN DO
  57.     ADPRO_TO_FRONT
  58.     OKAY1 "Required clip, FREDA2410Resolution," || NL ||,
  59.         "is not specified."
  60.     SCREEN_TO_FRONT "FRED"
  61.     EXIT 10
  62. END
  63.  
  64. SrcXOff = GETCLIP( "FREDA2410SrcXOff" )
  65. IF (SrcXOff = "") THEN DO
  66.     ADPRO_TO_FRONT
  67.     OKAY1 "Required clip, FREDA2410SrcXOff," || NL ||,
  68.         "is not specified."
  69.     SCREEN_TO_FRONT "FRED"
  70.     EXIT 10
  71. END
  72.  
  73. SrcYOff = GETCLIP( "FREDA2410SrcYOff" )
  74. IF (SrcYOff = "") THEN DO
  75.     ADPRO_TO_FRONT
  76.     OKAY1 "Required clip, FREDA2410SrcYOff," || NL ||,
  77.         "is not specified."
  78.     SCREEN_TO_FRONT "FRED"
  79.     EXIT 10
  80. END
  81.  
  82. DestXOff = GETCLIP( "FREDA2410DestXOff" )
  83. IF (DestXOff = "") THEN DO
  84.     ADPRO_TO_FRONT
  85.     OKAY1 "Required clip, FREDA2410DestXOff," || NL ||,
  86.         "is not specified."
  87.     SCREEN_TO_FRONT "FRED"
  88.     EXIT 10
  89. END
  90.  
  91. DestYOff = GETCLIP( "FREDA2410DestYOff" )
  92. IF (DestYOff = "") THEN DO
  93.     ADPRO_TO_FRONT
  94.     OKAY1 "Required clip, FREDA2410DestYOff," || NL ||,
  95.         "is not specified."
  96.     SCREEN_TO_FRONT "FRED"
  97.     EXIT 10
  98. END
  99.  
  100. DestWidth = GETCLIP( "FREDA2410DestWidth" )
  101. IF (DestWidth = "") THEN DO
  102.     ADPRO_TO_FRONT
  103.     OKAY1 "Required clip, FREDA2410DestWidth," || NL ||,
  104.         "is not specified."
  105.     SCREEN_TO_FRONT "FRED"
  106.     EXIT 10
  107. END
  108.  
  109. DestHeight = GETCLIP( "FREDA2410DestHeight" )
  110. IF (DestHeight = "") THEN DO
  111.     ADPRO_TO_FRONT
  112.     OKAY1 "Required clip, FREDA2410DestHeight," || NL ||,
  113.         "is not specified."
  114.     SCREEN_TO_FRONT "FRED"
  115.     EXIT 10
  116. END
  117.  
  118.  
  119. /*
  120. ** See what type of data is loaded in ADPro/MorphPlus.
  121. */
  122.  
  123. CALL "FREDSCRIPTS:FREDFunctions/CheckForRenderedImageData" TRUE
  124. IF (RESULT ~= 0) THEN
  125.     EXIT 10
  126.  
  127. CALL "FREDSCRIPTS:FREDFunctions/CheckForGrayImageData" FALSE
  128. IF (RESULT ~= 0) THEN
  129.     ScreenType = "IMAGE"
  130. ELSE
  131.     ScreenType = "RAW"
  132.  
  133.  
  134. /*
  135. ** Image it to the display board.
  136. */
  137.  
  138. SAVER "A2410" "XXX" ScreenType,
  139.     "BOARD_NO" BoardNum,
  140.     "B_SIZE" Res,
  141.     "SET_SOX" SrcXOff,
  142.     "SET_SOY" SrcYOff,
  143.     "SET_DOX" DestXOff,
  144.     "SET_DOY" DestYOff,
  145.     "SET_DWX" DestWidth,
  146.     "SET_DWY" DestHeight,
  147.     "CLEAR",
  148.     "CENTER",
  149.     "IMAGE"
  150. IF (RC ~= 0) THEN DO
  151.     Why = ADPRO_RESULT
  152.     ADPRO_TO_FRONT
  153.     OKAY1 "A2410 save failed:" || NL || Why || NL ||,
  154.         "Argument Information:" || NL ||,
  155.         "Screen Type =" ScreenType || NL ||,
  156.         "Board Number =" BoardNum || NL ||,
  157.         "Resolution ID =" Res || NL ||,
  158.         "Src X Off =" SrcXOff || NL ||,
  159.         "Src Y Off =" SrcYOff || NL ||,
  160.         "Dest X Off =" DestXOff || NL ||,
  161.         "Dest Y Off =" DestYOff || NL ||,
  162.         "Dest Width =" DestWidth || NL ||,
  163.         "Dest Height =" DestHeight
  164.     SCREEN_TO_FRONT "FRED"
  165.     EXIT 10
  166. END
  167.  
  168. EXIT 0
  169.