home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 20 / AACD20.BIN / AACD / Graphics / PerfectPaint / rexx / bridge / Manual.rx < prev    next >
Text File  |  2000-08-16  |  6KB  |  460 lines

  1. /*     Manual */
  2.  
  3.     options results
  4.     parse ARG Port Ptr M0 M1 M2 M3 M4 M5 M6 b
  5.     
  6.     ADDRESS value Port
  7.  
  8.     pp_GetWidth
  9.     W=result;W2=W/2-1
  10.  
  11.     if W=0 then EXIT
  12.  
  13.     pp_GetHeight
  14.     H=result;H2=H/2-1
  15.  
  16. IF Ptr=1|Ptr=2|Ptr=22 then DO
  17.     IF M0=1|M0=2|M0=22 THEN DO
  18.         X=M1;Y=M2;R=M3
  19.     END
  20.     ELSE
  21.     DO
  22.         X=W2
  23.         Y=H2
  24.         IF W>H THEN DO
  25.             R=H2
  26.         END
  27.         ELSE
  28.         DO
  29.             R=W2
  30.         END
  31.     END
  32.  
  33.     pp_DialogInit 150 100 "*Circle*" 3
  34.         pp_Integer 0 60 5 50 16 "X" 1 X
  35.         pp_Integer 1 60 25 50 16 "Y" 1 Y
  36.         pp_Integer 2 60 50 50 16 "Radius" 1 R
  37.     pp_Dialog
  38.     rc=result
  39.     if rc=0 then
  40.         do
  41.             EXIT
  42.         end    
  43.  
  44.     pp_UpdateUndo    
  45.         
  46.     pp_GetDialog 0
  47.     X=result
  48.  
  49.     pp_GetDialog 1
  50.     Y=result
  51.  
  52.     pp_GetDialog 2
  53.     R=result
  54.  
  55.     if Ptr=1 then DO
  56.         pp_Circle X Y R
  57.     END
  58.     ELSE
  59.     DO
  60.         pp_CircleF X Y R
  61.     END
  62. END
  63.  
  64. IF Ptr=14 then DO
  65.     pp_AvoidRefresh
  66.     IF M0=14 THEN DO
  67.         X=M1;Y=M2
  68.     END
  69.     ELSE
  70.     DO
  71.         X=W2
  72.         Y=H2
  73.     END
  74.  
  75.     pp_DialogInit 150 75 "*Text*" 2
  76.         pp_Integer 0 60 5 50 16 "X" 1 X
  77.         pp_Integer 1 60 25 50 16 "Y" 1 Y
  78.     pp_Dialog
  79.     rc=result
  80.     if rc=0 then
  81.         do
  82.             pp_PermitRefresh
  83.             EXIT
  84.         end    
  85.  
  86.     pp_UpdateUndo    
  87.  
  88.     pp_GetDialog 0
  89.     X=result
  90.  
  91.     pp_GetDialog 1
  92.     Y=result
  93.  
  94.     pp_TextDraw X Y
  95.     pp_PermitRefresh
  96.     
  97. END
  98.  
  99. IF Ptr=12|Ptr=13|Ptr=25 then DO
  100.     IF M0=12|M0=13|M0=25 THEN DO
  101.         X=M1;Y=M2;R=M3;R2=M4
  102.     END
  103.     ELSE
  104.     DO
  105.         X=W2
  106.         Y=H2
  107.         R=W2
  108.         R2=H2
  109.     END
  110.  
  111.     pp_DialogInit 150 125 "*Ellipse*" 4
  112.         pp_Integer 0 60 5 50 16 "X" 1 X
  113.         pp_Integer 1 60 25 50 16 "Y" 1 Y
  114.         pp_Integer 2 60 50 50 16 "RadiusX" 1 R
  115.         pp_Integer 3 60 70 50 16 "RadiusY" 1 R2        
  116.     pp_Dialog
  117.     rc=result
  118.     if rc=0 then
  119.         do
  120.             EXIT
  121.         end        
  122.         
  123.     pp_UpdateUndo    
  124.  
  125.     pp_GetDialog 0
  126.     X=result
  127.  
  128.     pp_GetDialog 1
  129.     Y=result
  130.  
  131.     pp_GetDialog 2
  132.     R=result
  133.  
  134.     pp_GetDialog 3
  135.     R2=result
  136.  
  137.     if Ptr=12 then DO
  138.         pp_Ellipse X Y R R2
  139.     END
  140.     ELSE
  141.     DO
  142.         pp_EllipseF X Y R R2
  143.     END
  144. END
  145.  
  146. IF Ptr=3|Ptr=4|Ptr=21 then DO
  147.     IF M0=3|M0=4|M0=21 THEN DO
  148.         X=M1;Y=M2;XX=M3;YY=M4
  149.     END
  150.     ELSE
  151.     DO
  152.         X=0
  153.         Y=0
  154.         XX=W-1
  155.         YY=H-1
  156.     END
  157.  
  158.     DO UNTIL rc>-1
  159.  
  160.         pp_DialogInit 150 155 "*Box*" 5
  161.             pp_Integer 0 60 5 50 16 "Start*X" 1 X
  162.             pp_Integer 1 60 25 50 16 "Start*Y" 1 Y
  163.             pp_Integer 2 60 50 50 16 "End*X" 1 XX
  164.             pp_Integer 3 60 70 50 16 "End*Y" 1 YY
  165.             pp_Button 4 60 100 50 16 'Reset'        
  166.         pp_Dialog
  167.         rc=result
  168.  
  169.         IF rc=-4 THEN DO
  170.             X=0
  171.             Y=0
  172.             XX=W-1
  173.             YY=H-1        
  174.         END        
  175.         
  176.     END
  177.  
  178.     IF rc=0 then DO
  179.         EXIT
  180.     END
  181.     
  182.     pp_UpdateUndo    
  183.  
  184.     pp_GetDialog 0
  185.     X=result
  186.  
  187.     pp_GetDialog 1
  188.     Y=result
  189.  
  190.     pp_GetDialog 2
  191.     XX=result
  192.  
  193.     pp_GetDialog 3
  194.     YY=result
  195.  
  196.     if Ptr=3 then DO
  197.         pp_Box X Y XX YY
  198.     END
  199.     ELSE
  200.     DO
  201.         pp_BoxF X Y XX YY
  202.     END
  203. END
  204.  
  205. IF Ptr=6|Ptr=7|Ptr=24 then DO
  206.     IF M0=6|M0=7|M0=24 THEN DO
  207.         X=M1;Y=M2;XX=M3;YY=M4;XXX=M5;YYY=M6
  208.     END
  209.     ELSE
  210.     DO
  211.         X=0
  212.         Y=0
  213.         XX=W-1
  214.         YY=0
  215.         XXX=W2
  216.         YYY=H-1
  217.     END
  218.  
  219.     pp_DialogInit 150 175 "*Spline*" 6
  220.         pp_Integer 0 60 5 50 16 "Start*X" 1 X
  221.         pp_Integer 1 60 25 50 16 "Start*Y" 1 Y
  222.         pp_Integer 2 60 50 50 16 "End*X" 1 XX
  223.         pp_Integer 3 60 70 50 16 "End*Y" 1 YY        
  224.         pp_Integer 4 60 95 50 16 "MX" 1 XXX
  225.         pp_Integer 5 60 115 50 16 "MY" 1 YYY    
  226.     pp_Dialog
  227.     rc=result
  228.     if rc=0 then
  229.         do
  230.             EXIT
  231.         end        
  232.         
  233.     pp_UpdateUndo    
  234.  
  235.     pp_GetDialog 0
  236.     X=result
  237.  
  238.     pp_GetDialog 1
  239.     Y=result
  240.  
  241.     pp_GetDialog 2
  242.     XX=result
  243.  
  244.     pp_GetDialog 3
  245.     YY=result
  246.  
  247.     pp_GetDialog 4
  248.     XXX=result
  249.  
  250.     pp_GetDialog 5
  251.     YYY=result
  252.  
  253.     if Ptr=6 then DO
  254.         pp_Spline X Y XX YY XXX YYY
  255.     END
  256.     ELSE
  257.     DO
  258.         pp_SplineF X Y XX YY XXX YYY
  259.     END
  260. END
  261.  
  262. IF Ptr=5|Ptr=20 then DO
  263.     IF M0=5|M0=20 THEN DO
  264.         X=M1;Y=M2;XX=M3;YY=M4
  265.     END
  266.     ELSE
  267.     DO
  268.         X=0
  269.         Y=0
  270.         XX=W-1
  271.         YY=H-1
  272.     END
  273.  
  274.     pp_DialogInit 150 125 "*Line*" 4
  275.         pp_Integer 0 60 5 50 16 "Start*X" 1 X
  276.         pp_Integer 1 60 25 50 16 "Start*Y" 1 Y
  277.         pp_Integer 2 60 50 50 16 "End*X" 1 XX
  278.         pp_Integer 3 60 70 50 16 "End*Y" 1 YY        
  279.     pp_Dialog
  280.     rc=result
  281.     if rc=0 then
  282.         do
  283.             EXIT
  284.         end        
  285.         
  286.     pp_UpdateUndo    
  287.  
  288.     pp_GetDialog 0
  289.     X=result
  290.  
  291.     pp_GetDialog 1
  292.     Y=result
  293.  
  294.     pp_GetDialog 2
  295.     XX=result
  296.  
  297.     pp_GetDialog 3
  298.     YY=result
  299.  
  300.     pp_Line X Y XX YY
  301. END
  302.  
  303. IF Ptr=15|Ptr=16 then DO
  304.     pp_DialogInit 150 75 "*Polygon*" 2
  305.         pp_Integer 0 60 5 50 16 "Shift*X" 1 0
  306.         pp_Integer 1 60 25 50 16 "Shift*Y" 1 0
  307.     pp_Dialog
  308.     rc=result
  309.     if rc=0 then
  310.         do
  311.             EXIT
  312.         end    
  313.  
  314.     pp_UpdateUndo    
  315.  
  316.     pp_GetDialog 0
  317.     xx=result
  318.  
  319.     pp_GetDialog 1
  320.     yy=result
  321.  
  322.     file="Ram:T/ppdata"
  323.     IF OPEN("g",file, "read") then
  324.     DO
  325.         tind = READLN("g")
  326.         pp_StartPoly
  327.         DO i=1 to tind
  328.             x=READLN("g")+xx
  329.             y=READLN("g")+yy
  330.             pp_AddPoly x y
  331.         END
  332.  
  333.         IF Ptr=15 then DO
  334.             pp_EndPoly
  335.         END
  336.         ELSE
  337.         DO
  338.             pp_EndPolyF
  339.         END
  340.         call close(file)
  341.     END
  342. END    
  343.  
  344. IF Ptr=17|Ptr=18 then DO
  345.     pp_DialogInit 150 75 "*Bezier*" 2
  346.         pp_Integer 0 60 5 50 16 "Shift*X" 1 0
  347.         pp_Integer 1 60 25 50 16 "Shift*Y" 1 0
  348.     pp_Dialog
  349.     rc=result
  350.     if rc=0 then
  351.         do
  352.             EXIT
  353.         end    
  354.  
  355.     pp_UpdateUndo    
  356.  
  357.     pp_GetDialog 0
  358.     xx=result
  359.  
  360.     pp_GetDialog 1
  361.     yy=result
  362.  
  363.     file="Ram:T/ppdata"
  364.     IF OPEN("g",file, "read") then
  365.     DO
  366.         tind = READLN("g")
  367.         pp_StartPoly
  368.         DO i=1 to tind
  369.             x=READLN("g")+xx
  370.             y=READLN("g")+yy
  371.             pp_AddPoly x y
  372.         END
  373.         IF Ptr=17 then DO
  374.             pp_EndPolyS
  375.         END
  376.         ELSE
  377.         DO
  378.             pp_EndPolySF
  379.         END
  380.         call close(file)
  381.     END
  382. END
  383.  
  384. IF Ptr=9 then DO
  385.     pp_DialogInit 150 75 "*Draw*Point*" 2
  386.         pp_Integer 0 60 5 50 16 "Shift*X" 1 0
  387.         pp_Integer 1 60 25 50 16 "Shift*Y" 1 0
  388.     pp_Dialog
  389.     rc=result
  390.     if rc=0 then
  391.         do
  392.             EXIT
  393.         end    
  394.  
  395.     pp_UpdateUndo    
  396.  
  397.     pp_GetDialog 0
  398.     xx=result
  399.  
  400.     pp_GetDialog 1
  401.     yy=result
  402.  
  403.     file="Ram:T/ppdata"
  404.     IF OPEN("g",file, "read") then
  405.     DO
  406.         tind = READLN("g")
  407.         pp_StartPoly
  408.         DO i=1 to tind
  409.             x=READLN("g")+xx
  410.             y=READLN("g")+yy
  411.             pp_AddPoly x y
  412.         END
  413.         pp_EndPoint
  414.         call close(file)
  415.     END
  416. END
  417.  
  418. IF Ptr=10|Ptr=11|Ptr=23 then DO
  419.     pp_DialogInit 150 75 "*Free*Draw*" 2
  420.         pp_Integer 0 60 5 50 16 "Shift*X" 1 0
  421.         pp_Integer 1 60 25 50 16 "Shift*Y" 1 0
  422.     pp_Dialog
  423.     rc=result
  424.     if rc=0 then
  425.         do
  426.             EXIT
  427.         end    
  428.  
  429.     pp_UpdateUndo    
  430.  
  431.     pp_GetDialog 0
  432.     xx=result
  433.  
  434.     pp_GetDialog 1
  435.     yy=result
  436.  
  437.     file="Ram:T/ppdata"
  438.     IF OPEN("g",file, "read") then
  439.     DO
  440.         tind = READLN("g")
  441.         pp_StartPoly
  442.         DO i=1 to tind
  443.             x=READLN("g")+xx
  444.             y=READLN("g")+yy
  445.             pp_AddPoly x y
  446.         END
  447.         IF Ptr=10 then DO
  448.             pp_EndPointL
  449.         END
  450.         ELSE
  451.         DO
  452.             pp_EndPointLF
  453.         END
  454.         call close(file)
  455.     END
  456. END
  457.  
  458.     
  459.  
  460.