home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / EDG-CT1.DMS / in.adf / CT.run / Scripts2 / 5 / Moving_Brush < prev    next >
Encoding:
Text File  |  1995-10-17  |  3.0 KB  |  148 lines

  1. /*
  2.                         Control Tower Arexx Script
  3.                            Written By J.L. White
  4.                          (C)1995 Merlin's Software
  5. Lines=8
  6. 01=Moving Brush
  7. 02= 
  8. 03=This script loads each image of the File List Window
  9. 04=into ImageFX and allows the user to add a brush image
  10. 05=that will move from X1 Y1 to X2 Y2 over the total number
  11. 06=of frames. The user selects where to begin and where to
  12. 07=end and what brush to use. You also have the option to
  13. 08=add a shadow or even to use just the shadow itself.
  14.  
  15. */
  16.  
  17. options results
  18.  
  19. arg FrameNum TotalNum
  20. address "IMAGEFX.1"
  21.  
  22. Start = 0
  23. if FrameNum = 0 then do
  24.     FrameNum = 1
  25.     RequestFile '"Select Brush Image To Use!"'
  26.     BrushName = result
  27.     Gadget.1 = 'Select How To Stamp Down Brush!?'
  28.     Gadget.2 = 'BRUSH ONLY'
  29.     Gadget.3 = 'SHADOW ONLY'
  30.     Gadget.4 = 'BRUSH & SHADOW'
  31.     ListRequest 4 Gadget
  32.     Answer2 = result
  33.     if Answer2 = 3 | Answer2 = 4 then do
  34.         RequestSlider '"Enter Amount To Darken Shadow!"' 1 100 60
  35.         Answer4 = result
  36.         end
  37.     if Answer2 = 4 then do
  38.         RequestSlider '"Enter Offset For Shadow!"' 1 10 3
  39.         Answer3 = result
  40.         end
  41.  
  42.     call PickLine()
  43.     call open TempFile,"RAM:CT-IFMB",W
  44.     call writeln TempFile,Answer
  45.     call writeln TempFile,Answer2
  46.     call writeln TempFile,Answer3
  47.     call writeln TempFile,Answer4
  48.     call writeln TempFile,BrushName
  49.     call close TempFile
  50.     end
  51. else do
  52.     call open TempFile,"RAM:CT-IFMB",R
  53.     line = readln(TempFile)
  54.     parse var line X1 Y1 X2 Y2
  55.     line = readln(TempFile)
  56.     parse var line Answer2
  57.     line = readln(TempFile)
  58.     parse var line Answer3
  59.     line = readln(TempFile)
  60.     parse var line Answer4
  61.     line = readln(TempFile)
  62.     parse var line BrushName
  63.     call close TempFile
  64.     end
  65.  
  66. LoadBrush BrushName
  67. call GetXYCords
  68. GetBrush
  69. parse var result Name BWidth BHeight Blah
  70. BrushHandle BWidth%2 BHeight%2
  71.  
  72. if Answer2 = 2 then do
  73.     DrawMode Normal
  74.     Point X Y
  75.     end
  76. if Answer2 = 3 then do
  77.     Blend Answer4
  78.     DrawMode Darken
  79.     Point X Y
  80.     end
  81. if Answer2 = 4 then do
  82.     Blend Answer4
  83.     DrawMode Darken
  84.     Point X+Answer3 Y+Answer3
  85.     Blend 100
  86.     DrawMode Normal
  87.     Point X Y
  88.     end
  89. Blend 100
  90. DrawMode Normal
  91. KillBrush
  92.  
  93. exit
  94.  
  95.  
  96.  
  97. GetXYCords:
  98.     TotalKey = 1
  99.     NumKey = (TotalNum/TotalKey)
  100.     FirstNum = ((NumKey - (NumKey-(FrameNum-1)))%NumKey)+1
  101.     SecNum = FirstNum+1
  102.     if FirstNum = TotalKey then do
  103.         NumKey = NumKey - 1
  104.         NewNum = (((FrameNum-((FirstNum-1)*NumKey)))-(TotalKey-1))
  105.         end
  106.     else 
  107.         NewNum = ((FrameNum-((FirstNum-1)*NumKey)))
  108.     if X2 < X1 then do
  109.         DiffX = -((X1-X2)/(NumKey))
  110.         end
  111.     else do
  112.         DiffX = ((X2-X1)/(NumKey))
  113.         end
  114.     if Y2 < Y1 then do
  115.         DiffY = -((Y1-Y2)/(NumKey))
  116.         end
  117.     else do
  118.         DiffY = ((Y2-Y1)/(NumKey))
  119.         end
  120.     X = (X1 + (DiffX*NewNum))-DiffX
  121.     Y = (Y1 + (DiffY*NewNum))-DiffY
  122.     X = X % 1
  123.     Y = Y % 1
  124. return
  125.  
  126. PickLine:
  127.     Menu ToolBox
  128.     RequestNotify "Draw Line From Point A To Point B For Brush Movement!"
  129.     DrawTool Line
  130.     HidePanel
  131.     Undo On
  132.     WaitFor SELECTDOWN
  133.     parse var result X1 Y1
  134.     WaitFor SELECTUP
  135.     parse var result X2 Y2
  136.     Undo
  137.     ShowPanel
  138.     Undo Off
  139.     X1 = strip(X1)
  140.     Y1 = strip(Y1)
  141.     X2 = strip(X2)
  142.     Y2 = strip(Y2)
  143.     Answer = X1" "Y1" "X2" "Y2
  144.     RequestResponse "Is The Line You Have Drawn Correct?"
  145.     if rc ~= 0 then call PickLine()
  146.  
  147. return
  148.