new Canvas(canvas, overlay, camera [, options])
Creates a new Canvas instance with WebGL context and overlay support.
Parameters:
| Name | Type | Argument | Description | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
canvas |
HTMLCanvasElement | string | Canvas DOM element or selector |
||||||||||||||||||||||||||||||||||||
overlay |
HTMLElement | string | Overlay DOM element or selector for decorations (annotations, glyphs) |
||||||||||||||||||||||||||||||||||||
camera |
Camera | Scene camera instance |
||||||||||||||||||||||||||||||||||||
options |
Object |
<optional> |
Configuration options Properties
|
Fires:
Methods
-
addLayer(id, layer)
-
Adds a layer to the canvas.
Parameters:
Name Type Description idstring Unique identifier for the layer
layerLayer Layer instance to add
Fires:
Throws:
-
If layer ID already exists
- Type
- Error
-
-
dispose()
-
Cleanup resources when canvas is no longer needed
-
getActiveFramebuffer()
-
Gets the currently active framebuffer. Use this when you need to save the state before changing framebuffers.
Returns:
The currently active framebuffer
- Type
- WebGLFramebuffer
-
getState( [stateMask])
-
Retrieves current state of the canvas and its components.
Parameters:
Name Type Argument Default Description stateMaskObject <optional>
null Optional mask to filter returned state properties
Returns:
Current state object
- Type
- Object
-
removeLayer(layer)
-
Removes a layer from the canvas.
Parameters:
Name Type Description layerLayer Layer instance to remove
Example
const layer = new Layer(options); canvas.addLayer('map', layer); // ... later ... canvas.removeLayer(layer); -
setActiveFramebuffer(framebuffer)
-
Sets the active framebuffer. Use this to restore a previously saved state.
Parameters:
Name Type Description framebufferWebGLFramebuffer The framebuffer to activate
-
setSplitViewport(enabled, leftLayerIds, rightLayerIds)
-
Enables or disables split viewport mode and sets which layers appear on each side
Parameters:
Name Type Description enabledboolean Whether split viewport mode is enabled
leftLayerIdsArray.<string> Array of layer IDs to show on left side
rightLayerIdsArray.<string> Array of layer IDs to show on right side
Fires:
-
setState(state, dt [, easing])
-
Updates the state of the canvas and its components.
Parameters:
Name Type Argument Default Description stateObject State object containing updates
Properties
Name Type Argument Description cameraObject <optional>
Camera state updates
layersObject <optional>
Layer state updates
dtnumber Animation duration in milliseconds
easingstring <optional>
'linear' Easing function for animations