Class: abstract
RenderingSurfaceBase
Defined in: livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:25
Abstract class for rendering surfaces.
A rendering surface represents the final destination of the rendered frame.
It is usually backed by an HTML Canvas or an OffscreenCanvas.
It can be split into multiple viewports, each with its own camera and render target. The rendering surface if responsible for holding the viewports and their configurations.
It is finally responsible for drawing the portions of the final frame to its backing element.
Extends
TypedEventTarget
<RenderingSurfaceEvents
>
Extended by
Properties
Property | Modifier | Type | Default value | Description |
---|---|---|---|---|
viewports | readonly | Viewport [] | [] | List of viewports bound to the current surface. |
relative_rect | public | RelativeRect | undefined | Normalized dimensions and offset of the surface relative to the remote rendering surface. |
Accessors
dimensions
Get Signature
get dimensions(): Vec2;
Defined in: livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:44
Dimensions of the surface.
Returns
width
Get Signature
get abstract width(): number;
Defined in: livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:51
Width of the surface.
Returns
number
height
Get Signature
get abstract height(): number;
Defined in: livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:56
Height of the surface.
Returns
number
Methods
getBoundingRect()
abstract getBoundingRect(): Rect;
Defined in: livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:61
Returns the bounding rectangle of the surface.
Returns
addViewport()
addViewport(params: {
viewport: Viewport;
}): void;
Defined in: livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:72
Adds a viewport to the current surface.
Note that the viewport knows which section of the surface it should draw to using its Viewport.relative_rect property.
Parameters
Parameter | Type | Description |
---|---|---|
params | { viewport : Viewport ; } | |
params.viewport | Viewport | The viewport to add. |
Returns
void
removeViewport()
removeViewport(params: {
viewport: Viewport;
}): void;
Defined in: livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:82
Removes a viewport from the current surface.
Parameters
Parameter | Type | Description |
---|---|---|
params | { viewport : Viewport ; } | |
params.viewport | Viewport | The viewport to remove. |
Returns
void
release()
release(): void;
Defined in: livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:92
Releases the resources associated with the current surface.
Returns
void
isValid()
isValid(): boolean;
Defined in: livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:102
Returns whether the current surface is valid.
Returns
boolean
drawFrame()
drawFrame(params: {
decoded_frame: DecodedFrame;
}): void;
Defined in: livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:113
Draws the portions of the frame associated with the viewports to the backing element. Keeps a reference to the last frame drawn.
Parameters
Parameter | Type | Description |
---|---|---|
params | { decoded_frame : DecodedFrame ; } | |
params.decoded_frame | DecodedFrame | The frame to draw. |
Returns
void
redrawLastFrame()
redrawLastFrame(): void;
Defined in: livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:121
Redraws the last frame.
Returns
void