Documentation / @ripl/core / Context
Abstract Class: Context<TElement, TMeta> ​
Defined in: packages/core/src/context/context.ts:95
Abstract rendering context providing a unified API for Canvas and SVG, with state management and coordinate scaling.
Extends ​
Type Parameters ​
| Type Parameter | Default type |
|---|---|
TElement extends Element | Element |
TMeta extends Record<string, unknown> | Record<string, unknown> |
Implements ​
Constructors ​
Constructor ​
new Context<
TElement,TMeta>(type,element,options?):Context<TElement,TMeta>
Defined in: packages/core/src/context/context.ts:350
Parameters ​
| Parameter | Type |
|---|---|
type | string |
element | TElement |
options? | ContextOptions<TMeta> |
Returns ​
Context<TElement, TMeta>
Overrides ​
Properties ​
| Property | Modifier | Type | Default value | Inherited from | Defined in |
|---|---|---|---|---|---|
buffer | public | boolean | false | - | packages/core/src/context/context.ts:101 |
currentState | protected | BaseState | undefined | - | packages/core/src/context/context.ts:111 |
element | readonly | TElement | undefined | - | packages/core/src/context/context.ts:98 |
height | public | number | undefined | - | packages/core/src/context/context.ts:103 |
meta | readonly | TMeta | undefined | - | packages/core/src/context/context.ts:99 |
parent? | public | EventBus<ContextEventMap> | undefined | EventBus.parent | packages/core/src/core/event-bus.ts:79 |
renderDepth | protected | number | 0 | - | packages/core/src/context/context.ts:112 |
renderedElements | public | RenderElement[] | undefined | - | packages/core/src/context/context.ts:108 |
renderElement? | public | RenderElement | undefined | - | packages/core/src/context/context.ts:107 |
scaleDPR | public | Scale<number, number> | undefined | - | packages/core/src/context/context.ts:106 |
scaleX | public | Scale<number, number> | undefined | - | packages/core/src/context/context.ts:104 |
scaleY | public | Scale<number, number> | undefined | - | packages/core/src/context/context.ts:105 |
states | protected | BaseState[] | undefined | - | packages/core/src/context/context.ts:110 |
type | readonly | string | undefined | - | packages/core/src/context/context.ts:97 |
width | public | number | undefined | - | packages/core/src/context/context.ts:102 |
defaultKey | readonly | typeof defaultKey | undefined | EventBus.defaultKey | packages/core/src/core/disposer.ts:10 |
Accessors ​
currentRenderElement ​
Get Signature ​
get currentRenderElement():
RenderElement|undefined
Defined in: packages/core/src/context/context.ts:114
Returns ​
RenderElement | undefined
Set Signature ​
set currentRenderElement(
element):void
Defined in: packages/core/src/context/context.ts:118
Parameters ​
| Parameter | Type |
|---|---|
element | RenderElement | undefined |
Returns ​
void
direction ​
Get Signature ​
get direction():
Direction
Defined in: packages/core/src/context/context.ts:142
Returns ​
Set Signature ​
set direction(
value):void
Defined in: packages/core/src/context/context.ts:146
Parameters ​
| Parameter | Type |
|---|---|
value | Direction |
Returns ​
void
Implementation of ​
fill ​
Get Signature ​
get fill():
string
Defined in: packages/core/src/context/context.ts:126
Returns ​
string
Set Signature ​
set fill(
value):void
Defined in: packages/core/src/context/context.ts:130
Parameters ​
| Parameter | Type |
|---|---|
value | string |
Returns ​
void
Implementation of ​
filter ​
Get Signature ​
get filter():
string
Defined in: packages/core/src/context/context.ts:134
Returns ​
string
Set Signature ​
set filter(
value):void
Defined in: packages/core/src/context/context.ts:138
Parameters ​
| Parameter | Type |
|---|---|
value | string |
Returns ​
void
Implementation of ​
font ​
Get Signature ​
get font():
string
Defined in: packages/core/src/context/context.ts:150
Returns ​
string
Set Signature ​
set font(
value):void
Defined in: packages/core/src/context/context.ts:154
Parameters ​
| Parameter | Type |
|---|---|
value | string |
Returns ​
void
Implementation of ​
fontKerning ​
Get Signature ​
get fontKerning():
FontKerning
Defined in: packages/core/src/context/context.ts:158
Returns ​
Set Signature ​
set fontKerning(
value):void
Defined in: packages/core/src/context/context.ts:162
Parameters ​
| Parameter | Type |
|---|---|
value | FontKerning |
Returns ​
void
Implementation of ​
globalCompositeOperation ​
Get Signature ​
get globalCompositeOperation():
unknown
Defined in: packages/core/src/context/context.ts:174
Returns ​
unknown
Set Signature ​
set globalCompositeOperation(
value):void
Defined in: packages/core/src/context/context.ts:178
Parameters ​
| Parameter | Type |
|---|---|
value | unknown |
Returns ​
void
Implementation of ​
BaseState.globalCompositeOperation
lineCap ​
Get Signature ​
get lineCap():
LineCap
Defined in: packages/core/src/context/context.ts:182
Returns ​
Set Signature ​
set lineCap(
value):void
Defined in: packages/core/src/context/context.ts:186
Parameters ​
| Parameter | Type |
|---|---|
value | LineCap |
Returns ​
void
Implementation of ​
lineDash ​
Get Signature ​
get lineDash():
number[]
Defined in: packages/core/src/context/context.ts:190
Returns ​
number[]
Set Signature ​
set lineDash(
value):void
Defined in: packages/core/src/context/context.ts:194
Parameters ​
| Parameter | Type |
|---|---|
value | number[] |
Returns ​
void
Implementation of ​
lineDashOffset ​
Get Signature ​
get lineDashOffset():
number
Defined in: packages/core/src/context/context.ts:198
Returns ​
number
Set Signature ​
set lineDashOffset(
value):void
Defined in: packages/core/src/context/context.ts:202
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Implementation of ​
lineJoin ​
Get Signature ​
get lineJoin():
LineJoin
Defined in: packages/core/src/context/context.ts:206
Returns ​
Set Signature ​
set lineJoin(
value):void
Defined in: packages/core/src/context/context.ts:210
Parameters ​
| Parameter | Type |
|---|---|
value | LineJoin |
Returns ​
void
Implementation of ​
lineWidth ​
Get Signature ​
get lineWidth():
number
Defined in: packages/core/src/context/context.ts:214
Returns ​
number
Set Signature ​
set lineWidth(
value):void
Defined in: packages/core/src/context/context.ts:218
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Implementation of ​
miterLimit ​
Get Signature ​
get miterLimit():
number
Defined in: packages/core/src/context/context.ts:222
Returns ​
number
Set Signature ​
set miterLimit(
value):void
Defined in: packages/core/src/context/context.ts:226
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Implementation of ​
opacity ​
Get Signature ​
get opacity():
number
Defined in: packages/core/src/context/context.ts:166
Returns ​
number
Set Signature ​
set opacity(
value):void
Defined in: packages/core/src/context/context.ts:170
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Implementation of ​
rotation ​
Get Signature ​
get rotation():
Rotation
Defined in: packages/core/src/context/context.ts:326
Returns ​
Set Signature ​
set rotation(
value):void
Defined in: packages/core/src/context/context.ts:330
Parameters ​
| Parameter | Type |
|---|---|
value | Rotation |
Returns ​
void
Implementation of ​
shadowBlur ​
Get Signature ​
get shadowBlur():
number
Defined in: packages/core/src/context/context.ts:230
Returns ​
number
Set Signature ​
set shadowBlur(
value):void
Defined in: packages/core/src/context/context.ts:234
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Implementation of ​
shadowColor ​
Get Signature ​
get shadowColor():
string
Defined in: packages/core/src/context/context.ts:238
Returns ​
string
Set Signature ​
set shadowColor(
value):void
Defined in: packages/core/src/context/context.ts:242
Parameters ​
| Parameter | Type |
|---|---|
value | string |
Returns ​
void
Implementation of ​
shadowOffsetX ​
Get Signature ​
get shadowOffsetX():
number
Defined in: packages/core/src/context/context.ts:246
Returns ​
number
Set Signature ​
set shadowOffsetX(
value):void
Defined in: packages/core/src/context/context.ts:250
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Implementation of ​
shadowOffsetY ​
Get Signature ​
get shadowOffsetY():
number
Defined in: packages/core/src/context/context.ts:254
Returns ​
number
Set Signature ​
set shadowOffsetY(
value):void
Defined in: packages/core/src/context/context.ts:258
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Implementation of ​
stroke ​
Get Signature ​
get stroke():
string
Defined in: packages/core/src/context/context.ts:262
Returns ​
string
Set Signature ​
set stroke(
value):void
Defined in: packages/core/src/context/context.ts:266
Parameters ​
| Parameter | Type |
|---|---|
value | string |
Returns ​
void
Implementation of ​
textAlign ​
Get Signature ​
get textAlign():
TextAlignment
Defined in: packages/core/src/context/context.ts:270
Returns ​
Set Signature ​
set textAlign(
value):void
Defined in: packages/core/src/context/context.ts:274
Parameters ​
| Parameter | Type |
|---|---|
value | TextAlignment |
Returns ​
void
Implementation of ​
textBaseline ​
Get Signature ​
get textBaseline():
TextBaseline
Defined in: packages/core/src/context/context.ts:278
Returns ​
Set Signature ​
set textBaseline(
value):void
Defined in: packages/core/src/context/context.ts:282
Parameters ​
| Parameter | Type |
|---|---|
value | TextBaseline |
Returns ​
void
Implementation of ​
transformOriginX ​
Get Signature ​
get transformOriginX():
TransformOrigin
Defined in: packages/core/src/context/context.ts:334
Returns ​
Set Signature ​
set transformOriginX(
value):void
Defined in: packages/core/src/context/context.ts:338
Parameters ​
| Parameter | Type |
|---|---|
value | TransformOrigin |
Returns ​
void
Implementation of ​
transformOriginY ​
Get Signature ​
get transformOriginY():
TransformOrigin
Defined in: packages/core/src/context/context.ts:342
Returns ​
Set Signature ​
set transformOriginY(
value):void
Defined in: packages/core/src/context/context.ts:346
Parameters ​
| Parameter | Type |
|---|---|
value | TransformOrigin |
Returns ​
void
Implementation of ​
transformScaleX ​
Get Signature ​
get transformScaleX():
number
Defined in: packages/core/src/context/context.ts:310
Returns ​
number
Set Signature ​
set transformScaleX(
value):void
Defined in: packages/core/src/context/context.ts:314
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Implementation of ​
transformScaleY ​
Get Signature ​
get transformScaleY():
number
Defined in: packages/core/src/context/context.ts:318
Returns ​
number
Set Signature ​
set transformScaleY(
value):void
Defined in: packages/core/src/context/context.ts:322
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Implementation of ​
translateX ​
Get Signature ​
get translateX():
number
Defined in: packages/core/src/context/context.ts:294
Returns ​
number
Set Signature ​
set translateX(
value):void
Defined in: packages/core/src/context/context.ts:298
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Implementation of ​
translateY ​
Get Signature ​
get translateY():
number
Defined in: packages/core/src/context/context.ts:302
Returns ​
number
Set Signature ​
set translateY(
value):void
Defined in: packages/core/src/context/context.ts:306
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Implementation of ​
zIndex ​
Get Signature ​
get zIndex():
number
Defined in: packages/core/src/context/context.ts:286
Returns ​
number
Set Signature ​
set zIndex(
value):void
Defined in: packages/core/src/context/context.ts:290
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Implementation of ​
Methods ​
applyClip() ​
applyClip(
path,fillRule?):void
Defined in: packages/core/src/context/context.ts:499
Clips subsequent drawing operations to the given path.
Parameters ​
| Parameter | Type |
|---|---|
path | ContextPath |
fillRule? | FillRule |
Returns ​
void
applyFill() ​
applyFill(
path,fillRule?):void
Defined in: packages/core/src/context/context.ts:504
Fills the given path or text element using the current fill style.
Parameters ​
| Parameter | Type |
|---|---|
path | ContextElement |
fillRule? | FillRule |
Returns ​
void
applyStroke() ​
applyStroke(
path):void
Defined in: packages/core/src/context/context.ts:509
Strokes the given path or text element using the current stroke style.
Parameters ​
| Parameter | Type |
|---|---|
path | ContextElement |
Returns ​
void
batch() ​
batch<
TResult>(body):TResult
Defined in: packages/core/src/context/context.ts:440
Clears the rendering surface and brackets the callback in markRenderStart/markRenderEnd, returning the callback's result.
Type Parameters ​
| Type Parameter | Default type |
|---|---|
TResult | void |
Parameters ​
| Parameter | Type |
|---|---|
body | () => TResult |
Returns ​
TResult
clear() ​
clear():
void
Defined in: packages/core/src/context/context.ts:407
Clears the entire rendering surface.
Returns ​
void
createPath() ​
createPath(
id?):ContextPath
Defined in: packages/core/src/context/context.ts:484
Creates a new path element, optionally reusing an id for SVG diffing efficiency.
Parameters ​
| Parameter | Type |
|---|---|
id? | string |
Returns ​
createText() ​
createText(
options):ContextText
Defined in: packages/core/src/context/context.ts:489
Creates a new text element from the given options.
Parameters ​
| Parameter | Type |
|---|---|
options | TextOptions |
Returns ​
destroy() ​
destroy():
void
Defined in: packages/core/src/context/context.ts:542
Destroys the context and disposes all resources.
Returns ​
void
Overrides ​
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 ​
drawImage() ​
drawImage(
image,x,y,width?,height?):void
Defined in: packages/core/src/context/context.ts:494
Draws an image onto the rendering surface at the given position and optional size.
Parameters ​
| Parameter | Type |
|---|---|
image | CanvasImageSource |
x | number |
y | number |
width? | number |
height? | number |
Returns ​
void
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<ContextEventMap[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 ContextEventMap |
Parameters ​
| Parameter | Type |
|---|---|
type | TEvent |
data | ContextEventMap[TEvent] |
Returns ​
Event<ContextEventMap[TEvent]>
Inherited from ​
getDefaultState() ​
protectedgetDefaultState():BaseState
Defined in: packages/core/src/context/context.ts:380
Returns ​
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 ContextEventMap |
Returns ​
boolean
Inherited from ​
hitTest() ​
protectedhitTest(events,x,y):RenderElement[]
Defined in: packages/core/src/context/context.ts:533
Tests which rendered elements intersect the given point for the given event types.
Parameters ​
| Parameter | Type |
|---|---|
events | string[] |
x | number |
y | number |
Returns ​
invalidateTrackedElements() ​
invalidateTrackedElements(
event?):void
Defined in: packages/core/src/context/context.ts:417
Clears the cached list of tracked elements for interaction, forcing a rebuild on the next hit test.
Parameters ​
| Parameter | Type |
|---|---|
event? | string |
Returns ​
void
isPointInPath() ​
isPointInPath(
path,x,y,fillRule?):boolean
Defined in: packages/core/src/context/context.ts:514
Tests whether a point is inside the filled region of a path.
Parameters ​
| Parameter | Type |
|---|---|
path | ContextPath |
x | number |
y | number |
fillRule? | FillRule |
Returns ​
boolean
isPointInStroke() ​
isPointInStroke(
path,x,y):boolean
Defined in: packages/core/src/context/context.ts:519
Tests whether a point is on the stroked outline of a path.
Parameters ​
| Parameter | Type |
|---|---|
path | ContextPath |
x | number |
y | number |
Returns ​
boolean
layer() ​
layer<
TResult>(body):TResult
Defined in: packages/core/src/context/context.ts:396
Executes a callback within a save/restore pair, returning the callback's result.
Type Parameters ​
| Type Parameter | Default type |
|---|---|
TResult | void |
Parameters ​
| Parameter | Type |
|---|---|
body | () => TResult |
Returns ​
TResult
markRenderEnd() ​
markRenderEnd():
void
Defined in: packages/core/src/context/context.ts:435
Signals the end of a render pass.
Returns ​
void
markRenderStart() ​
markRenderStart():
void
Defined in: packages/core/src/context/context.ts:426
Signals the start of a render pass; resets the rendered-elements list at depth 0.
Returns ​
void
measureText() ​
measureText(
text,font?):TextMetrics
Defined in: packages/core/src/context/context.ts:479
Measures text dimensions using the context's current font or an optional override.
Parameters ​
| Parameter | Type |
|---|---|
text | string |
font? | string |
Returns ​
TextMetrics
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 ContextEventMap |
Parameters ​
| Parameter | Type |
|---|---|
type | TEvent |
handler | EventHandler<ContextEventMap[TEvent]> |
Returns ​
void
Inherited from ​
on() ​
on<
TEvent>(type,handler,options?):Disposable
Defined in: packages/core/src/core/event-bus.ts:89
Subscribes a handler to the given event type and returns a disposable for cleanup.
Type Parameters ​
| Type Parameter |
|---|
TEvent extends keyof ContextEventMap |
Parameters ​
| Parameter | Type |
|---|---|
type | TEvent |
handler | EventHandler<ContextEventMap[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 ContextEventMap |
Parameters ​
| Parameter | Type |
|---|---|
type | TEvent |
handler | EventHandler<ContextEventMap[TEvent]> |
options? | EventSubscriptionOptions |
Returns ​
Inherited from ​
rescale() ​
protectedrescale(width,height):void
Defined in: packages/core/src/context/context.ts:370
Parameters ​
| Parameter | Type |
|---|---|
width | number |
height | number |
Returns ​
void
reset() ​
reset():
void
Defined in: packages/core/src/context/context.ts:412
Resets the context to its initial state.
Returns ​
void
restore() ​
restore():
void
Defined in: packages/core/src/context/context.ts:391
Restores the most recently saved state from the stack.
Returns ​
void
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 ​
rotate() ​
rotate(
angle):void
Defined in: packages/core/src/context/context.ts:454
Applies a rotation transformation.
Parameters ​
| Parameter | Type |
|---|---|
angle | number |
Returns ​
void
save() ​
save():
void
Defined in: packages/core/src/context/context.ts:385
Pushes the current state onto the stack and resets to defaults.
Returns ​
void
scale() ​
scale(
x,y):void
Defined in: packages/core/src/context/context.ts:459
Applies a scale transformation.
Parameters ​
| Parameter | Type |
|---|---|
x | number |
y | number |
Returns ​
void
setTransform() ​
setTransform(
a,b,c,d,e,f):void
Defined in: packages/core/src/context/context.ts:469
Parameters ​
| Parameter | Type |
|---|---|
a | number |
b | number |
c | number |
d | number |
e | number |
f | number |
Returns ​
void
sortByZIndex() ​
protectedsortByZIndex(elements):RenderElement[]
Defined in: packages/core/src/context/context.ts:528
Sorts render elements by z-index (highest first) for hit testing priority.
Parameters ​
| Parameter | Type |
|---|---|
elements | RenderElement[] |
Returns ​
transform() ​
transform(
a,b,c,d,e,f):void
Defined in: packages/core/src/context/context.ts:474
Parameters ​
| Parameter | Type |
|---|---|
a | number |
b | number |
c | number |
d | number |
e | number |
f | number |
Returns ​
void
translate() ​
translate(
x,y):void
Defined in: packages/core/src/context/context.ts:464
Applies a translation transformation.
Parameters ​
| Parameter | Type |
|---|---|
x | number |
y | number |
Returns ​
void