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

  1. /*
  2. ** Rectangle.fred
  3. **
  4. ** $VER: Rectangle.fred 1.0.0 (28.11.93)
  5. **
  6. ** This program can be run from an InvokeADPro list to place a
  7. ** rectangle on an image.
  8. **
  9. ** Clips Imported:
  10. **    FREDRectXOff    -    Left offset of rectangle
  11. **    FREDRectYOff    -    Top offset of rectangle
  12. **    FREDRectWidth    -    Width of rectangle
  13. **    FREDRectHeight    -    Height of rectangle
  14. **    FREDRectThick    -    Thickness of rectangle
  15. **    FREDRectR    -    Red color
  16. **    FREDRectG    -    Green color
  17. **    FREDRectB    -    Blue color
  18. **    FREDRectMix    -    Mix amount
  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.  Error if any are missing.
  44. */
  45.  
  46. RectXOff = GETCLIP( "FREDRectXOff" )
  47. IF (RectXOff = "") THEN DO
  48.     ADPRO_TO_FRONT
  49.     OKAY1 "Required clip, FREDRectXOff," || NL ||,
  50.         "is not specified."
  51.     SCREEN_TO_FRONT "FRED"
  52.     EXIT 10
  53. END
  54.  
  55. RectYOff = GETCLIP( "FREDRectYOff" )
  56. IF (RectYOff = "") THEN DO
  57.     ADPRO_TO_FRONT
  58.     OKAY1 "Required clip, FREDRectYOff," || NL ||,
  59.         "is not specified."
  60.     SCREEN_TO_FRONT "FRED"
  61.     EXIT 10
  62. END
  63.  
  64. RectWidth = GETCLIP( "FREDRectWidth" )
  65. IF (RectWidth = "") THEN DO
  66.     ADPRO_TO_FRONT
  67.     OKAY1 "Required clip, FREDRectWidth," || NL ||,
  68.         "is not specified."
  69.     SCREEN_TO_FRONT "FRED"
  70.     EXIT 10
  71. END
  72.  
  73. RectHeight = GETCLIP( "FREDRectHeight" )
  74. IF (RectHeight = "") THEN DO
  75.     ADPRO_TO_FRONT
  76.     OKAY1 "Required clip, FREDRectHeight," || NL ||,
  77.         "is not specified."
  78.     SCREEN_TO_FRONT "FRED"
  79.     EXIT 10
  80. END
  81.  
  82. RectThick = GETCLIP( "FREDRectThick" )
  83. IF (RectThick = "") THEN DO
  84.     ADPRO_TO_FRONT
  85.     OKAY1 "Required clip, FREDRectThick," || NL ||,
  86.         "is not specified."
  87.     SCREEN_TO_FRONT "FRED"
  88.     EXIT 10
  89. END
  90.  
  91. RectR = GETCLIP( "FREDRectR" )
  92. IF (RectR = "") THEN DO
  93.     ADPRO_TO_FRONT
  94.     OKAY1 "Required clip, FREDRectR," || NL ||,
  95.         "is not specified."
  96.     SCREEN_TO_FRONT "FRED"
  97.     EXIT 10
  98. END
  99.  
  100. RectG = GETCLIP( "FREDRectG" )
  101. IF (RectG = "") THEN DO
  102.     ADPRO_TO_FRONT
  103.     OKAY1 "Required clip, FREDRectG," || NL ||,
  104.         "is not specified."
  105.     SCREEN_TO_FRONT "FRED"
  106.     EXIT 10
  107. END
  108.  
  109. RectB = GETCLIP( "FREDRectB" )
  110. IF (RectB = "") THEN DO
  111.     ADPRO_TO_FRONT
  112.     OKAY1 "Required clip, FREDRectB," || NL ||,
  113.         "is not specified."
  114.     SCREEN_TO_FRONT "FRED"
  115.     EXIT 10
  116. END
  117.  
  118. RectMix = GETCLIP( "FREDRectMix" )
  119. IF (RectMix = "") THEN DO
  120.     ADPRO_TO_FRONT
  121.     OKAY1 "Required clip, FREDRectMix," || NL ||,
  122.         "is not specified."
  123.     SCREEN_TO_FRONT "FRED"
  124.     EXIT 10
  125. END
  126.  
  127.  
  128. /*
  129. ** See what type of data is loaded in ADPro/MorphPlus.
  130. */
  131.  
  132. CALL "FREDSCRIPTS:FREDFunctions/CheckForRawImageData" TRUE
  133. IF (RESULT ~= 0) THEN
  134.     EXIT 10
  135.  
  136.  
  137. /*
  138. ** Add the rectangle to the image.
  139. */
  140.  
  141. OPERATOR "RECTANGLE",
  142.     RectXOff RectYOff,
  143.     RectWidth RectHeight,
  144.     (RectThick),
  145.     RectR RectG RectB,
  146.     RectMix
  147. IF (RC ~= 0) THEN DO
  148.     ADPRO_TO_FRONT
  149.     OKAY1 "Could not add rectangle." || NL || NL ||,
  150.         "Arguments:" || NL ||,
  151.         "XOff YOff =" RectXOff RectYOff || NL ||,
  152.         "Width Height =" RectWidth RectHeight || NL ||,
  153.         "Thickness =" RectThick || NL ||,
  154.         "RGB color =" RectR RectG RectB || NL ||,
  155.         "Mix percentage =" RectMix
  156.     SCREEN_TO_FRONT "FRED"
  157.     EXIT 10
  158. END
  159.  
  160. EXIT 0
  161.