Debug_Mouse_buttons_demo{Object_Title_and_Purpose} CON CONSTANT_NAME = 0 _clkfreq = 200_000_000 gray1 = $f0f0f0 gray2 = $e0e0e0 gray3 = $d0d0d0 gray4 = $c0c0c0 gray5 = $b0b0b0 gray6 = $a0a0a0 gray7 = $909090 green1 = $00ff00 faintgreen = $80ff80 faintred = $ff8080 VAR long bRow1 long bCol1 long symbol long xpos 'PC_MOUSE record (6 contiguous longs) long ypos long wheeldelta long lbutton long mbutton long rbutton long key 'PC_KEY long oldxpos 'PC_MOUSE record (6 contiguous longs) long oldypos long oldwheeldelta long oldlbutton long oldmbutton long oldrbutton long oldkey long mbutton1,mbutton2,mbutton3,mbutton4 'momentary buttons long tbutton1,tbutton2,tbutton3,tbutton4 'toggle buttons long slider1, oldslider1 PUB main() bRow1 := 150 bCol1 := 30 slider1 := 150 oldslider1 := 150 debug(`plot myplot color blue title 'Button Control Demo' hidexy) debug(`myplot color `(faintgreen) set (30,30) obox 50,50,5,5 color blue text 7 'button1' set(30,40) text 6 'momentary' set(30,20) text 8 'OFF' ) debug(`myplot color $c0c0c0 set (30,30) obox 50,50,5,5,4 ) debug(`myplot color $e0e0e0 set (90,30) obox 50,50,5,5 color blue text 7 'Button2' set(90,40) text 6 'momentary' ) debug(`myplot color $c0c0c0 set (90,30) obox 50,50,5,5,4 ) debug(`myplot color $c0c0c0 set (150,30) circle 12,12 ) debug(`myplot color white set (150,30) circle 8,8 set (205,30) color white text 8 'Toggle button 1) debug(`myplot color $c0c0c0 set (150,50) circle 12,12 ) debug(`myplot color white set (150,50) circle 8,8 set (205,50) color white text 8 'Toggle button 2) debug(`myplot color `(gray5) set (100,100) line 200,100,3 ) debug(`myplot color $c0c0c0 set (150,100) circle 12,12 set (225,100) color white text '`(slider1)') ) debug(`myplot color white set (150,100) circle 8,8 set (160,80) color white text 10 'Slider 1) repeat debug(`myplot `pc_mouse(@xpos)) 'read PC mouse debug(`myplot `pc_key(@key)) 'read PC keyboard if lbutton and !oldlbutton 'If left button just went high.... case xpos 145..155 :case ypos 25..35 : if tbutton1 debug(`myplot color white set (150,30) circle 8,8 ) tbutton1 := false else debug(`myplot color red set (150,30) circle 8,8) tbutton1 := true 45..55 : if tbutton2 debug(`myplot color white set (150,50) circle 8,8 ) tbutton2 := false else debug(`myplot color `(gray6) set (150,50) circle 8,8) tbutton2 := true 65..115 :case ypos 5..55 : debug(`myplot color red set (90,30) obox 50,50,5,5 color blue text 7 'Button2' set(90,40) text 6 'momentary') debug(`myplot color $a0a0a0 set (90,30) obox 50,50,5,5,4 ) mbutton2 := true 5..55 :case ypos 5..55 : debug(`myplot color `(green1) set (30,30) obox 50,50,5,5 color blue text 7 'Button1' set(30,40) text 6 'momentary' set(30,20) text 8 'ON' ) debug(`myplot color $e0e0e0 set (30,30) obox 50,50,5,5,4 ) mbutton1 := true if lbutton case xpos slider1-15..slider1+15 : case ypos 90..110 : slider1 := xpos if slider1 > 200 slider1 := 200 if slider1 < 100 slider1 := 100 if slider1 <> oldslider1 debug(`myplot color black set `(oldslider1,100) circle 13,13 ) debug(`myplot color `(gray5) set (100,100) line 200,100,3 ) debug(`myplot color `(gray4) set `(slider1,100) circle 12,12 set (225,100) color black text '`(oldslider1)' set (225,100) color white text '`(slider1)' ) debug(`myplot color white set `(slider1,100) circle 8,8) oldslider1 := slider1 if key 'print any key value at the mouse pointer debug(`myplot set `(xpos, ypos) text '`(key)') if !lbutton and oldlbutton 'If left button just went low.... if mbutton1 debug(`myplot color `(faintgreen) set (30,30) obox 50,50,5,5 color blue text 7 'Button1' set(30,40) text 6 'momentary' set(30,20) text 8 'OFF' ) debug(`myplot color $c0c0c0 set (30,30) obox 50,50,5,5,4 ) mbutton1 := false if mbutton2 debug(`myplot color $white set (90,30) obox 50,50,5,5 color blue text 7 'Button2' set(90,40) text 6 'momentary') debug(`myplot color $c0c0c0 set (90,30) obox 50,50,5,5,4 ) mbutton2 := false oldlbutton := lbutton oldmbutton := mbutton oldrbutton := rbutton waitms(50) DAT name byte "string_data",0