rem ' BBjWindow::getDrawPanel
sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
title$ = "BBjWindow::getDrawPanel"
window! = sysgui!.addWindow(25,25,1200,750,title$,$00090003$)
window!.setCallback(window!.ON_CLOSE,"eoj")
window!.setTrack(0)
window!.setFont(sysgui!.makeFont("Courier New",10,0))
drawpanel! = window!.getDrawPanel()
drawpanel!.setPattern(3)
drawpanel!.setPenColor(BBjColor.BLUE)
drawpanel!.setFillColor(BBjColor.GREEN)
drawpanel!.setTextColor(BBjColor.BLUE)
drawpanel!.setRound(3,3)
drawpanel!.drawText(10,25,"Shape")
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 fill = 0 to 10
x = fill * 100 + 25
drawpanel!.setFillType(fill)
drawpanel!.setPattern(fill)
drawpanel!.setPenWidth((fill+1)*0.25)
drawpanel!.drawPoint(x+100,50)
drawpanel!.drawText(x+85,25,"setFillType("+str(fill)+")")
drawpanel!.drawRect(x+75,75,75,50)
r1 = fill * 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 = (fill-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 = fill + 3
list! = bbjapi().makeVector()
for point = 0 to points-1
i = point * 2 * Math.PI / points
px = int(40 * Math.cos(i) + 110 + x)
py = int(40 * Math.sin(i) + 600)
list!.add(px)
list!.add(py)
next point
drawpanel!.drawPolygon(list!)
list! = bbjapi().makeVector()
for point = 0 to points-1
i = point * 2 * Math.PI / points
px = int(40 * Math.cos(i) + 110 + x)
py = int(40 * Math.sin(i) + 700)
list!.add(px)
list!.add(py)
next point
drawpanel!.drawPolyline(list!)
next fill
process_events
eoj:
release
|