Skip to content

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 ​

ParameterType
targetstring | HTMLElement
options?ContextOptions<Record<string, unknown>>

Returns ​

SVGContext

Overrides ​

DOMContext<SVGSVGElement>.constructor

Properties ​

PropertyModifierTypeDefault valueInherited fromDefined in
bufferpublicbooleanfalseDOMContext.buffercore/src/context/context.ts:101
currentStateprotectedBaseStateundefinedDOMContext.currentStatecore/src/context/context.ts:111
elementreadonlySVGSVGElementundefinedDOMContext.elementcore/src/context/context.ts:98
heightpublicnumberundefinedDOMContext.heightcore/src/context/context.ts:103
metareadonlyTMetaundefinedDOMContext.metacore/src/context/context.ts:99
parent?publicEventBus<ContextEventMap>undefinedDOMContext.parentcore/src/core/event-bus.ts:79
renderDepthprotectednumber0DOMContext.renderDepthcore/src/context/context.ts:112
renderedElementspublicRenderElement[]undefinedDOMContext.renderedElementscore/src/context/context.ts:108
renderElement?publicRenderElementundefinedDOMContext.renderElementcore/src/context/context.ts:107
rootreadonlyHTMLElementundefinedDOMContext.rootdom/src/context.ts:44
scaleDPRpublicScale<number, number>undefinedDOMContext.scaleDPRcore/src/context/context.ts:106
scaleXpublicScale<number, number>undefinedDOMContext.scaleXcore/src/context/context.ts:104
scaleYpublicScale<number, number>undefinedDOMContext.scaleYcore/src/context/context.ts:105
statesprotectedBaseState[]undefinedDOMContext.statescore/src/context/context.ts:110
typereadonlystringundefinedDOMContext.typecore/src/context/context.ts:97
widthpublicnumberundefinedDOMContext.widthcore/src/context/context.ts:102
defaultKeyreadonlytypeof defaultKeyundefinedDOMContext.defaultKeycore/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 ​
ParameterType
elementRenderElement | undefined
Returns ​

void

Inherited from ​

DOMContext.currentRenderElement


direction ​

Get Signature ​

get direction(): Direction

Defined in: core/src/context/context.ts:142

Returns ​

Direction

Set Signature ​

set direction(value): void

Defined in: core/src/context/context.ts:146

Parameters ​
ParameterType
valueDirection
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 ​
ParameterType
valuestring
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 ​
ParameterType
valuestring
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 ​
ParameterType
valuestring
Returns ​

void

Inherited from ​

DOMContext.font


fontKerning ​

Get Signature ​

get fontKerning(): FontKerning

Defined in: core/src/context/context.ts:158

Returns ​

FontKerning

Set Signature ​

set fontKerning(value): void

Defined in: core/src/context/context.ts:162

Parameters ​
ParameterType
valueFontKerning
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 ​
ParameterType
valueunknown
Returns ​

void

Inherited from ​

DOMContext.globalCompositeOperation


lineCap ​

Get Signature ​

get lineCap(): LineCap

Defined in: core/src/context/context.ts:182

Returns ​

LineCap

Set Signature ​

set lineCap(value): void

Defined in: core/src/context/context.ts:186

Parameters ​
ParameterType
valueLineCap
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 ​
ParameterType
valuenumber[]
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 ​
ParameterType
valuenumber
Returns ​

void

Inherited from ​

DOMContext.lineDashOffset


lineJoin ​

Get Signature ​

get lineJoin(): LineJoin

Defined in: core/src/context/context.ts:206

Returns ​

LineJoin

Set Signature ​

set lineJoin(value): void

Defined in: core/src/context/context.ts:210

Parameters ​
ParameterType
valueLineJoin
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 ​
ParameterType
valuenumber
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 ​
ParameterType
valuenumber
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 ​
ParameterType
valuenumber
Returns ​

void

Inherited from ​

DOMContext.opacity


rotation ​

Get Signature ​

get rotation(): Rotation

Defined in: core/src/context/context.ts:326

Returns ​

Rotation

Set Signature ​

set rotation(value): void

Defined in: core/src/context/context.ts:330

Parameters ​
ParameterType
valueRotation
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 ​
ParameterType
valuenumber
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 ​
ParameterType
valuestring
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 ​
ParameterType
valuenumber
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 ​
ParameterType
valuenumber
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 ​
ParameterType
valuestring
Returns ​

void

Inherited from ​

DOMContext.stroke


textAlign ​

Get Signature ​

get textAlign(): TextAlignment

Defined in: core/src/context/context.ts:270

Returns ​

TextAlignment

Set Signature ​

set textAlign(value): void

Defined in: core/src/context/context.ts:274

Parameters ​
ParameterType
valueTextAlignment
Returns ​

void

Inherited from ​

DOMContext.textAlign


textBaseline ​

Get Signature ​

get textBaseline(): TextBaseline

Defined in: core/src/context/context.ts:278

Returns ​

TextBaseline

Set Signature ​

set textBaseline(value): void

Defined in: core/src/context/context.ts:282

Parameters ​
ParameterType
valueTextBaseline
Returns ​

void

Inherited from ​

DOMContext.textBaseline


transformOriginX ​

Get Signature ​

get transformOriginX(): TransformOrigin

Defined in: core/src/context/context.ts:334

Returns ​

TransformOrigin

Set Signature ​

set transformOriginX(value): void

Defined in: core/src/context/context.ts:338

Parameters ​
ParameterType
valueTransformOrigin
Returns ​

void

Inherited from ​

DOMContext.transformOriginX


transformOriginY ​

Get Signature ​

get transformOriginY(): TransformOrigin

Defined in: core/src/context/context.ts:342

Returns ​

TransformOrigin

Set Signature ​

set transformOriginY(value): void

Defined in: core/src/context/context.ts:346

Parameters ​
ParameterType
valueTransformOrigin
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 ​
ParameterType
valuenumber
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 ​
ParameterType
valuenumber
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 ​
ParameterType
valuenumber
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 ​
ParameterType
valuenumber
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 ​
ParameterType
valuenumber
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 ​

ParameterType
pathSVGPath
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 ​

ParameterType
elementSVGContextElement
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 ​

ParameterType
elementSVGContextElement

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 ParameterDefault type
TResultvoid

Parameters ​

ParameterType
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 ​

ParameterType
id?string

Returns ​

SVGPath

Overrides ​

DOMContext.createPath


createText() ​

createText(options): ContextText

Defined in: svg/src/index.ts:663

Creates a new text element from the given options.

Parameters ​

ParameterType
optionsTextOptions

Returns ​

ContextText

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() ​

protected dispose(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 ​

ParameterType
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 ​

ParameterType
imageCanvasImageSource
xnumber
ynumber
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 ParameterDefault type
TEvent extends Event<undefined>Event<undefined>
Parameters ​
ParameterType
eventTEvent
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 ​
ParameterType
typeTEvent
dataContextEventMap[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() ​

protected getDefaultState(): BaseState

Defined in: core/src/context/context.ts:380

Returns ​

BaseState

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 ​

ParameterType
typekeyof ContextEventMap

Returns ​

boolean

Inherited from ​

DOMContext.has


hitTest() ​

protected hitTest(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 ​

ParameterType
eventsstring[]
xnumber
ynumber

Returns ​

RenderElement[]

Inherited from ​

DOMContext.hitTest


init() ​

protected init(): 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 ​

ParameterType
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 ​

ParameterType
pathSVGPath
xnumber
ynumber
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 ​

ParameterType
pathSVGPath
xnumber
ynumber

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 ParameterDefault type
TResultvoid

Parameters ​

ParameterType
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 ​

ParameterType
textstring
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 ​

ParameterType
typeTEvent
handlerEventHandler<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 ​

ParameterType
typeTEvent
handlerEventHandler<ContextEventMap[TEvent]>
options?EventSubscriptionOptions

Returns ​

Disposable

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 ​

ParameterType
typeTEvent
handlerEventHandler<ContextEventMap[TEvent]>
options?EventSubscriptionOptions

Returns ​

Disposable

Inherited from ​

DOMContext.once


rescale() ​

protected rescale(width, height): void

Defined in: svg/src/index.ts:555

Parameters ​

ParameterType
widthnumber
heightnumber

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() ​

protected retain(value, key?): void

Defined in: core/src/core/disposer.ts:13

Registers a disposable resource under an optional key for later cleanup.

Parameters ​

ParameterTypeDefault value
valueDisposableundefined
keyPropertyKeyDisposer.defaultKey

Returns ​

void

Inherited from ​

DOMContext.retain


rotate() ​

rotate(angle): void

Defined in: svg/src/index.ts:745

Applies a rotation transformation.

Parameters ​

ParameterType
anglenumber

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 ​

ParameterType
xnumber
ynumber

Returns ​

void

Overrides ​

DOMContext.scale


setTransform() ​

setTransform(a, b, c, d, e, f): void

Defined in: svg/src/index.ts:758

Parameters ​

ParameterType
anumber
bnumber
cnumber
dnumber
enumber
fnumber

Returns ​

void

Overrides ​

DOMContext.setTransform


sortByZIndex() ​

protected sortByZIndex(elements): RenderElement[]

Defined in: core/src/context/context.ts:528

Sorts render elements by z-index (highest first) for hit testing priority.

Parameters ​

ParameterType
elementsRenderElement[]

Returns ​

RenderElement[]

Inherited from ​

DOMContext.sortByZIndex


transform() ​

transform(a, b, c, d, e, f): void

Defined in: svg/src/index.ts:763

Parameters ​

ParameterType
anumber
bnumber
cnumber
dnumber
enumber
fnumber

Returns ​

void

Overrides ​

DOMContext.transform


translate() ​

translate(x, y): void

Defined in: svg/src/index.ts:753

Applies a translation transformation.

Parameters ​

ParameterType
xnumber
ynumber

Returns ​

void

Overrides ​

DOMContext.translate