Skip to main content

Interface: RenderingState

Defined in: src/diagram/renderingState.ts:132

Stores current rendering state for a single canvas.

Extends​

Properties​

PropertyModifierTypeDescription

events

readonly

Events<RenderingStateEvents>

Events for the rendering state.

shared

readonly

SharedCanvasState

Shared state for all canvases rendering the same model.

Accessors​

interactionBlocked​

Get Signature​

get interactionBlocked(): boolean

Defined in: src/diagram/renderingState.ts:144

Whether any canvas interaction is blocked by a modal overlay.

Returns​

boolean

Methods​

cancelOnLayerUpdate()​

cancelOnLayerUpdate(layer, callback): void

Defined in: src/diagram/renderingState.ts:185

Cancels the previously scheduled callback via RenderingState.scheduleOnLayerUpdate.

If the callback is not currently scheduled on the specified layer, nothing will be done.

Parameters​

ParameterType

layer

RenderingLayer

callback

() => void

Returns​

void


getElementShape()​

getElementShape(element): ShapeGeometry

Defined in: src/diagram/geometry.ts:20

Gets element shape based on its template and the current bounds.

Parameters​

ParameterType

element

Element

Returns​

ShapeGeometry

Inherited from​

SizeProvider.getElementShape


getElementSize()​

getElementSize(element): undefined | Size

Defined in: src/diagram/renderingState.ts:189

Returns computed element size in paper coordinates.

Parameters​

ParameterType

element

Element

Returns​

undefined | Size

Overrides​

SizeProvider.getElementSize


getElementTemplate()​

getElementTemplate(element): ElementTemplate

Defined in: src/diagram/renderingState.ts:197

Resolve template for the graph element.

Parameters​

ParameterType

element

Element

Returns​

ElementTemplate


getLinkLabelBounds()​

getLinkLabelBounds(link): undefined | Rect

Defined in: src/diagram/renderingState.ts:193

Returns computed bounds for a link primary label in paper coordinates.

Parameters​

ParameterType

link

Link

Returns​

undefined | Rect


getLinkTemplate()​

getLinkTemplate(link): LinkTemplate

Defined in: src/diagram/renderingState.ts:201

Resolve template for the graph link.

Parameters​

ParameterType

link

Link

Returns​

LinkTemplate


getRouting()​

getRouting(linkId): undefined | RoutedLink

Defined in: src/diagram/renderingState.ts:209

Return route data for a specific link in the graph.

Parameters​

ParameterType

linkId

string

Returns​

undefined | RoutedLink


getRoutings()​

getRoutings(): ReadonlyMap<string, RoutedLink>

Defined in: src/diagram/renderingState.ts:205

Returns route data for all links in the graph.

Returns​

ReadonlyMap<string, RoutedLink>


scheduleOnLayerUpdate()​

scheduleOnLayerUpdate(layer, callback): void

Defined in: src/diagram/renderingState.ts:177

Schedules a callback until next canvas RenderingLayer update.

If the same callback is scheduled on the same layer, it will run only once on the layer update.

Parameters​

ParameterType

layer

RenderingLayer

callback

() => void

Returns​

void

See​


syncUpdate()​

syncUpdate(): void

Defined in: src/diagram/renderingState.ts:167

Request to synchronously render the canvas, performing any previously deferred updates.

This method should be used before reading from the rendering state after any render-impacting change was made to the diagram content.

Note: it is recommended to avoid calling this method from a React lifecycle hook (e.g. useEffect() or componentDidMount()) due to the warning related to using flushSync() to immediately apply changes. (It can be called from a microtask instead.)

Example:

// Add new element to the diagram
model.addElement(someElement);
// Force synchronous render
view.syncUpdate();
// Read rendered element size
const computedSize = view.getElementSize(someElement);

Returns​

void