home *** CD-ROM | disk | FTP | other *** search
/ PC User 2001 August / APC_Aug2001_CD2.iso / features / devtools / files / lb202win.exe / LB202W.EXE / DRAW_R.BAS < prev    next >
Encoding:
BASIC Source File  |  2000-12-07  |  5.0 KB  |  194 lines

  1.  
  2.     nomainwin
  3.  
  4.     lineThickness$ = "1"
  5.  
  6.     menu #1, &Object, "&Line", [setForLine], &Ellipse, [setForEllipse], &Box, [setForBox]
  7.     menu #1, &Color, &Red, [colorRed], &Yellow, [colorYellow], &Green, [colorGreen], &Blue, [colorBlue]
  8.     menu #1, &Drawing, "&Line Thickness", [lineThickness], "&Print", [printIt]
  9.  
  10.     bmpbutton #1, "bmp\redbttn.bmp", [colorRed], UL, 5, 5
  11.     bmpbutton #1, "bmp\yllwbttn.bmp", [colorYellow], UL, 40, 5
  12.     bmpbutton #1, "bmp\grnbttn.bmp", [colorGreen], UL, 75, 5
  13.     bmpbutton #1, "bmp\bluebttn.bmp", [colorBlue], UL, 110, 5
  14.     bmpbutton #1, "bmp\panbttn.bmp", [setForPan], UR, 110, 5
  15.     bmpbutton #1, "bmp\circbttn.bmp", [setForEllipse], UR, 40, 5
  16.     bmpbutton #1, "bmp\sqrbttn.bmp", [setForBox], UR, 5, 5
  17.     bmpbutton #1, "bmp\linebttn.bmp", [setForLine], UR, 75, 5
  18.  
  19.     graphicbox #1.graph, 5, 37, 300, 200
  20.  
  21.     WindowWidth = 312
  22.     WindowHeight = 282
  23.  
  24.     open "Liberty Draw" for window as #1
  25.     print #1, "trapclose [quit]"
  26.     print #1.graph, "down"
  27.     print #1.graph, "fill white ; flush"
  28.     print #1.graph, "when rightButtonUp [cls]"
  29.     print #1.graph, "color black"
  30.     scan
  31.     print #1, "resizehandler [resized]"
  32.     goto [setForLine]
  33.  
  34. [inputLoop]
  35.     input r$
  36.     goto [inputLoop]
  37.  
  38. [startDraw]
  39.     startX = MouseX
  40.     startY = MouseY
  41.     print #1.graph, "place "; startX; " "; startY
  42.     goto [inputLoop]
  43.  
  44. [firstLine]
  45.     print #1.graph, "when leftButtonMove [trackLine]"
  46.     print #1.graph, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
  47.     oMouseY = MouseY
  48.     oMouseX = MouseX
  49.     goto [inputLoop]
  50.  
  51. [firstFrame]
  52.     print #1.graph, "when leftButtonMove [trackBox]"
  53.     print #1.graph, "box "; MouseX; " "; MouseY
  54.     oMouseY = MouseY
  55.     oMouseX = MouseX
  56.     goto [inputLoop]
  57.  
  58. [trackBox]
  59.     print #1.graph, "color white"
  60.     print #1.graph, "box "; oMouseX; " "; oMouseY
  61.     print #1.graph, "color black"
  62.     print #1.graph, "place "; startX; " "; startY
  63.     print #1.graph, "box "; MouseX; " "; MouseY
  64.     oMouseY = MouseY
  65.     oMouseX = MouseX
  66.     goto [inputLoop]
  67.  
  68. [trackLine]
  69.     print #1.graph, "color white"
  70.     print #1.graph, "line "; startX; " "; startY; " "; oMouseX; " "; oMouseY
  71.     print #1.graph, "color black"
  72.     print #1.graph, "place "; startX; " "; startY
  73.     print #1.graph, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
  74.     oMouseY = MouseY
  75.     oMouseX = MouseX
  76.     goto [inputLoop]
  77.  
  78. [finishLine]
  79.     print #1.graph, "when leftButtonMove [firstLine]"
  80.     print #1.graph, "discard"
  81.     print #1.graph, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
  82.     print #1.graph, "flush ; redraw"
  83.     goto [inputLoop]
  84.  
  85. [finishBox]
  86.     print #1.graph, "when leftButtonMove [firstFrame]"
  87.     print #1.graph, "discard"
  88.     print #1.graph, "boxfilled "; MouseX; " "; MouseY
  89.     print #1.graph, "flush ; redraw"
  90.     goto [inputLoop]
  91.  
  92. [finishEllipse]
  93.     print #1.graph, "when leftButtonMove [firstFrame]"
  94.     print #1.graph, "discard"
  95.     print #1.graph, "place "; int((startX+MouseX)/2); " ";  int((startY+MouseY)/2)
  96.     print #1.graph, "ellipsefilled "; abs(MouseX-startX); " "; abs(MouseY-startY)
  97.     print #1.graph, "flush ; redraw"
  98.     goto [inputLoop]
  99.  
  100. [cls]
  101.     print #1.graph, "cls"
  102.     print #1.graph, "fill white ; flush"
  103.     goto [inputLoop]
  104.  
  105.  
  106. [setForLine]
  107.  
  108.     print #1.graph, "when leftButtonDown [startDraw]"
  109.     print #1.graph, "when leftButtonMove [firstLine]"
  110.     print #1.graph, "when leftButtonUp [finishLine]"
  111.     goto [inputLoop]
  112.  
  113. [setForBox]
  114.  
  115.     print #1.graph, "when leftButtonDown [startDraw]"
  116.     print #1.graph, "when leftButtonMove [firstFrame]"
  117.     print #1.graph, "when leftButtonUp [finishBox]"
  118.     goto [inputLoop]
  119.  
  120. [setForEllipse]
  121.  
  122.     print #1.graph, "when leftButtonDown [startDraw]"
  123.     print #1.graph, "when leftButtonMove [firstFrame]"
  124.     print #1.graph, "when leftButtonUp [finishEllipse]"
  125.     goto [inputLoop]
  126.  
  127. [setForPan]
  128.  
  129.     filedialog "Get *.bmp file", "bmp\*.bmp", panFile$
  130.     if panFile$ = "" then [inputLoop]
  131.  
  132.     loadbmp "panWithMe", panFile$
  133.     print #1.graph, "when leftButtonDown [drawBmp]"
  134.     print #1.graph, "when leftButtonMove [drawBmp]"
  135.     print #1.graph, "when leftButtonUp [flushBmp]"
  136.     goto [inputLoop]
  137.  
  138. [drawBmp]
  139.  
  140.     print #1.graph, "drawbmp panWithMe "; MouseX; " "; MouseY
  141.     goto [inputLoop]
  142.  
  143. [flushBmp]
  144.  
  145.     print #1.graph, "flush"
  146.     goto [inputLoop]
  147.  
  148. [colorRed]
  149.  
  150.     print #1.graph, "backcolor red"
  151.     goto [inputLoop]
  152.  
  153.  
  154. [colorYellow]
  155.  
  156.     print #1.graph, "backcolor yellow"
  157.     goto [inputLoop]
  158.  
  159.  
  160. [colorGreen]
  161.  
  162.     print #1.graph, "backcolor green"
  163.     goto [inputLoop]
  164.  
  165.  
  166. [colorBlue]
  167.  
  168.     print #1.graph, "backcolor blue"
  169.     goto [inputLoop]
  170.  
  171.  
  172. [lineThickness]
  173.  
  174.     prompt "Line Thickness"; lineThickness$
  175.     print #1.graph, "size "; lineThickness$
  176.     goto [inputLoop]
  177.  
  178.  
  179. [printIt]
  180.  
  181.     print #1.graph, "print"
  182.     goto [inputLoop]
  183.  
  184.  
  185. [resized]
  186.     print #1.graph, "locate 4 36 "; WindowWidth - 8; " "; WindowHeight - 8 - 32
  187.     print #1, "refresh"
  188.     goto [inputLoop]
  189.  
  190. [quit]
  191.  
  192.     close #1
  193.     end
  194.