Post by Rod on Apr 6, 2022 9:24:49 GMT -5
This relates to the Scrabble code but is an extract of drawx.bas to show the issue. It appears some mouse tracking is not happy when a sub is used.
This works:
This sub version does not, unless I have a stupid coding mistake. But it mirrors what happens in Scrabble Assist.bas
This works:
nomainwin
graphicbox #1.graph, 5, 37, 300, 200
WindowWidth = 312
WindowHeight = 282
open "Liberty Draw" for window as #1
print #1, "trapclose [quit]"
print #1.graph, "when rightButtonUp [cls]"
print #1.graph, "down"
print #1.graph, "color black"
[setForLine]
print #1.graph, "when leftButtonDown [startDraw]"
print #1.graph, "when leftButtonMove [firstLine]"
print #1.graph, "when leftButtonUp [finishLine]"
wait
[startDraw]
startX = MouseX
startY = MouseY
print #1.graph, "place "; startX; " "; startY
wait
[firstLine]
print #1.graph, "when leftButtonMove [trackLine]"
print #1.graph, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
oMouseY = MouseY
oMouseX = MouseX
wait
[trackLine]
print #1.graph, "color white"
print #1.graph, "line "; startX; " "; startY; " "; oMouseX; " "; oMouseY
print #1.graph, "color black"
print #1.graph, "place "; startX; " "; startY
print #1.graph, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
oMouseY = MouseY
oMouseX = MouseX
wait
[finishLine]
print #1.graph, "when leftButtonMove [firstLine]"
print #1.graph, "discard"
print #1.graph, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
print #1.graph, "flush ; redraw"
wait
[cls]
print #1.graph, "cls"
wait
[quit]
close #1
end
This sub version does not, unless I have a stupid coding mistake. But it mirrors what happens in Scrabble Assist.bas
'nomainwin
global startX,startY,oMouseX,oMouseY
graphicbox #1.graph, 5, 37, 300, 200
WindowWidth = 312
WindowHeight = 282
open "Liberty Draw" for window as #1
print #1, "trapclose quit"
print #1.graph, "when rightButtonUp clearscreen"
print #1.graph, "down"
print #1.graph, "color black"
print #1.graph, "when leftButtonDown startDraw"
print #1.graph, "when leftButtonMove firstLine"
print #1.graph, "when leftButtonUp finishLine"
wait
sub startDraw
print "got start"
startX = MouseX
startY = MouseY
print #1.graph, "place "; startX; " "; startY
end sub
sub firstLine
print "Got firstline"
print #1.graph, "when leftButtonMove trackLine"
print #1.graph, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
oMouseY = MouseY
oMouseX = MouseX
end sub
sub trackLine
print #1.graph, "color white"
print #1.graph, "line "; startX; " "; startY; " "; oMouseX; " "; oMouseY
print #1.graph, "color black"
print #1.graph, "place "; startX; " "; startY
print #1.graph, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
oMouseY = MouseY
oMouseX = MouseX
end sub
sub finishLine
print #1.graph, "when leftButtonMove firstLine"
print #1.graph, "discard"
print #1.graph, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
print #1.graph, "flush ; redraw"
end sub
sub clearscreen
print "got clearscreen"
print #1.graph, "cls"
end sub
sub quit h$
close #1
end sub