Interface: Stage

Stage

A Stage is a container with the ability to render a stack of layers.

This is a superclass containing logic that is common to all implementations; it should never be instantiated directly. Instead, use one of the subclasses: WebGlStage, CssStage or FlashStage.

Methods

addLayer(layer, i)

Adds a layer into the stage.

Parameters:
Name Type Description
layer Layer

The layer to add.

i number | undefined

The optional position, where 0 ≤ i ≤ n and n is the current number of layers. The default is n, which inserts at the top of the display stack.

Throws:

An error if the layer already belongs to the stage or if the position is invalid.

createTexture(tile, asset, done)

Create a texture for the given tile and asset. Called by TextureStore.

Parameters:
Name Type Description
tile Tile
asset Asset
done function

destroy()

Destructor.

domElement() → {HTMLElement}

Returns:

DOM element where layers are rendered

Type
HTMLElement

hasLayer(layer) → {boolean}

Return whether a layer belongs to the stage.

Parameters:
Name Type Description
layer Layer
Returns:
Type
boolean

height() → {number}

Get the stage height.

Returns:
Type
number

listLayers() → {Array.<Layer>}

Returns a list of all layers belonging to the stage. The returned list is in display order, background to foreground.

Returns:
Type
Array.<Layer>

moveLayer(layer, i)

Moves a layer into a different position in the display stack.

Parameters:
Name Type Description
layer Layer

The layer to move.

i number

The position, where 0 ≤ i ≤ n-1 and n is the current number of layers.

Throws:

An error if the layer does not belong to the stage or if the position is invalid.

registerRenderer(geometryType, viewType, Renderer)

Registers a Renderer for the given Geometry and View type.

The registerDefaultRenderers utility function may be used to register all known renderers for a stage type into that stage. Most users will not need to register renderers, as Viewer does it for them.

Parameters:
Name Type Description
geometryType string

The geometry type, as given by Geometry#type.

viewType string

The view type, as given by View#type.

Renderer *

The renderer class.

removeAllLayers()

Removes all layers from the stage.

removeLayer(layer)

Removes a Layer from the stage.

Parameters:
Name Type Description
layer Layer

The layer to remove.

Throws:

An error if the layer does not belong to the stage.

render()

Render the current frame. Usually called from a RenderLoop.

This contains the rendering logic common to all stage types. Subclasses define the startFrame() and endFrame() methods to perform their own logic.

setSize(obj)

Set the stage dimensions.

This contains the size update logic common to all stage types. Subclasses define the _setSize() method to perform their own logic, if required.

Parameters:
Name Type Description
obj Object
Properties
Name Type Description
width number
height number

size(obj)

Get the stage dimensions. If an object argument is supplied, the object is filled in with the result and returned. Otherwise, a fresh object is returned.

Parameters:
Name Type Description
obj Object
Properties
Name Type Description
width number
height number

type() → {string}

Returns the stage type, used to determine the appropriate renderer for a given geometry and view.

See also Stage#registerRenderer.

Returns:
Type
string

width() → {number}

Get the stage width.

Returns:
Type
number

Events

renderInvalid

Signals that the contents of the stage have been invalidated and must be rendered again.

Listeners of This Event: