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

  1. /*
  2. ** _RotateImage
  3. **
  4. ** $VER: _RotateImage 1.0.0 (15.11.93)
  5. **
  6. ** This AREXX program will rotate the entire image in user specified increments.
  7. **
  8. ** This program requires ADPro v2.5.0 (or higher) 
  9. **
  10. ** Copyright © 1990-1993 ASDG, Incorporated
  11. ** All Rights Reserved
  12. */
  13.  
  14. ADDRESS "ADPro"
  15. OPTIONS RESULTS
  16.  
  17. NL = '0A'X
  18. SQ = '27'X
  19. DQ = '22'X
  20. TRUE  = 1
  21. FALSE = 0
  22. TempDefaults = "T:TempADProDefaults"
  23.  
  24.  
  25. /*
  26. ** Save the current environment.
  27. */
  28.  
  29. SAVE_DEFAULTS TempDefaults
  30.  
  31.  
  32. /*
  33. ** Select degrees to rotate.
  34. */
  35.  
  36. ADPRO_TO_FRONT
  37.  
  38. OKAYN '"_RotateImage"' '"Rotate in degrees."' '"90|180|270|Cancel"'
  39. IF (RC = 0) THEN DO
  40.     CALL ErrorOut 10
  41. END
  42. ELSE IF (RC = 1) THEN
  43.     CALL Rotate90
  44. ELSE IF (RC = 2) THEN
  45.     CALL Rotate180
  46. ELSE IF (RC = 3) THEN
  47.     CALL Rotate270
  48.  
  49. CALL ErrorOut 0
  50.  
  51.  
  52.  
  53.  
  54. Rotate90:
  55.     SAVER "TEMP" "XXX" "RAW"
  56.     IF (RC ~= 0) THEN DO
  57.         ADPRO_TO_FRONT
  58.         OKAY1 "Save to TEMP failed"
  59.         CALL ErrorOut 10
  60.     END
  61.  
  62.     ORIENTATION "LANDSCAPE"
  63.  
  64.     LOADER "TEMP" "XXX"
  65.     IF (RC ~= 0 )THEN DO
  66.         ADPRO_TO_FRONT
  67.         OKAY1 "Load from TEMP failed."
  68.         CALL ErrorOut 10
  69.     END
  70.  
  71.     RETURN
  72.  
  73.  
  74. Rotate180:
  75.     OPERATOR "HORIZONTAL_FLIP"
  76.     IF (RC ~= 0 ) THEN DO
  77.         ADPRO_TO_FRONT
  78.         OKAY1 "Horizontal_Flip failed."
  79.         CALL ErrorOut 10
  80.     END
  81.  
  82.     OPERATOR "VERTICAL_FLIP"
  83.     IF (RC ~= 0 ) THEN DO
  84.         ADPRO_TO_FRONT
  85.         OKAY1 "Vertical_Flip failed."
  86.         CALL ErrorOut 10
  87.     END
  88.  
  89.     RETURN
  90.  
  91.  
  92. Rotate270:
  93.     SAVER "TEMP" "XXX" "RAW"
  94.     IF (RC ~= 0) THEN DO
  95.         ADPRO_TO_FRONT
  96.         OKAY1 "Save to TEMP failed"
  97.         CALL ErrorOut 10
  98.     END
  99.  
  100.     ORIENTATION "LANDSCAPE"
  101.  
  102.     LOADER "TEMP" "XXX"
  103.     IF (RC ~= 0 ) THEN DO
  104.         ADPRO_TO_FRONT
  105.         OKAY1 "Load from TEMP failed."
  106.         CALL ErrorOut 10
  107.     END
  108.  
  109.     OPERATOR "HORIZONTAL_FLIP"
  110.     IF (RC ~= 0 ) THEN DO
  111.         ADPRO_TO_FRONT
  112.         OKAY1 "Horizontal_Flip failed."
  113.         CALL ErrorOut 10
  114.     END
  115.  
  116.     OPERATOR "VERTICAL_FLIP"
  117.     IF (RC ~= 0 ) THEN DO
  118.         ADPRO_TO_FRONT
  119.         OKAY1 "Vertical_Flip failed."
  120.         CALL ErrorOut 10
  121.     END
  122.  
  123.     RETURN
  124.  
  125.  
  126. ErrorOut:
  127.     PARSE ARG ExitCode
  128.  
  129.     IF (EXISTS( TempDefaults )) THEN DO
  130.         LOAD_DEFAULTS TempDefaults
  131.         IF (RC ~= 0) THEN DO
  132.             ADPRO_TO_FRONT
  133.             OKAY1 "Error restoring settings."
  134.         END
  135.  
  136.         ADDRESS COMMAND "Delete >NIL:" TempDefaults
  137.     END
  138.  
  139.     EXIT ExitCode
  140.