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

  1. /*
  2. ** DefinePxlAspect.fred
  3. **
  4. ** $VER: DefinePxlAspect.fred 1.2.0 (5.11.93)
  5. **
  6. ** This script will allow the user to define a new pixel aspect that will
  7. ** be saved with the image. This allows the image to load correctly in
  8. ** other programs.
  9. **
  10. ** NOTE: Clip names are case sensitive.
  11. **
  12. ** This script requires FRED v1.4.0 (or higher) to run.  Also required is
  13. ** ADPro v2.5.0 (or higher).
  14. **
  15. ** Copyright © 1992-1993 ASDG, Incorporated
  16. ** All Rights Reserved
  17. */
  18.  
  19.  
  20. ADDRESS "ADPro"
  21. OPTIONS RESULTS
  22.  
  23. PARSE ARG FrameNum FrameFName Length LoadFlag FirstCallSeq FirstCallCell
  24.  
  25. NL = '0A'X
  26. SQ = '27'X
  27. DQ = '22'X
  28. TRUE  = 1
  29. FALSE = 0
  30.  
  31. GlobalModify = GETCLIP( "FREDGlobalModify" )
  32. xAsp         = GETCLIP( "FREDXAspect" )
  33. yAsp         = GETCLIP( "FREDYAspect" )
  34. xRes         = GETCLIP( "FREDXDPI" )
  35. yRes         = GETCLIP( "FREDYDPI" )
  36.  
  37. IF (FirstCallSeq = 1) THEN DO
  38.     ADPRO_TO_FRONT
  39.  
  40.     OKAYN '"DefinePxlAspect.fred"' '"Do global modification?"' '"Global|Frame-Specific|Cancel"'
  41.     IF (RC = 0) THEN DO
  42.         SCREEN_TO_FRONT "FRED"
  43.         EXIT 10
  44.     END
  45.     ELSE
  46.         GlobalModify = 2 - RC
  47.  
  48.     SCREEN_TO_FRONT "FRED"
  49.  
  50.     SETCLIP( "FREDGlobalModify", GlobalModify )
  51.  
  52.     OPERATOR "DEFINE_PXL_ASPECT"
  53.     IF (RC ~= 0) THEN DO
  54.         ADPRO_TO_FRONT
  55.         OKAY1 "The operator DEFINE_PXL_ASPECT," || NL ||,
  56.             "failed to execute."
  57.         SCREEN_TO_FRONT "FRED"
  58.         EXIT 10
  59.     END
  60.  
  61.     xAsp   = WORD( ADPRO_RESULT, 1 )
  62.     yAsp   = WORD( ADPRO_RESULT, 2 )
  63.     xRes   = WORD( ADPRO_RESULT, 3 )
  64.     yRes   = WORD( ADPRO_RESULT, 4 )
  65.  
  66.     text = "Current settings:" || NL ||,
  67.         "X Aspect     = " || xAsp || NL ||,
  68.         "Y Aspect     = " || yAsp || NL ||,
  69.         "X DPI Res    = " || xRes || NL ||,
  70.         "Y DPI Res    = "
  71.  
  72.     ADPRO_TO_FRONT
  73.  
  74.     OKAYN '"DefinePxlAspect.fred"' '"'text'"' '"Modify Settings|Don''t Modify Image|Cancel"'
  75.     IF (RC = 0) THEN DO
  76.         SCREEN_TO_FRONT "FRED"
  77.         EXIT 10
  78.     END
  79.     ELSE IF (RC = 1) THEN
  80.         CALL GetInfo
  81.  
  82.     SCREEN_TO_FRONT "FRED"
  83. END
  84. ELSE IF (GlobalModify = 0) THEN DO
  85.     IF (FirstCallSeq = 0) THEN DO
  86.         text = "Current settings:" || NL ||,
  87.             "X Aspect     = " || xAsp || NL ||,
  88.             "Y Aspect     = " || yAsp || NL ||,
  89.             "X DPI Res    = " || xRes || NL ||,
  90.             "Y DPI Res    = "
  91.  
  92.         ADPRO_TO_FRONT
  93.  
  94.         OKAYN '"DefinePxlAspect.fred"' '"'text'"' '"Modify Settings|Don''t Modify Image|Cancel"'
  95.         IF (RC = 0) THEN DO
  96.             SCREEN_TO_FRONT "FRED"
  97.             EXIT 10
  98.         END
  99.         ELSE IF (RC = 1) THEN
  100.             CALL GetInfo
  101.  
  102.         SCREEN_TO_FRONT "FRED"
  103.     END
  104.     ELSE
  105.         CALL GetInfo
  106. END
  107.  
  108. OPERATOR "DEFINE_PXL_ASPECT" "XASPECT" xAsp "YASPECT" yAsp "XRES" xRes "YRES" yRes
  109.  
  110. SETCLIP( "FREDXAspect", xAsp )
  111. SETCLIP( "FREDYAspect", yAsp )
  112. SETCLIP( "FREDXDPI", xRes )
  113. SETCLIP( "FREDYDPI", yRes )
  114.  
  115. EXIT 0
  116.  
  117.  
  118. GetInfo:
  119.     CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"X Aspect"' xAsp 1 240 TRUE
  120.     IF (RESULT = (1-1)) THEN
  121.         EXIT 10
  122.     xAsp = RESULT
  123.  
  124.     CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Y Aspect"' yAsp 1 240 TRUE
  125.     IF (RESULT = (1-1)) THEN
  126.         EXIT 10
  127.     yAsp = RESULT
  128.  
  129.     CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"X DPI Resolution"' xRes 1 1000 TRUE
  130.     IF (RESULT = (1-1)) THEN
  131.         EXIT 10
  132.     xRes = RESULT
  133.  
  134.     CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Y DPI Resolution"' yRes 1 1000 TRUE
  135.     IF (RESULT = (1-1)) THEN
  136.         EXIT 10
  137.     yRes = RESULT
  138.  
  139.     RETURN
  140.