BBjDrawPanel::setPattern

Description

In BBj 16.0 and higher, this method sets the pen pattern for lines and outlines of objects drawn on the BBjDrawPanel.

Syntax

Return Value

Method

void

setPattern(int pattern)

Parameters

Variable

Description

pattern

Pen pattern from the following list:

  • 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.

Return Value

None.

Remarks

None.

Example

rem ' BBjDrawPanel::setPattern

sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
title$ = "BBjDrawPanel::setPattern"
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")
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 Settings

BBjDrawPanel::getPattern()

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