BBjDrawPanel::getTrack

Description

In BBj 16.0 and higher, this method returns a boolean indicating whether BBjDrawPanelitems will be resized when the window is resized.

Syntax

Return Value

Method

boolean

getTrack()

Parameters

None.

Return Value

Returns a boolean indicating whether BBjDrawPanel items will be resized when the window is resized items will be resized when the window is resized

Remarks

By default, tracking (resizing) is enabled.

Example

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

See Also

BBjAPI

BBjSysGui

BBjWindow

BBjDrawPanel

BBjWindow::setTrack

See the BBj Object Diagram for an illustration of the relationship between BBj Objects.