home *** CD-ROM | disk | FTP | other *** search
-
- 'Example drawing program for Liberty BASIC for OS/2
- 'This newer version uses the rule xor command
-
- 'no main window, please
- nomainwin
-
- lineThickness$ = "1"
- color$ = "black"
-
- menu #1, &Object, &Line, [setForLine], &Ellipse, [setForEllipse], &Box, [setForBox]
- menu #1, &Color, &Red, [colorRed], &Yellow, [colorYellow], &Green, [colorGreen], &Blue, [colorBlue]
- menu #1, &Drawing, "&Line Thickness", [lineThickness], "&Print", [printIt]
-
- bmpbutton #1, "redbttn.bmp", [colorRed], UL, 5, 5
- bmpbutton #1, "yllwbttn.bmp", [colorYellow], UL, 40, 5
- bmpbutton #1, "grnbttn.bmp", [colorGreen], UL, 75, 5
- bmpbutton #1, "bluebttn.bmp", [colorBlue], UL, 110, 5
- bmpbutton #1, "circbttn.bmp", [setForEllipse], UR, 40, 5
- bmpbutton #1, "sqrbttn.bmp", [setForBox], UR, 5, 5
- bmpbutton #1, "linebttn.bmp", [setForLine], UR, 75, 5
-
- open "Liberty Draw" for graphics_fs_nsb as #1
- print #1, "trapclose [quit]"
- print #1, "when leftButtonDown [startDraw]"
- print #1, "when rightButtonUp [cls]"
- print #1, "down"
- print #1, "color black"
- goto [setForLine]
-
- [inputLoop]
- input r$
- goto [inputLoop]
-
- [startDraw]
- startX = MouseX
- startY = MouseY
- print #1, "place "; startX; " "; startY
- goto [inputLoop]
-
- [firstLine]
- print #1, "when leftButtonMove [trackLine]"
- print #1, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
- oMouseY = MouseY
- oMouseX = MouseX
- goto [inputLoop]
-
- [firstFrame]
- print #1, "when leftButtonMove [trackBox]"
- print #1, "box "; MouseX; " "; MouseY
- oMouseY = MouseY
- oMouseX = MouseX
- goto [inputLoop]
-
- [trackBox]
- 'print #1, "color white"
- print #1, "box "; oMouseX; " "; oMouseY
- print #1, "color black"
- print #1, "place "; startX; " "; startY
- print #1, "box "; MouseX; " "; MouseY
- oMouseY = MouseY
- oMouseX = MouseX
- goto [inputLoop]
-
- [trackEllipse]
- 'print #1, "color white"
- print #1, "box "; oMouseX; " "; oMouseY
- print #1, "color black"
- print #1, "place "; startX; " "; startY
- print #1, "box "; MouseX; " "; MouseY
- oMouseY = MouseY
- oMouseX = MouseX
- goto [inputLoop]
-
- [trackLine]
- 'print #1, "color white"
- print #1, "line "; startX; " "; startY; " "; oMouseX; " "; oMouseY
- print #1, "color black"
- print #1, "place "; startX; " "; startY
- print #1, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
- oMouseY = MouseY
- oMouseX = MouseX
- goto [inputLoop]
-
- [finishLine]
- print #1, "when leftButtonMove [firstLine]"
- print #1, "discard"
- print #1, "rule over"
- print #1, "color "; color$; " ; line "; startX; " "; startY; " "; MouseX; " "; MouseY
- print #1, "flush ; rule xor"
- goto [inputLoop]
-
- [finishBox]
- print #1, "when leftButtonMove [firstFrame]"
- print #1, "discard"
- print #1, "color "; color$; " ; rule over ; box "; MouseX; " "; MouseY
- print #1, "flush ; rule xor"
- goto [inputLoop]
-
- [finishEllipse]
- print #1, "when leftButtonMove [firstFrame]"
- print #1, "box "; oMouseX; " "; oMouseY
- print #1, "discard"
- print #1, "place "; int((startX+MouseX)/2); " "; int((startY+MouseY)/2)
- print #1, "color "; color$; " ; rule over ; ellipse "; abs(MouseX-startX); " "; abs(MouseY-startY)
- print #1, "flush ; rule xor"
- goto [inputLoop]
-
- [cls]
- print #1, "cls"
- goto [inputLoop]
-
-
- [setForLine]
-
- print #1, "rule xor"
- print #1, "when leftButtonMove [firstLine]"
- print #1, "when leftButtonUp [finishLine]"
- goto [inputLoop]
-
- [setForBox]
-
- print #1, "when leftButtonMove [firstFrame]"
- print #1, "when leftButtonUp [finishBox]"
- goto [inputLoop]
-
- [setForEllipse]
-
- print #1, "when leftButtonMove [firstFrame]"
- print #1, "when leftButtonUp [finishEllipse]"
- goto [inputLoop]
-
-
- [colorRed]
-
- color$ = "red"
- goto [inputLoop]
-
-
- [colorYellow]
-
- color$ = "yellow"
- goto [inputLoop]
-
-
- [colorGreen]
-
- color$ = "green"
- goto [inputLoop]
-
-
- [colorBlue]
-
- color$ = "blue"
- goto [inputLoop]
-
-
- [lineThickness]
-
- prompt "Line Thickness"; lineThickness$
- print #1, "size "; lineThickness$
- goto [inputLoop]
-
-
- [printIt]
-
- print #1, "print"
- goto [inputLoop]
-
-
- [quit]
-
- confirm "Quit Draw?"; answer$
- if answer$ <> "yes" then [inputLoop]
- close #1
-
- 'end of program
- end
-