BBjDrawPanel::getPattern

Description

In BBj 16.0 and higher, this method returns the current BBjDrawPanel pen pattern.

Syntax

Return Value

Method

int

getPattern()

Parameters

None.

Return Value

Returns the current pen pattern:

  • 0 = Solid line (default)

  • 1 = Alternate between 8 opaque pixels and 4 transparent pixels

  • 2 = Alternate between 12 opaque pixels and 4 transparent pixels

  • 3 = Alternate between 16 opaque pixels and 4 transparent pixels

  • 4 = Alternate between 2 opaque pixels and 2 transparent pixels

  • 5 = Alternate between 4 opaque pixels and 4 transparent pixels

  • 6 = Alternate between 6 opaque pixels and 6 transparent pixels

  • 7 = Alternate between pattern 1 and pattern 4

  • 8 = Alternate between pattern 2 and pattern 5

  • 9 = Alternate between pattern 3 and pattern 6

Remarks

None.

Example

rem ' BBjDrawPanel::getPattern

sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
title$ = "BBjDrawPanel::getPattern"
window! = sysgui!.addWindow(25,25,1200,750,title$,$00090003$)
window!.setCallback(window!.ON_CLOSE,"eoj")
window!.setTrack(0)
window!.setFont(sysgui!.makeFont("Arial",8,0))
drawpanel! = window!.getDrawPanel()
drawpanel!.setPenColor(BBjColor.BLUE)
drawpanel!.setFillColor(BBjColor.GREEN)
drawpanel!.setTextColor(BBjColor.BLUE)
drawpanel!.setRound(5,5)
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")
print "BBjDrawPanel::getPattern =",drawpanel!.getPattern()
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,"setPattern("+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!)
    print "BBjDrawPanel::getPattern =",drawpanel!.getPattern()
next i
process_events

eoj:
release

See Also

BBjAPI

BBjSysGui

BBjWindow

BBjDrawPanel

PATTERN Mnemonic - Set SYSGUI/SYSPLOT Pen Pattern

BBjDrawPanel::setPattern()

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