Documentation / @ripl/svg / SVGContext
Class: SVGContext ​
Defined in: svg/src/index.ts:446
SVG rendering context implementation, mapping the unified API to SVG DOM elements via virtual-DOM reconciliation.
Extends ​
DOMContext<SVGSVGElement>
Constructors ​
Constructor ​
new SVGContext(
target,options?):SVGContext
Defined in: svg/src/index.ts:464
Parameters ​
| Parameter | Type |
|---|---|
target | string | HTMLElement |
options? | ContextOptions<Record<string, unknown>> |
Returns ​
SVGContext
Overrides ​
DOMContext<SVGSVGElement>.constructor
Properties ​
| Property | Modifier | Type | Default value | Inherited from | Defined in |
|---|---|---|---|---|---|
buffer | public | boolean | false | DOMContext.buffer | core/src/context/context.ts:101 |
currentState | protected | BaseState | undefined | DOMContext.currentState | core/src/context/context.ts:111 |
element | readonly | SVGSVGElement | undefined | DOMContext.element | core/src/context/context.ts:98 |
height | public | number | undefined | DOMContext.height | core/src/context/context.ts:103 |
meta | readonly | TMeta | undefined | DOMContext.meta | core/src/context/context.ts:99 |
parent? | public | EventBus<ContextEventMap> | undefined | DOMContext.parent | core/src/core/event-bus.ts:79 |
renderDepth | protected | number | 0 | DOMContext.renderDepth | core/src/context/context.ts:112 |
renderedElements | public | RenderElement[] | undefined | DOMContext.renderedElements | core/src/context/context.ts:108 |
renderElement? | public | RenderElement | undefined | DOMContext.renderElement | core/src/context/context.ts:107 |
root | readonly | HTMLElement | undefined | DOMContext.root | dom/src/context.ts:44 |
scaleDPR | public | Scale<number, number> | undefined | DOMContext.scaleDPR | core/src/context/context.ts:106 |
scaleX | public | Scale<number, number> | undefined | DOMContext.scaleX | core/src/context/context.ts:104 |
scaleY | public | Scale<number, number> | undefined | DOMContext.scaleY | core/src/context/context.ts:105 |
states | protected | BaseState[] | undefined | DOMContext.states | core/src/context/context.ts:110 |
type | readonly | string | undefined | DOMContext.type | core/src/context/context.ts:97 |
width | public | number | undefined | DOMContext.width | core/src/context/context.ts:102 |
defaultKey | readonly | typeof defaultKey | undefined | DOMContext.defaultKey | core/src/core/disposer.ts:10 |
Accessors ​
currentRenderElement ​
Get Signature ​
get currentRenderElement():
RenderElement|undefined
Defined in: core/src/context/context.ts:114
Returns ​
RenderElement | undefined
Set Signature ​
set currentRenderElement(
element):void
Defined in: core/src/context/context.ts:118
Parameters ​
| Parameter | Type |
|---|---|
element | RenderElement | undefined |
Returns ​
void
Inherited from ​
DOMContext.currentRenderElement
direction ​
Get Signature ​
get direction():
Direction
Defined in: core/src/context/context.ts:142
Returns ​
Set Signature ​
set direction(
value):void
Defined in: core/src/context/context.ts:146
Parameters ​
| Parameter | Type |
|---|---|
value | Direction |
Returns ​
void
Inherited from ​
DOMContext.direction
fill ​
Get Signature ​
get fill():
string
Defined in: core/src/context/context.ts:126
Returns ​
string
Set Signature ​
set fill(
value):void
Defined in: core/src/context/context.ts:130
Parameters ​
| Parameter | Type |
|---|---|
value | string |
Returns ​
void
Inherited from ​
DOMContext.fill
filter ​
Get Signature ​
get filter():
string
Defined in: core/src/context/context.ts:134
Returns ​
string
Set Signature ​
set filter(
value):void
Defined in: core/src/context/context.ts:138
Parameters ​
| Parameter | Type |
|---|---|
value | string |
Returns ​
void
Inherited from ​
DOMContext.filter
font ​
Get Signature ​
get font():
string
Defined in: core/src/context/context.ts:150
Returns ​
string
Set Signature ​
set font(
value):void
Defined in: core/src/context/context.ts:154
Parameters ​
| Parameter | Type |
|---|---|
value | string |
Returns ​
void
Inherited from ​
DOMContext.font
fontKerning ​
Get Signature ​
get fontKerning():
FontKerning
Defined in: core/src/context/context.ts:158
Returns ​
Set Signature ​
set fontKerning(
value):void
Defined in: core/src/context/context.ts:162
Parameters ​
| Parameter | Type |
|---|---|
value | FontKerning |
Returns ​
void
Inherited from ​
DOMContext.fontKerning
globalCompositeOperation ​
Get Signature ​
get globalCompositeOperation():
unknown
Defined in: core/src/context/context.ts:174
Returns ​
unknown
Set Signature ​
set globalCompositeOperation(
value):void
Defined in: core/src/context/context.ts:178
Parameters ​
| Parameter | Type |
|---|---|
value | unknown |
Returns ​
void
Inherited from ​
DOMContext.globalCompositeOperation
lineCap ​
Get Signature ​
get lineCap():
LineCap
Defined in: core/src/context/context.ts:182
Returns ​
Set Signature ​
set lineCap(
value):void
Defined in: core/src/context/context.ts:186
Parameters ​
| Parameter | Type |
|---|---|
value | LineCap |
Returns ​
void
Inherited from ​
DOMContext.lineCap
lineDash ​
Get Signature ​
get lineDash():
number[]
Defined in: core/src/context/context.ts:190
Returns ​
number[]
Set Signature ​
set lineDash(
value):void
Defined in: core/src/context/context.ts:194
Parameters ​
| Parameter | Type |
|---|---|
value | number[] |
Returns ​
void
Inherited from ​
DOMContext.lineDash
lineDashOffset ​
Get Signature ​
get lineDashOffset():
number
Defined in: core/src/context/context.ts:198
Returns ​
number
Set Signature ​
set lineDashOffset(
value):void
Defined in: core/src/context/context.ts:202
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
DOMContext.lineDashOffset
lineJoin ​
Get Signature ​
get lineJoin():
LineJoin
Defined in: core/src/context/context.ts:206
Returns ​
Set Signature ​
set lineJoin(
value):void
Defined in: core/src/context/context.ts:210
Parameters ​
| Parameter | Type |
|---|---|
value | LineJoin |
Returns ​
void
Inherited from ​
DOMContext.lineJoin
lineWidth ​
Get Signature ​
get lineWidth():
number
Defined in: core/src/context/context.ts:214
Returns ​
number
Set Signature ​
set lineWidth(
value):void
Defined in: core/src/context/context.ts:218
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
DOMContext.lineWidth
miterLimit ​
Get Signature ​
get miterLimit():
number
Defined in: core/src/context/context.ts:222
Returns ​
number
Set Signature ​
set miterLimit(
value):void
Defined in: core/src/context/context.ts:226
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
DOMContext.miterLimit
opacity ​
Get Signature ​
get opacity():
number
Defined in: core/src/context/context.ts:166
Returns ​
number
Set Signature ​
set opacity(
value):void
Defined in: core/src/context/context.ts:170
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
DOMContext.opacity
rotation ​
Get Signature ​
get rotation():
Rotation
Defined in: core/src/context/context.ts:326
Returns ​
Set Signature ​
set rotation(
value):void
Defined in: core/src/context/context.ts:330
Parameters ​
| Parameter | Type |
|---|---|
value | Rotation |
Returns ​
void
Inherited from ​
DOMContext.rotation
shadowBlur ​
Get Signature ​
get shadowBlur():
number
Defined in: core/src/context/context.ts:230
Returns ​
number
Set Signature ​
set shadowBlur(
value):void
Defined in: core/src/context/context.ts:234
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
DOMContext.shadowBlur
shadowColor ​
Get Signature ​
get shadowColor():
string
Defined in: core/src/context/context.ts:238
Returns ​
string
Set Signature ​
set shadowColor(
value):void
Defined in: core/src/context/context.ts:242
Parameters ​
| Parameter | Type |
|---|---|
value | string |
Returns ​
void
Inherited from ​
DOMContext.shadowColor
shadowOffsetX ​
Get Signature ​
get shadowOffsetX():
number
Defined in: core/src/context/context.ts:246
Returns ​
number
Set Signature ​
set shadowOffsetX(
value):void
Defined in: core/src/context/context.ts:250
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
DOMContext.shadowOffsetX
shadowOffsetY ​
Get Signature ​
get shadowOffsetY():
number
Defined in: core/src/context/context.ts:254
Returns ​
number
Set Signature ​
set shadowOffsetY(
value):void
Defined in: core/src/context/context.ts:258
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
DOMContext.shadowOffsetY
stroke ​
Get Signature ​
get stroke():
string
Defined in: core/src/context/context.ts:262
Returns ​
string
Set Signature ​
set stroke(
value):void
Defined in: core/src/context/context.ts:266
Parameters ​
| Parameter | Type |
|---|---|
value | string |
Returns ​
void
Inherited from ​
DOMContext.stroke
textAlign ​
Get Signature ​
get textAlign():
TextAlignment
Defined in: core/src/context/context.ts:270
Returns ​
Set Signature ​
set textAlign(
value):void
Defined in: core/src/context/context.ts:274
Parameters ​
| Parameter | Type |
|---|---|
value | TextAlignment |
Returns ​
void
Inherited from ​
DOMContext.textAlign
textBaseline ​
Get Signature ​
get textBaseline():
TextBaseline
Defined in: core/src/context/context.ts:278
Returns ​
Set Signature ​
set textBaseline(
value):void
Defined in: core/src/context/context.ts:282
Parameters ​
| Parameter | Type |
|---|---|
value | TextBaseline |
Returns ​
void
Inherited from ​
DOMContext.textBaseline
transformOriginX ​
Get Signature ​
get transformOriginX():
TransformOrigin
Defined in: core/src/context/context.ts:334
Returns ​
Set Signature ​
set transformOriginX(
value):void
Defined in: core/src/context/context.ts:338
Parameters ​
| Parameter | Type |
|---|---|
value | TransformOrigin |
Returns ​
void
Inherited from ​
DOMContext.transformOriginX
transformOriginY ​
Get Signature ​
get transformOriginY():
TransformOrigin
Defined in: core/src/context/context.ts:342
Returns ​
Set Signature ​
set transformOriginY(
value):void
Defined in: core/src/context/context.ts:346
Parameters ​
| Parameter | Type |
|---|---|
value | TransformOrigin |
Returns ​
void
Inherited from ​
DOMContext.transformOriginY
transformScaleX ​
Get Signature ​
get transformScaleX():
number
Defined in: core/src/context/context.ts:310
Returns ​
number
Set Signature ​
set transformScaleX(
value):void
Defined in: core/src/context/context.ts:314
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
DOMContext.transformScaleX
transformScaleY ​
Get Signature ​
get transformScaleY():
number
Defined in: core/src/context/context.ts:318
Returns ​
number
Set Signature ​
set transformScaleY(
value):void
Defined in: core/src/context/context.ts:322
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
DOMContext.transformScaleY
translateX ​
Get Signature ​
get translateX():
number
Defined in: core/src/context/context.ts:294
Returns ​
number
Set Signature ​
set translateX(
value):void
Defined in: core/src/context/context.ts:298
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
DOMContext.translateX
translateY ​
Get Signature ​
get translateY():
number
Defined in: core/src/context/context.ts:302
Returns ​
number
Set Signature ​
set translateY(
value):void
Defined in: core/src/context/context.ts:306
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
DOMContext.translateY
zIndex ​
Get Signature ​
get zIndex():
number
Defined in: core/src/context/context.ts:286
Returns ​
number
Set Signature ​
set zIndex(
value):void
Defined in: core/src/context/context.ts:290
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
DOMContext.zIndex
Methods ​
applyClip() ​
applyClip(
path,fillRule?):void
Defined in: svg/src/index.ts:767
Clips subsequent drawing operations to the given path.
Parameters ​
| Parameter | Type |
|---|---|
path | SVGPath |
fillRule? | FillRule |
Returns ​
void
Overrides ​
DOMContext.applyClip
applyFill() ​
applyFill(
element,fillRule?):void
Defined in: svg/src/index.ts:804
Fills the given path or text element using the current fill style.
Parameters ​
| Parameter | Type |
|---|---|
element | SVGContextElement |
fillRule? | FillRule |
Returns ​
void
Overrides ​
DOMContext.applyFill
applyStroke() ​
applyStroke(
element):void
Defined in: svg/src/index.ts:810
Strokes the given path or text element using the current stroke style.
Parameters ​
| Parameter | Type |
|---|---|
element | SVGContextElement |
Returns ​
void
Overrides ​
DOMContext.applyStroke
batch() ​
batch<
TResult>(body):TResult
Defined in: 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
Inherited from ​
DOMContext.batch
clear() ​
clear():
void
Defined in: core/src/context/context.ts:407
Clears the entire rendering surface.
Returns ​
void
Inherited from ​
DOMContext.clear
createPath() ​
createPath(
id?):SVGPath
Defined in: svg/src/index.ts:656
Creates a new path element, optionally reusing an id for SVG diffing efficiency.
Parameters ​
| Parameter | Type |
|---|---|
id? | string |
Returns ​
Overrides ​
DOMContext.createPath
createText() ​
createText(
options):ContextText
Defined in: svg/src/index.ts:663
Creates a new text element from the given options.
Parameters ​
| Parameter | Type |
|---|---|
options | TextOptions |
Returns ​
Overrides ​
DOMContext.createText
destroy() ​
destroy():
void
Defined in: dom/src/context.ts:304
Destroys the context, removing the DOM element and disposing all resources.
Returns ​
void
Inherited from ​
DOMContext.destroy
disableInteraction() ​
disableInteraction():
void
Defined in: dom/src/context.ts:292
Disables DOM interaction events and clears the active element set.
Returns ​
void
Inherited from ​
DOMContext.disableInteraction
dispose() ​
protecteddispose(key?):void
Defined in: 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 ​
DOMContext.dispose
drawImage() ​
drawImage(
image,x,y,width?,height?):void
Defined in: svg/src/index.ts:717
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
Overrides ​
DOMContext.drawImage
emit() ​
Call Signature ​
emit<
TEvent>(event):TEvent
Defined in: 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 ​
DOMContext.emit
Call Signature ​
emit<
TEvent>(type,data):Event<ContextEventMap[TEvent]>
Defined in: 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 ​
DOMContext.emit
enableInteraction() ​
enableInteraction():
void
Defined in: dom/src/context.ts:264
Enables DOM interaction events (mouse enter, leave, move, click, drag) with element hit testing.
Returns ​
void
Inherited from ​
DOMContext.enableInteraction
getDefaultState() ​
protectedgetDefaultState():BaseState
Defined in: core/src/context/context.ts:380
Returns ​
Inherited from ​
DOMContext.getDefaultState
has() ​
has(
type):boolean
Defined in: 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 ​
DOMContext.has
hitTest() ​
protectedhitTest(events,x,y):RenderElement[]
Defined in: 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 ​
Inherited from ​
DOMContext.hitTest
init() ​
protectedinit():void
Defined in: dom/src/context.ts:80
Returns ​
void
Inherited from ​
DOMContext.init
invalidateTrackedElements() ​
invalidateTrackedElements(
event?):void
Defined in: 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
Inherited from ​
DOMContext.invalidateTrackedElements
isPointInPath() ​
isPointInPath(
path,x,y,fillRule?):boolean
Defined in: svg/src/index.ts:829
Tests whether a point is inside the filled region of a path.
Parameters ​
| Parameter | Type |
|---|---|
path | SVGPath |
x | number |
y | number |
fillRule? | FillRule |
Returns ​
boolean
Overrides ​
DOMContext.isPointInPath
isPointInStroke() ​
isPointInStroke(
path,x,y):boolean
Defined in: svg/src/index.ts:833
Tests whether a point is on the stroked outline of a path.
Parameters ​
| Parameter | Type |
|---|---|
path | SVGPath |
x | number |
y | number |
Returns ​
boolean
Overrides ​
DOMContext.isPointInStroke
layer() ​
layer<
TResult>(body):TResult
Defined in: 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
Inherited from ​
DOMContext.layer
markRenderEnd() ​
markRenderEnd():
void
Defined in: svg/src/index.ts:642
Signals the end of a render pass.
Returns ​
void
Overrides ​
DOMContext.markRenderEnd
markRenderStart() ​
markRenderStart():
void
Defined in: svg/src/index.ts:630
Signals the start of a render pass; resets the rendered-elements list at depth 0.
Returns ​
void
Overrides ​
DOMContext.markRenderStart
measureText() ​
measureText(
text,font?):TextMetrics
Defined in: svg/src/index.ts:822
Measures text dimensions using the context's current font or an optional override.
Parameters ​
| Parameter | Type |
|---|---|
text | string |
font? | string |
Returns ​
TextMetrics
Overrides ​
DOMContext.measureText
off() ​
off<
TEvent>(type,handler):void
Defined in: 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 ​
DOMContext.off
on() ​
on<
TEvent>(type,handler,options?):Disposable
Defined in: 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 ​
DOMContext.on
once() ​
once<
TEvent>(type,handler,options?):Disposable
Defined in: 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 ​
DOMContext.once
rescale() ​
protectedrescale(width,height):void
Defined in: svg/src/index.ts:555
Parameters ​
| Parameter | Type |
|---|---|
width | number |
height | number |
Returns ​
void
Overrides ​
DOMContext.rescale
reset() ​
reset():
void
Defined in: core/src/context/context.ts:412
Resets the context to its initial state.
Returns ​
void
Inherited from ​
DOMContext.reset
restore() ​
restore():
void
Defined in: svg/src/index.ts:739
Restores the most recently saved state from the stack.
Returns ​
void
Overrides ​
DOMContext.restore
retain() ​
protectedretain(value,key?):void
Defined in: 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 ​
DOMContext.retain
rotate() ​
rotate(
angle):void
Defined in: svg/src/index.ts:745
Applies a rotation transformation.
Parameters ​
| Parameter | Type |
|---|---|
angle | number |
Returns ​
void
Overrides ​
DOMContext.rotate
save() ​
save():
void
Defined in: svg/src/index.ts:733
Pushes the current state onto the stack and resets to defaults.
Returns ​
void
Overrides ​
DOMContext.save
scale() ​
scale(
x,y):void
Defined in: svg/src/index.ts:749
Applies a scale transformation.
Parameters ​
| Parameter | Type |
|---|---|
x | number |
y | number |
Returns ​
void
Overrides ​
DOMContext.scale
setTransform() ​
setTransform(
a,b,c,d,e,f):void
Defined in: svg/src/index.ts:758
Parameters ​
| Parameter | Type |
|---|---|
a | number |
b | number |
c | number |
d | number |
e | number |
f | number |
Returns ​
void
Overrides ​
DOMContext.setTransform
sortByZIndex() ​
protectedsortByZIndex(elements):RenderElement[]
Defined in: core/src/context/context.ts:528
Sorts render elements by z-index (highest first) for hit testing priority.
Parameters ​
| Parameter | Type |
|---|---|
elements | RenderElement[] |
Returns ​
Inherited from ​
DOMContext.sortByZIndex
transform() ​
transform(
a,b,c,d,e,f):void
Defined in: svg/src/index.ts:763
Parameters ​
| Parameter | Type |
|---|---|
a | number |
b | number |
c | number |
d | number |
e | number |
f | number |
Returns ​
void
Overrides ​
DOMContext.transform
translate() ​
translate(
x,y):void
Defined in: svg/src/index.ts:753
Applies a translation transformation.
Parameters ​
| Parameter | Type |
|---|---|
x | number |
y | number |
Returns ​
void
Overrides ​
DOMContext.translate