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
|