home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 20 / AACD20.BIN / AACD / Graphics / PerfectPaint / rexx / ellipse / Make_Star.rx < prev    next >
Text File  |  1999-12-09  |  1KB  |  98 lines

  1. /* Script Rexx
  2.     AnimPainting for Circle*/
  3.  
  4.     call addlib("rexxmathlib.library", 5, -30, 0)
  5.  
  6.     options results
  7.   parse ARG Port x1 y1 r r3 b
  8.  
  9.     ADDRESS COMMAND
  10.     sens=0
  11.     s0=3
  12.     if EXISTS('PerfectPaint:Prefs/Rexx_Prefs/Make_Star') THEN DO
  13.         IF OPEN('lfile','PerfectPaint:Prefs/Rexx_Prefs/Make_Star', "R") then DO
  14.             s0 = READLN('lfile')
  15.             sens = READLN('lfile')
  16.             CALL CLOSE('lfile')
  17.         END
  18.     END
  19.  
  20.     r2=r/3
  21.     r4=r3/3
  22.     Pi=3.1415926/180
  23.  
  24.     ADDRESS value Port
  25.     pp_DialogInit 250 85 "*Star*" 2
  26.         pp_Integer 0 110 5 50 16 "Number*of*Point*" 1 s0
  27.         pp_Cycle 1 110 25 100 16 "Option" 1 "Filled|Unfilled" sens
  28.     pp_Dialog
  29.     rc=result
  30.     if rc=0 then
  31.         do
  32.             EXIT
  33.         end        
  34.         
  35.     pp_GetDialog 0
  36.     s0=result
  37.  
  38.     pp_GetDialog 1
  39.     sens=result
  40.  
  41.     CALL SavePrefs('Make_Star',s0,sens)
  42.     ADDRESS value Port
  43.  
  44.     a=360/s0
  45.     a2=a/2
  46.  
  47.     pp_UpdateUndo
  48.  
  49.     pp_StartPoly
  50.  
  51.   DO i=0 To 359 by a
  52.  
  53.       x = Sin(i*Pi)*r+x1
  54.     y = Cos(i*Pi)*r3+y1
  55.         
  56.         ii=i+a2
  57.       x2 = Sin(ii*Pi)*r2+x1
  58.     y2 = Cos(ii*Pi)*r4+y1
  59.  
  60.         ii=i-a2
  61.       x3 = Sin(ii*Pi)*r2+x1
  62.     y3 = Cos(ii*Pi)*r4+y1
  63.         
  64.         pp_AddPoly trunc(x3) trunc(y3)
  65.         pp_AddPoly trunc(x) trunc(y)
  66.         pp_AddPoly trunc(x2) trunc(y2)        
  67.         
  68.     END
  69.  
  70.         IF sens=1 then DO
  71.             pp_EndPoly
  72.         END
  73.         ELSE DO
  74.             pp_EndPolyF
  75.         END
  76.  
  77.  
  78. EXIT
  79.  
  80. SavePrefs: PROCEDURE
  81.     
  82.     Prefname='PerfectPaint:Prefs/Rexx_Prefs/'||ARG(1)
  83.  
  84.     if EXISTS(Prefname) THEN DO
  85.         ADDRESS COMMAND
  86.         'delete >nil: '||Prefname
  87.     END
  88.  
  89.     IF OPEN('pfile',PrefName,'W') THEN DO
  90.  
  91.     do i=2 to ARG()
  92.         CALL WRITELN('pfile',ARG(i))
  93.     end
  94.  
  95.     CALL CLOSE('pfile')
  96.  
  97. RETURN
  98.