const virtual class vaseGraphics::Pen

sys::Obj
  vaseGraphics::Pen

@Js
@Serializable { simple=true }

Pen defines how a shape is stroked.

cap

const Int cap := capSquare

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

capButt

const static Int capButt := 1

Constant for cap

capRound

const static Int capRound := 2

Constant for cap

capSquare

const static Int capSquare := 0

Constant for cap

capToStr

Str capToStr()

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

dash

const List<Int>? dash

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

Note: dashes not supported in javascript

defVal

const static Pen defVal := Pen.make() Func<Void,Pen> { ... }

Default pen is width of 1 with capSquare and joinMiter.

equals

virtual override Bool equals(Obj? obj)

Equality is based on Pen's fields.

fromStr

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.

hash

virtual override Int hash()

Hash the fields.

join

const Int join := joinMiter

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

joinBevel

const static Int joinBevel := 1

Constant for join

joinMiter

const static Int joinMiter := 0

Constant for join

joinRound

const static Int joinRound := 3

Constant for join

joinToStr

Str joinToStr()

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

make

new make(Func<Void,This> f)

Construct with it-block

toStr

virtual override Str toStr()

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

width

const Int width := 1

Width of the stroke, default is 1.