Documentation / @ripl/core / Path
Class: Path ​
Defined in: packages/core/src/elements/path.ts:31
A general-purpose shape rendered by a user-supplied path renderer callback.
Extends ​
Constructors ​
Constructor ​
new Path(
options):Path
Defined in: packages/core/src/elements/path.ts:67
Parameters ​
| Parameter | Type |
|---|---|
options | object & PathState & object & object |
Returns ​
Path
Overrides ​
Properties ​
| Property | Modifier | Type | Default value | Inherited from | Defined in |
|---|---|---|---|---|---|
abstract | public | boolean | false | Shape2D.abstract | packages/core/src/core/element.ts:289 |
autoFill | public | boolean | undefined | Shape2D.autoFill | packages/core/src/core/shape.ts:35 |
autoStroke | public | boolean | undefined | Shape2D.autoStroke | packages/core/src/core/shape.ts:34 |
classList | readonly | Set<string> | undefined | Shape2D.classList | packages/core/src/core/element.ts:287 |
clip | public | boolean | undefined | Shape2D.clip | packages/core/src/core/shape.ts:36 |
context? | protected | Context<Element, Record<string, unknown>> | undefined | Shape2D.context | packages/core/src/core/element.ts:283 |
data | public | unknown | undefined | Shape2D.data | packages/core/src/core/element.ts:292 |
id | public | string | undefined | Shape2D.id | packages/core/src/core/element.ts:285 |
parent? | public | Group<ElementEventMap> | undefined | Shape2D.parent | packages/core/src/core/element.ts:291 |
path? | protected | ContextPath | undefined | Shape2D.path | packages/core/src/core/shape.ts:32 |
pointerEvents | public | ElementPointerEvents | 'all' | Shape2D.pointerEvents | packages/core/src/core/element.ts:290 |
state | protected | PathState | undefined | Shape2D.state | packages/core/src/core/element.ts:282 |
type | readonly | string | undefined | Shape2D.type | packages/core/src/core/element.ts:286 |
defaultKey | readonly | typeof defaultKey | undefined | Shape2D.defaultKey | packages/core/src/core/disposer.ts:10 |
Accessors ​
direction ​
Get Signature ​
get direction():
TState["direction"]
Defined in: packages/core/src/core/element.ts:296
Returns ​
TState["direction"]
Set Signature ​
set direction(
value):void
Defined in: packages/core/src/core/element.ts:300
Parameters ​
| Parameter | Type |
|---|---|
value | TState["direction"] |
Returns ​
void
Inherited from ​
fill ​
Get Signature ​
get fill():
TState["fill"]
Defined in: packages/core/src/core/element.ts:304
Returns ​
TState["fill"]
Set Signature ​
set fill(
value):void
Defined in: packages/core/src/core/element.ts:308
Parameters ​
| Parameter | Type |
|---|---|
value | TState["fill"] |
Returns ​
void
Inherited from ​
filter ​
Get Signature ​
get filter():
TState["filter"]
Defined in: packages/core/src/core/element.ts:312
Returns ​
TState["filter"]
Set Signature ​
set filter(
value):void
Defined in: packages/core/src/core/element.ts:316
Parameters ​
| Parameter | Type |
|---|---|
value | TState["filter"] |
Returns ​
void
Inherited from ​
font ​
Get Signature ​
get font():
TState["font"]
Defined in: packages/core/src/core/element.ts:320
Returns ​
TState["font"]
Set Signature ​
set font(
value):void
Defined in: packages/core/src/core/element.ts:324
Parameters ​
| Parameter | Type |
|---|---|
value | TState["font"] |
Returns ​
void
Inherited from ​
globalCompositeOperation ​
Get Signature ​
get globalCompositeOperation():
TState["globalCompositeOperation"]
Defined in: packages/core/src/core/element.ts:336
Returns ​
TState["globalCompositeOperation"]
Set Signature ​
set globalCompositeOperation(
value):void
Defined in: packages/core/src/core/element.ts:340
Parameters ​
| Parameter | Type |
|---|---|
value | TState["globalCompositeOperation"] |
Returns ​
void
Inherited from ​
Shape2D.globalCompositeOperation
height ​
Get Signature ​
get height():
number
Defined in: packages/core/src/elements/path.ts:59
Returns ​
number
Set Signature ​
set height(
value):void
Defined in: packages/core/src/elements/path.ts:63
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
lineCap ​
Get Signature ​
get lineCap():
TState["lineCap"]
Defined in: packages/core/src/core/element.ts:344
Returns ​
TState["lineCap"]
Set Signature ​
set lineCap(
value):void
Defined in: packages/core/src/core/element.ts:348
Parameters ​
| Parameter | Type |
|---|---|
value | TState["lineCap"] |
Returns ​
void
Inherited from ​
lineDash ​
Get Signature ​
get lineDash():
TState["lineDash"]
Defined in: packages/core/src/core/element.ts:352
Returns ​
TState["lineDash"]
Set Signature ​
set lineDash(
value):void
Defined in: packages/core/src/core/element.ts:356
Parameters ​
| Parameter | Type |
|---|---|
value | TState["lineDash"] |
Returns ​
void
Inherited from ​
lineDashOffset ​
Get Signature ​
get lineDashOffset():
TState["lineDashOffset"]
Defined in: packages/core/src/core/element.ts:360
Returns ​
TState["lineDashOffset"]
Set Signature ​
set lineDashOffset(
value):void
Defined in: packages/core/src/core/element.ts:364
Parameters ​
| Parameter | Type |
|---|---|
value | TState["lineDashOffset"] |
Returns ​
void
Inherited from ​
lineJoin ​
Get Signature ​
get lineJoin():
TState["lineJoin"]
Defined in: packages/core/src/core/element.ts:368
Returns ​
TState["lineJoin"]
Set Signature ​
set lineJoin(
value):void
Defined in: packages/core/src/core/element.ts:372
Parameters ​
| Parameter | Type |
|---|---|
value | TState["lineJoin"] |
Returns ​
void
Inherited from ​
lineWidth ​
Get Signature ​
get lineWidth():
TState["lineWidth"]
Defined in: packages/core/src/core/element.ts:376
Returns ​
TState["lineWidth"]
Set Signature ​
set lineWidth(
value):void
Defined in: packages/core/src/core/element.ts:380
Parameters ​
| Parameter | Type |
|---|---|
value | TState["lineWidth"] |
Returns ​
void
Inherited from ​
miterLimit ​
Get Signature ​
get miterLimit():
TState["miterLimit"]
Defined in: packages/core/src/core/element.ts:384
Returns ​
TState["miterLimit"]
Set Signature ​
set miterLimit(
value):void
Defined in: packages/core/src/core/element.ts:388
Parameters ​
| Parameter | Type |
|---|---|
value | TState["miterLimit"] |
Returns ​
void
Inherited from ​
opacity ​
Get Signature ​
get opacity():
TState["opacity"]
Defined in: packages/core/src/core/element.ts:328
Returns ​
TState["opacity"]
Set Signature ​
set opacity(
value):void
Defined in: packages/core/src/core/element.ts:332
Parameters ​
| Parameter | Type |
|---|---|
value | TState["opacity"] |
Returns ​
void
Inherited from ​
rotation ​
Get Signature ​
get rotation():
TState["rotation"]
Defined in: packages/core/src/core/element.ts:488
Returns ​
TState["rotation"]
Set Signature ​
set rotation(
value):void
Defined in: packages/core/src/core/element.ts:492
Parameters ​
| Parameter | Type |
|---|---|
value | TState["rotation"] |
Returns ​
void
Inherited from ​
shadowBlur ​
Get Signature ​
get shadowBlur():
TState["shadowBlur"]
Defined in: packages/core/src/core/element.ts:392
Returns ​
TState["shadowBlur"]
Set Signature ​
set shadowBlur(
value):void
Defined in: packages/core/src/core/element.ts:396
Parameters ​
| Parameter | Type |
|---|---|
value | TState["shadowBlur"] |
Returns ​
void
Inherited from ​
shadowColor ​
Get Signature ​
get shadowColor():
TState["shadowColor"]
Defined in: packages/core/src/core/element.ts:400
Returns ​
TState["shadowColor"]
Set Signature ​
set shadowColor(
value):void
Defined in: packages/core/src/core/element.ts:404
Parameters ​
| Parameter | Type |
|---|---|
value | TState["shadowColor"] |
Returns ​
void
Inherited from ​
shadowOffsetX ​
Get Signature ​
get shadowOffsetX():
TState["shadowOffsetX"]
Defined in: packages/core/src/core/element.ts:408
Returns ​
TState["shadowOffsetX"]
Set Signature ​
set shadowOffsetX(
value):void
Defined in: packages/core/src/core/element.ts:412
Parameters ​
| Parameter | Type |
|---|---|
value | TState["shadowOffsetX"] |
Returns ​
void
Inherited from ​
shadowOffsetY ​
Get Signature ​
get shadowOffsetY():
TState["shadowOffsetY"]
Defined in: packages/core/src/core/element.ts:416
Returns ​
TState["shadowOffsetY"]
Set Signature ​
set shadowOffsetY(
value):void
Defined in: packages/core/src/core/element.ts:420
Parameters ​
| Parameter | Type |
|---|---|
value | TState["shadowOffsetY"] |
Returns ​
void
Inherited from ​
stroke ​
Get Signature ​
get stroke():
TState["stroke"]
Defined in: packages/core/src/core/element.ts:424
Returns ​
TState["stroke"]
Set Signature ​
set stroke(
value):void
Defined in: packages/core/src/core/element.ts:428
Parameters ​
| Parameter | Type |
|---|---|
value | TState["stroke"] |
Returns ​
void
Inherited from ​
textAlign ​
Get Signature ​
get textAlign():
TState["textAlign"]
Defined in: packages/core/src/core/element.ts:432
Returns ​
TState["textAlign"]
Set Signature ​
set textAlign(
value):void
Defined in: packages/core/src/core/element.ts:436
Parameters ​
| Parameter | Type |
|---|---|
value | TState["textAlign"] |
Returns ​
void
Inherited from ​
textBaseline ​
Get Signature ​
get textBaseline():
TState["textBaseline"]
Defined in: packages/core/src/core/element.ts:440
Returns ​
TState["textBaseline"]
Set Signature ​
set textBaseline(
value):void
Defined in: packages/core/src/core/element.ts:444
Parameters ​
| Parameter | Type |
|---|---|
value | TState["textBaseline"] |
Returns ​
void
Inherited from ​
transformOriginX ​
Get Signature ​
get transformOriginX():
TState["transformOriginX"]
Defined in: packages/core/src/core/element.ts:496
Returns ​
TState["transformOriginX"]
Set Signature ​
set transformOriginX(
value):void
Defined in: packages/core/src/core/element.ts:500
Parameters ​
| Parameter | Type |
|---|---|
value | TState["transformOriginX"] |
Returns ​
void
Inherited from ​
transformOriginY ​
Get Signature ​
get transformOriginY():
TState["transformOriginY"]
Defined in: packages/core/src/core/element.ts:504
Returns ​
TState["transformOriginY"]
Set Signature ​
set transformOriginY(
value):void
Defined in: packages/core/src/core/element.ts:508
Parameters ​
| Parameter | Type |
|---|---|
value | TState["transformOriginY"] |
Returns ​
void
Inherited from ​
transformScaleX ​
Get Signature ​
get transformScaleX():
TState["transformScaleX"]
Defined in: packages/core/src/core/element.ts:472
Returns ​
TState["transformScaleX"]
Set Signature ​
set transformScaleX(
value):void
Defined in: packages/core/src/core/element.ts:476
Parameters ​
| Parameter | Type |
|---|---|
value | TState["transformScaleX"] |
Returns ​
void
Inherited from ​
transformScaleY ​
Get Signature ​
get transformScaleY():
TState["transformScaleY"]
Defined in: packages/core/src/core/element.ts:480
Returns ​
TState["transformScaleY"]
Set Signature ​
set transformScaleY(
value):void
Defined in: packages/core/src/core/element.ts:484
Parameters ​
| Parameter | Type |
|---|---|
value | TState["transformScaleY"] |
Returns ​
void
Inherited from ​
translateX ​
Get Signature ​
get translateX():
TState["translateX"]
Defined in: packages/core/src/core/element.ts:456
Returns ​
TState["translateX"]
Set Signature ​
set translateX(
value):void
Defined in: packages/core/src/core/element.ts:460
Parameters ​
| Parameter | Type |
|---|---|
value | TState["translateX"] |
Returns ​
void
Inherited from ​
translateY ​
Get Signature ​
get translateY():
TState["translateY"]
Defined in: packages/core/src/core/element.ts:464
Returns ​
TState["translateY"]
Set Signature ​
set translateY(
value):void
Defined in: packages/core/src/core/element.ts:468
Parameters ​
| Parameter | Type |
|---|---|
value | TState["translateY"] |
Returns ​
void
Inherited from ​
width ​
Get Signature ​
get width():
number
Defined in: packages/core/src/elements/path.ts:51
Returns ​
number
Set Signature ​
set width(
value):void
Defined in: packages/core/src/elements/path.ts:55
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
x ​
Get Signature ​
get x():
number
Defined in: packages/core/src/elements/path.ts:35
Returns ​
number
Set Signature ​
set x(
value):void
Defined in: packages/core/src/elements/path.ts:39
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
y ​
Get Signature ​
get y():
number
Defined in: packages/core/src/elements/path.ts:43
Returns ​
number
Set Signature ​
set y(
value):void
Defined in: packages/core/src/elements/path.ts:47
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
zIndex ​
Get Signature ​
get zIndex():
number
Defined in: packages/core/src/core/element.ts:448
Returns ​
number
Set Signature ​
set zIndex(
value):void
Defined in: packages/core/src/core/element.ts:452
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
Methods ​
clone() ​
clone():
Element<PathState,ElementEventMap>
Defined in: packages/core/src/core/element.ts:565
Creates a shallow clone of this element with the same id, classes, and state.
Returns ​
Element<PathState, ElementEventMap>
Inherited from ​
destroy() ​
destroy():
void
Defined in: packages/core/src/core/element.ts:642
Emits a destroyed event, clears all listeners, and disposes retained resources.
Returns ​
void
Inherited from ​
dispose() ​
protecteddispose(key?):void
Defined in: packages/core/src/core/disposer.ts:24
Disposes all resources under the given key, or all resources if no key is provided.
Parameters ​
| Parameter | Type |
|---|---|
key? | PropertyKey |
Returns ​
void
Inherited from ​
emit() ​
Call Signature ​
emit<
TEvent>(event):TEvent
Defined in: packages/core/src/core/event-bus.ts:127
Emits an event, invoking all matching handlers and bubbling to the parent if applicable.
Type Parameters ​
| Type Parameter | Default type |
|---|---|
TEvent extends Event<undefined> | Event<undefined> |
Parameters ​
| Parameter | Type |
|---|---|
event | TEvent |
Returns ​
TEvent
Inherited from ​
Call Signature ​
emit<
TEvent>(type,data):Event<ElementEventMap[TEvent]>
Defined in: packages/core/src/core/event-bus.ts:128
Emits an event, invoking all matching handlers and bubbling to the parent if applicable.
Type Parameters ​
| Type Parameter |
|---|
TEvent extends keyof ElementEventMap |
Parameters ​
| Parameter | Type |
|---|---|
type | TEvent |
data | ElementEventMap[TEvent] |
Returns ​
Event<ElementEventMap[TEvent]>
Inherited from ​
getBoundingBox() ​
getBoundingBox():
Box
Defined in: packages/core/src/elements/path.ts:83
Returns the axis-aligned bounding box for this element. Override in subclasses for accurate geometry.
Returns ​
Overrides ​
getStateValue() ​
protectedgetStateValue<TKey>(key):PathState[TKey]
Defined in: packages/core/src/core/element.ts:534
Reads a state value, falling back to the parent’s value if the local value is nil (property inheritance).
Type Parameters ​
| Type Parameter |
|---|
TKey extends keyof PathState |
Parameters ​
| Parameter | Type |
|---|---|
key | TKey |
Returns ​
PathState[TKey]
Inherited from ​
has() ​
has(
type):boolean
Defined in: packages/core/src/core/event-bus.ts:84
Returns whether there are any listeners registered for the given event type.
Parameters ​
| Parameter | Type |
|---|---|
type | keyof ElementEventMap |
Returns ​
boolean
Inherited from ​
interpolate() ​
interpolate(
newState,interpolators?):Interpolator<void>
Defined in: packages/core/src/core/element.ts:585
Creates an interpolator that transitions from the current state towards the target state, supporting keyframes and custom interpolator overrides.
Parameters ​
| Parameter | Type |
|---|---|
newState | Partial<ElementInterpolationState<TState>> |
interpolators | Partial<ElementInterpolators<TState>> |
Returns ​
Interpolator<void>
Inherited from ​
intersectsWith() ​
intersectsWith(
x,y,options?):boolean
Defined in: packages/core/src/core/shape.ts:54
Tests whether a point intersects this shape using path-based fill and stroke hit testing.
Parameters ​
| Parameter | Type |
|---|---|
x | number |
y | number |
options? | Partial<ElementIntersectionOptions> |
Returns ​
boolean
Inherited from ​
off() ​
off<
TEvent>(type,handler):void
Defined in: packages/core/src/core/event-bus.ts:102
Removes a previously registered handler for the given event type.
Type Parameters ​
| Type Parameter |
|---|
TEvent extends keyof ElementEventMap |
Parameters ​
| Parameter | Type |
|---|---|
type | TEvent |
handler | EventHandler<ElementEventMap[TEvent]> |
Returns ​
void
Inherited from ​
on() ​
on<
TEvent>(event,handler,options?):Disposable
Defined in: packages/core/src/core/element.ts:547
Subscribes a handler to the given event type and returns a disposable for cleanup.
Type Parameters ​
| Type Parameter |
|---|
TEvent extends keyof ElementEventMap |
Parameters ​
| Parameter | Type |
|---|---|
event | TEvent |
handler | EventHandler<ElementEventMap[TEvent]> |
options? | EventSubscriptionOptions |
Returns ​
Inherited from ​
once() ​
once<
TEvent>(type,handler,options?):Disposable
Defined in: packages/core/src/core/event-bus.ts:117
Subscribes a handler that is automatically removed after it fires once.
Type Parameters ​
| Type Parameter |
|---|
TEvent extends keyof ElementEventMap |
Parameters ​
| Parameter | Type |
|---|---|
type | TEvent |
handler | EventHandler<ElementEventMap[TEvent]> |
options? | EventSubscriptionOptions |
Returns ​
Inherited from ​
render() ​
render(
context):void
Defined in: packages/core/src/elements/path.ts:92
Renders this shape by creating a path, invoking the callback, and automatically applying fill/stroke or clipping.
Parameters ​
| Parameter | Type |
|---|---|
context | Context |
Returns ​
void
Overrides ​
retain() ​
protectedretain(value,key?):void
Defined in: packages/core/src/core/disposer.ts:13
Registers a disposable resource under an optional key for later cleanup.
Parameters ​
| Parameter | Type | Default value |
|---|---|---|
value | Disposable | undefined |
key | PropertyKey | Disposer.defaultKey |
Returns ​
void
Inherited from ​
setPathRenderer() ​
setPathRenderer(
renderer):void
Defined in: packages/core/src/elements/path.ts:79
Replaces the current path renderer callback.
Parameters ​
| Parameter | Type |
|---|---|
renderer | PathRenderer |
Returns ​
void
setStateValue() ​
protectedsetStateValue<TKey>(key,value):void
Defined in: packages/core/src/core/element.ts:539
Sets a state value and emits an updated event.
Type Parameters ​
| Type Parameter |
|---|
TKey extends keyof PathState |
Parameters ​
| Parameter | Type |
|---|---|
key | TKey |
value | PathState[TKey] |
Returns ​
void