rem ' BBjDrawPanel::getTrack
sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
title$ = "BBjDrawPanel::getTrack"
window! = sysgui!.addWindow(25,25,1200,750,title$,$00090003$)
window!.setCallback(window!.ON_CLOSE,"eoj")
window!.setFont(sysgui!.makeFont("Arial",8,0))
setTrack! = window!.addCheckBox(101,5,5,100,25,"setTrack",$0004$)
setTrack!.setCallback(setTrack!.ON_CHECK_ON,"setTrack1")
setTrack!.setCallback(setTrack!.ON_CHECK_OFF,"setTrack0")
drawpanel! = window!.getDrawPanel()
drawpanel!.setPenColor(BBjColor.BLUE)
drawpanel!.setFillColor(BBjColor.GREEN)
drawpanel!.setTextColor(BBjColor.BLUE)
drawpanel!.setRound(5,5)
drawpanel!.drawText(10,55,"drawPoint")
drawpanel!.drawText(10,100,"drawRect")
drawpanel!.drawText(10,175,"drawArc")
drawpanel!.drawText(10,225,"drawArc")
drawpanel!.drawText(10,325,"drawEllipse")
drawpanel!.drawText(10,400,"drawArrow")
drawpanel!.drawText(10,450,"drawArrow")
drawpanel!.drawText(10,500,"drawLine")
drawpanel!.drawText(10,575,"drawPolygon")
drawpanel!.drawText(10,675,"drawPolyline")
for i = 0 to 10
x = i * 100 + 25
drawpanel!.setFillType(i)
drawpanel!.setPattern(i)
drawpanel!.setPenWidth((i+1)*0.25)
drawpanel!.drawPoint(x+100,50)
drawpanel!.drawText(x+85,25,"setFillType("+str(i)+")")
drawpanel!.drawRect(x+75,75,75,50)
r1 = i * Math.PI / 2
r2 = r1 + Math.PI / 2
drawpanel!.drawArc(x+100,175,25,1,r1,r2,1)
drawpanel!.drawArc(x+100,225,25,1,r1,r2,0)
drawpanel!.drawEllipse(x+75,275,75,50)
adj = (i-5) * 5
drawpanel!.moveTo(x+75,400)
drawpanel!.drawArrow(x+150,400+adj,0,1)
drawpanel!.moveTo(x+75,450)
drawpanel!.drawArrow(x+150,450+adj,1,0)
drawpanel!.drawLine(x+75,500,x+150,525)
points = i + 3
list! = bbjapi().makeVector()
for point = 0 to points-1
angle = point * 2 * Math.PI / points
px = int(40 * cos(angle) + 110 + x)
py = int(40 * sin(angle) + 600)
list!.add(px)
list!.add(py)
next point
drawpanel!.drawPolygon(list!)
list! = bbjapi().makeVector()
for point = 0 to points-1
angle = point * 2 * Math.PI / points
px = int(40 * cos(angle) + 110 + x)
py = int(40 * sin(angle) + 700)
list!.add(px)
list!.add(py)
next point
drawpanel!.drawPolyline(list!)
next i
process_events
eoj:
release
setTrack0:
window!.setTrack(0)
gosub getTrack
return
setTrack1:
window!.setTrack(1)
gosub getTrack
return
getTrack:
track$ = Boolean.toString(drawpanel!.getTrack())
print "BBjDrawPanel::getTrack = ",track$
return
|