new Layer( [options])
Creates a Layer. Additionally, an object literal with Layer options
can be specified.
Signals are triggered when:
ready: the size and layout of the layer is known
update: some new tile is available, or some visualization parameters has changed
loaded: is fired when all the images needed have been downloaded
Parameters:
Name | Type | Argument | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
<optional> |
Properties
|
Fires:
- Layer#event:ready - Fired when layer is initialized
- Layer#event:update - Fired when redraw is needed
- Layer#event:loaded - Fired when all tiles are loaded
- Layer#event:updateSize - Fired when layer size changes
Example
```javascript // Create a basic image layer const layer = new OpenLIME.Layer({ layout: 'deepzoom', type: 'image', url: 'path/to/image.dzi', label: 'Main Image' }); // Add to viewer viewer.addLayer('main', layer); // Listen for events layer.addEvent('ready', () => { console.log('Layer initialized'); }); ```
Methods
-
<static> computeLayersBBox(layers, discardHidden)
-
Computes combined bounding box of multiple layers
Parameters:
Name Type Description layers
Object.<string, Layer> Map of layers
discardHidden
boolean Whether to ignore hidden layers
Returns:
Combined bounding box
- Type
- BoundingBox
-
<static> computeLayersMinScale(layers, discardHidden)
-
Computes minimum scale across layers
Parameters:
Name Type Description layers
Object.<string, Layer> Map of layers
discardHidden
boolean Whether to ignore hidden layers
Returns:
Minimum scale value
- Type
- number
-
addControl(name, value)
-
Adds a shader parameter control
Parameters:
Name Type Description name
string Control identifier
value
* Initial value
Throws:
-
If control already exists
- Type
- Error
-
-
addShaderFilter(filter)
-
Adds a filter to the current shader
Parameters:
Name Type Description filter
Object Filter specification
Throws:
-
If no shader is set
- Type
- Error
-
-
boundingBox()
-
Gets layer bounding box in scene coordinates
Returns:
Bounding box
- Type
- BoundingBox
-
clearShaderFilters(name)
-
Removes all filters from the current shader
Parameters:
Name Type Description name
Object Filter name
Throws:
-
If no shader is set
- Type
- Error
-
-
getControl(name)
-
Gets the shader parameter control corresponding to
name
Parameters:
Name Type Description name
* The name of the control. return {*} The control
-
getMode()
-
Gets the current shader visualization mode
Returns:
Current mode or null if no shader
- Type
- string | null
-
getModes()
-
Gets available shader modes
Returns:
Array of available modes
- Type
- Array.<string>
-
getState( [stateMask])
-
Gets the current layer state
Parameters:
Name Type Argument Default Description stateMask
Object <optional>
null Optional mask to filter returned state properties
Returns:
Current state object
- Type
- Object
-
interpolateControls()
-
Updates control interpolation
Returns:
Whether all interpolations are complete
- Type
- boolean
-
pixelSizePerMM()
-
Gets pixel size in millimeters
Returns:
Size of one pixel in mm
- Type
- number
-
removeShaderFilter(name)
-
Removes a filter from the current shader
Parameters:
Name Type Description name
Object Filter name
Throws:
-
If no shader is set
- Type
- Error
-
-
scale()
-
Gets layer scale
Returns:
Current scale value
- Type
- number
-
setControl(name, value [, dt] [, easing])
-
Sets a shader control value with optional animation
Parameters:
Name Type Argument Default Description name
string Control identifier
value
* New value
dt
number <optional>
Animation duration in ms
easing
string <optional>
'linear' Easing function
Fires:
-
setMode(mode)
-
Sets shader visualization mode
Parameters:
Name Type Description mode
string Mode to set
Fires:
-
setShader(id)
-
Sets the active shader
Parameters:
Name Type Description id
string Shader identifier from registered shaders
Fires:
Throws:
-
If shader ID is not found
- Type
- Error
-
-
setState(state [, dt] [, easing])
-
Sets the layer state with optional animation
Parameters:
Name Type Argument Default Description state
Object State object with controls and mode
dt
number <optional>
Animation duration in ms
easing
string <optional>
'linear' Easing function ('linear'|'ease-out'|'ease-in-out')
-
setTransform(tx)
-
Sets the layer's transform
Parameters:
Name Type Description tx
Transform New transform
Fires:
- Layer#event:updateSize
-
setViewport(view)
-
Sets the layer's viewport
Parameters:
Name Type Description view
Object Viewport specification
Properties
Name Type Description x
number X position
y
number Y position
dx
number Width
dy
number Height
Fires:
-
setVisible(visible)
-
Sets layer visibility
Parameters:
Name Type Description visible
boolean Whether layer should be visible
Fires:
-
setZindex(zindex)
-
Sets layer rendering order
Parameters:
Name Type Description zindex
number Stack order value
Fires: