Fantom

 

const class

gfx::Pen

sys::Obj
  gfx::Pen

@simple
@js

Pen defines how a shape is stroked.

Slots

capSource

const Int cap := capSquare

Defines how two ends of unjoined segements are stroked. Valid values are capSquare, capButt, and capRound. Default is capSquare.

capButtSource

static Int capButt := 1

Constant for cap

capRoundSource

static Int capRound := 2

Constant for cap

capSquareSource

static Int capSquare := 0

Constant for cap

capToStrSource

Str capToStr()

Return "square", "butt", "round"

dashSource

const Int[]? dash

Dash pattern as on/off again lengths. If null then shapes are stroked solid.

Note: dashes not supported in javascript

defValSource

static Pen defVal := Pen.make() |Pen->Void| { ... }

Default pen is width of 1 with capSquare and joinMiter.

equalsSource

override Bool equals(Obj? obj)

Overrides sys::Obj.equals

Equality is based on Pen's fields.

fromStrSource

static Pen? fromStr(Str str, Bool checked := true)

Parse a pen from string (see toStr). If invalid and checked is true then throw ParseErr otherwise return null.

hashSource

override Int hash()

Overrides sys::Obj.hash

Hash the fields.

joinSource

const Int join := joinMiter

Defines how two path segments are joined at the endpoints. Valid values are joinMiter, joinRound, and joinBevel. Default is joinMiter.

joinBevelSource

static Int joinBevel := 1

Constant for join

joinMiterSource

static Int joinMiter := 0

Constant for join

joinRoundSource

static Int joinRound := 3

Constant for join

joinToStrSource

Str joinToStr()

Return "miter", "round", "bevel"

makeSource

new make(|Pen| f)

Construct with it-block

toStrSource

override Str toStr()

Overrides sys::Obj.toStr

Return "width cap join dash" such as "2 capButt joinBevel [1,1]". Omit cap, join, or dash if at defaults.

widthSource

const Int width := 1

Width of the stroke, default is 1.