home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / ADPro251-3.DMS / ADPro251-3.adf / OperatorsPseudo.lha / _Highlight < prev    next >
Encoding:
Text File  |  1994-01-31  |  2.5 KB  |  144 lines

  1. /*
  2. ** _Highlight
  3. **
  4. ** $VER: _Highlight 1.2.0 (08.12.93)
  5. **
  6. ** The ARexx program will highlight a given area of an image.
  7. **  
  8. ** This script requires ADPro v2.5.0 (or higher).
  9. **
  10. ** Copyright © 1993 ASDG, Incorporated
  11. ** All Rights Reserved
  12. */
  13.  
  14.  
  15. ADDRESS "ADPro"
  16. OPTIONS RESULTS
  17.  
  18. NL = '0A'X
  19. SQ = '27'X
  20. DQ = '22'X
  21. TRUE  = 1
  22. FALSE = 0
  23. TempDefaults = "T:TempADProDefaults"
  24. TempHilite = "T:TempHilite"
  25. TempTint = "T:TempTint"
  26.  
  27.  
  28. /*
  29. ** Save the current environment.
  30. */
  31.  
  32. SAVE_DEFAULTS TempDefaults
  33.  
  34.  
  35. /*
  36. ** See what type of data is loaded in ADPro/MorphPlus.
  37. */
  38.  
  39. CALL "FREDSCRIPTS:FREDFunctions/CheckForRawImageData" TRUE
  40. IF (RESULT ~= 0) THEN
  41.     CALL ErrorOut 10
  42.  
  43. XSIZE
  44. ImageWidth = ADPRO_RESULT
  45.  
  46. YSIZE
  47. ImageHeight = ADPRO_RESULT
  48.  
  49.  
  50. /*
  51. ** Save original image to temp file.
  52. */
  53.  
  54. SAVER "IFF" TempTint "RAW"
  55. IF (RC ~= 0) THEN DO
  56.     ADPRO_TO_FRONT
  57.     OKAY1 "Could not save temp file."
  58.     CALL ErrorOut 10
  59. END
  60.  
  61.  
  62. /*
  63. ** Specify area to highlight, then crop it out.
  64. */
  65.  
  66. ADPRO_TO_FRONT
  67. OKAY1 "Select the region to highlight." || NL ||,
  68.     "Record the X and Y pixel offsets of this" || NL ||,
  69.     "region; you will need to enter them later." || NL || NL ||,
  70.     "Select the 'Accept' button when done."
  71.  
  72. OFORMAT "CROP_VISUAL"
  73. IF (RC ~= 0) THEN DO
  74.     ADPRO_TO_FRONT
  75.     OKAY1 "Could not find Crop_Visual operator!"
  76.     CALL ErrorOut 10
  77. END
  78.  
  79. OPERATE_GUI
  80.  
  81. CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Enter the X Offset value"' 0 0 ImageWidth TRUE
  82. IF (RESULT = (0-1)) THEN
  83.     CALL ErrorOut 10
  84. HiliteXOff = RESULT
  85.  
  86. CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Enter the Y Offset value"' 0 0 ImageHeight TRUE
  87. IF (RESULT = (0-1)) THEN
  88.     CALL ErrorOut 10
  89. HiliteYOff = RESULT
  90.  
  91. SAVER "IFF" TempHilite "RAW"
  92. IF (RC ~= 0) THEN DO
  93.     ADPRO_TO_FRONT
  94.     OKAY1 "Could not save highlight area."
  95.     CALL ErrorOut 10
  96. END
  97.  
  98.  
  99. /*
  100. ** Dim original image.
  101. */
  102.  
  103. LOADER "BACKDROP" "XXX" ImageWidth ImageHeight "COLOR" 0 0 0
  104. IF (RC ~= 0) THEN DO
  105.     ADPRO_TO_FRONT
  106.     OKAY1 "Could not create tint backdrop."
  107.     CALL ErrorOut 10
  108. END
  109.  
  110. LOADER "UNIVERSAL" TempTint 0 0 50
  111. IF (RC ~= 0) THEN DO
  112.     ADPRO_TO_FRONT
  113.     OKAY1 "Could not dim image."
  114.     CALL ErrorOut 10
  115. END
  116.  
  117. LOADER "UNIVERSAL" TempHilite HiliteXOff HiliteYOff 100 0 0 0
  118. IF (RC ~= 0) THEN DO
  119.     ADPRO_TO_FRONT
  120.     OKAY1 "Could not add highlight area."
  121.     CALL ErrorOut 10
  122. END
  123.  
  124. CALL ErrorOut 0
  125.  
  126.  
  127. ErrorOut:
  128.     PARSE ARG ExitCode
  129.  
  130.     IF (EXISTS( TempDefaults )) THEN DO
  131.         LOAD_DEFAULTS TempDefaults
  132.         IF (RC ~= 0) THEN DO
  133.             ADPRO_TO_FRONT
  134.             OKAY1 "Error restoring settings."
  135.         END
  136.  
  137.         ADDRESS COMMAND "Delete >NIL:" TempDefaults
  138.     END
  139.  
  140.     ADDRESS COMMAND "Delete >NIL:" TempTint
  141.     ADDRESS COMMAND "Delete >NIL:" TempHilite
  142.  
  143.     EXIT ExitCode
  144.