Skip to main content

Class: VirtualSurface

Defined in: livelink.clients/livelink.js/sources/rendering/surfaces/VirtualSurface.ts:15

A virtual rendering surface.

A virtual surface is a surface that is not backed by a physical canvas. It is used to represent a surface that is not directly rendered to the screen.

Its main usecase is for video recording, where the frame rendered by the server is consumed as is and put directly into a video file.

Extends​

Constructors​

Constructor​

new VirtualSurface(__namedParameters: {
width: number;
height: number;
}): VirtualSurface;

Defined in: livelink.clients/livelink.js/sources/rendering/surfaces/VirtualSurface.ts:38

Creates a new virtual surface.

Parameters​

ParameterType
__namedParameters{ width: number; height: number; }
__namedParameters.widthnumber
__namedParameters.heightnumber

Returns​

VirtualSurface

Overrides​

RenderingSurfaceBase.constructor

Properties​

PropertyModifierTypeDefault valueDescriptionInherited from
viewportsreadonlyViewport[][]List of viewports bound to the current surface.RenderingSurfaceBase.viewports
relative_rectpublicRelativeRectundefinedNormalized dimensions and offset of the surface relative to the remote rendering surface.RenderingSurfaceBase.relative_rect
_scaleprotectednumber1.0Scale of the surface.RenderingSurfaceBase._scale

Accessors​

scale​

Get Signature​

get scale(): number;

Defined in: livelink.clients/livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:49

Scale of the surface.

Returns​

number

Set Signature​

set scale(scale: number): void;

Defined in: livelink.clients/livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:56

Set scale of the surface.

Parameters​
ParameterType
scalenumber
Returns​

void

Inherited from​

RenderingSurfaceBase.scale


dimensions​

Get Signature​

get dimensions(): Vec2;

Defined in: livelink.clients/livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:71

Dimensions of the surface.

Returns​

Vec2

Inherited from​

RenderingSurfaceBase.dimensions


width​

Get Signature​

get width(): number;

Defined in: livelink.clients/livelink.js/sources/rendering/surfaces/VirtualSurface.ts:24

Width of the surface.

Returns​

number

Overrides​

RenderingSurfaceBase.width


height​

Get Signature​

get height(): number;

Defined in: livelink.clients/livelink.js/sources/rendering/surfaces/VirtualSurface.ts:31

Height of the surface.

Returns​

number

Overrides​

RenderingSurfaceBase.height

Methods​

release()​

release(): void;

Defined in: livelink.clients/livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:93

Releases the resources associated with the current surface.

Returns​

void

Inherited from​

RenderingSurfaceBase.release


isValid()​

isValid(): boolean;

Defined in: livelink.clients/livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:104

Returns whether the current surface is valid.

Returns​

boolean

Inherited from​

RenderingSurfaceBase.isValid


drawFrame()​

drawFrame(params: {
decoded_frame: DecodedFrame;
}): void;

Defined in: livelink.clients/livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:115

Draws the portions of the frame associated with the viewports to the backing element. Keeps a reference to the last frame drawn.

Parameters​

ParameterTypeDescription
params{ decoded_frame: DecodedFrame; }-
params.decoded_frameDecodedFrameThe frame to draw.

Returns​

void

Inherited from​

RenderingSurfaceBase.drawFrame


redrawLastFrame()​

redrawLastFrame(): void;

Defined in: livelink.clients/livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:123

Redraws the last frame. No-op if its VideoFrame was since closed by the decoder.

Returns​

void

Inherited from​

RenderingSurfaceBase.redrawLastFrame


reset()​

reset(): void;

Defined in: livelink.clients/livelink.js/sources/rendering/surfaces/RenderingSurfaceBase.ts:133

Resets the surface states.

Returns​

void

Inherited from​

RenderingSurfaceBase.reset


getBoundingRect()​

getBoundingRect(): Rect;

Defined in: livelink.clients/livelink.js/sources/rendering/surfaces/VirtualSurface.ts:46

Returns the bounding rectangle of the surface.

Returns​

Rect

Overrides​

RenderingSurfaceBase.getBoundingRect


addEventListener()​

addEventListener<_EventName>(
event_name: _EventName,
listener: (event: RenderingSurfaceEvents[_EventName]) => void,
options?: boolean | AddEventListenerOptions): void;

Defined in: livelink.clients/livelink.base/sources/TypedEventTarget.ts:10

Type Parameters​

Type Parameter
_EventName extends "on-rendering-surface-resized"

Parameters​

ParameterType
event_name_EventName
listener(event: RenderingSurfaceEvents[_EventName]) => void
options?boolean | AddEventListenerOptions

Returns​

void

Inherited from​

RenderingSurfaceBase.addEventListener


removeEventListener()​

removeEventListener<_EventName>(
event_name: _EventName,
listener: (event: RenderingSurfaceEvents[_EventName]) => void,
options?: boolean | EventListenerOptions): void;

Defined in: livelink.clients/livelink.base/sources/TypedEventTarget.ts:21

Type Parameters​

Type Parameter
_EventName extends "on-rendering-surface-resized"

Parameters​

ParameterType
event_name_EventName
listener(event: RenderingSurfaceEvents[_EventName]) => void
options?boolean | EventListenerOptions

Returns​

void

Inherited from​

RenderingSurfaceBase.removeEventListener