Skip to content

API reference / Common / Engine types / PathObject

Interface: PathObject ​

A path painted with an optional fill and/or stroke.

fill and stroke are boolean flags selecting which paint sides apply; the corresponding nonstroking_style and stroking_style are always present even when the side doesn't paint. This preserves the gs state at the time of capture (so round-trip emit knows what state to set up, and an editor toggle "turn on stroke" keeps the color/width already there) and mirrors PDF semantics where gs always has a complete state; operators select what gets applied, they don't conditionally exist.

winding_rule selects PDF f vs f* for the fill operator; it applies only when fill is true, but is preserved otherwise so round-trip emit can recover the original operator.

Properties ​

PropertyDescription
path
Path
Path geometry, shared via [Arc] so the layout's ComposedPathObject can hold the same allocation rather than deep-cloning it (path data dominates a PathObject's size). Editing geometry replaces the Arc with a fresh one — see the model's "edit a sub-piece by replacing the containing field" convention on [GraphicsObjectId].
windingRule
WindingRule
-
nonstrokingStyle
NonstrokingStyle
-
strokingStyle
StrokingStyle
-
fill
boolean
-
stroke
boolean
-
renderStyle
RenderStyle
-
softMask
string | null
-