ShapeStyle
The concrete paint a shape renders with — fill and stroke colors, stroke geometry, and the open-stroke line cap. Every field holds a definite value; there is no "unspecified" state and no cascade.
"No paint" is spelled ShapeColor.NONE and "no thickness" 0.0, which is what the bare constructor defaults every field to: ShapeStyle(fill = X) leaves size and strokeWidth at zero — a visible color on an invisibly sized shape. Start from a per-shape constant and copy it (ShapeStyle.POINT.copy(fill = X)) unless invisibility is meant.
Constructors
Properties
The interior paint — also the marker color of point-like shapes; ShapeColor.NONE paints nothing.
The outline paint; ShapeColor.NONE paints nothing.
How open strokes terminate — inert on closed shapes; ShapeStrokeCap.BUTT by default.
The outline thickness, renderer-interpreted; 0.0 paints nothing.