mcut
@mcut/compositor

Canvas2DBackend

Generated TypeScript API reference for the public mcut SDK.

mcut SDK


mcut SDK / compositor/src / Canvas2DBackend

Class: Canvas2DBackend

Defined in: packages/compositor/src/backend.ts:131

The canvas2d backend: draws straight into the target context.

Implements

Constructors

Constructor

new Canvas2DBackend(
   ctx,
   width,
   height): Canvas2DBackend;

Defined in: packages/compositor/src/backend.ts:134

Parameters

ctx

Canvas2D

width

number

height

number

Returns

Canvas2DBackend

Properties

height

readonly height: number;

Defined in: packages/compositor/src/backend.ts:137

Implementation of

RenderBackend.height


kind

readonly kind: "canvas2d" = 'canvas2d';

Defined in: packages/compositor/src/backend.ts:132

Implementation of

RenderBackend.kind


width

readonly width: number;

Defined in: packages/compositor/src/backend.ts:136

Implementation of

RenderBackend.width

Methods

acquireRaster()

acquireRaster(): Canvas2D;

Defined in: packages/compositor/src/backend.ts:150

The frame-space canvas2d context for raster content. Acquiring it marks the raster surface dirty so the backend composites it in z-order; renderers that only need it for text measurement still go through here (text rasterizes anyway).

Returns

Canvas2D

Implementation of

RenderBackend.acquireRaster


beginFrame()

beginFrame(backgroundColor): void;

Defined in: packages/compositor/src/backend.ts:140

Parameters

backgroundColor

string

Returns

void

Implementation of

RenderBackend.beginFrame


drawImageQuad()

drawImageQuad(quad, chrome): void;

Defined in: packages/compositor/src/backend.ts:154

Composite a media quad with chrome — the GPU fast path. Backends without one (or layers a backend cannot run, e.g. raw css filters on WebGPU) draw it through the raster context instead.

Parameters

quad

ImageQuad

chrome

LayerChrome

Returns

void

Implementation of

RenderBackend.drawImageQuad


endFrame()

endFrame(): void;

Defined in: packages/compositor/src/backend.ts:146

Returns

void

Implementation of

RenderBackend.endFrame


popRasterScope()

popRasterScope(): void;

Defined in: packages/compositor/src/backend.ts:159

Returns

void

Implementation of

RenderBackend.popRasterScope


pushRasterScope()

pushRasterScope(): void;

Defined in: packages/compositor/src/backend.ts:158

While a raster scope is open, every draw — including image quads — lands on the raster context, so canvas2d state (clips, alpha, transforms) set by the caller applies. Transition mixes and motion-blur accumulation need this. Scopes nest.

Returns

void

Implementation of

RenderBackend.pushRasterScope

On this page