new Image(src)
Image object is used to draw an image from URL.
Parameters:
Name | Type | Description |
---|---|---|
src |
string | Source URL of the image. |
- Source:
Extends
Members
beingDragged :boolean
Flag to indicate if the object is currently being dragged.
Type:
- boolean
- Inherited From:
- Source:
box :Box2
Box object containing the size of the object.
Type:
- Source:
children :Array.<Object2D>
List of children objects attached to the object.
Type:
- Array.<Object2D>
- Inherited From:
- Source:
draggable :boolean
Draggable controls if its possible to drag the object around. Set this true to enable dragging events on this object.
The onPointerDrag callback is used to update the state of the object while being dragged, by default it just updates the object position.
Type:
- boolean
- Inherited From:
- Source:
draw
Draw the object into the canvas, this is called transform() and style(), should be where the content is actually drawn into the canvas.
Should be implemented by underlying classes.
- Overrides:
- Source:
globalMatrix :Matrix
Global transformation matrix multiplied by the parent matrix.
Used to transform the object before projecting into screen coordinates.
Type:
- Inherited From:
- Source:
ignoreViewport :boolean
Flag to indicate whether this object ignores the viewport transformation.
Type:
- boolean
- Inherited From:
- Source:
image :HTMLImageElement
Image source DOM element.
Type:
- HTMLImageElement
- Source:
inverseGlobalMatrix :Matrix
Inverse of the global (world) transform matrix.
Used to convert pointer input points (viewport space) into object coordinates.
Type:
- Inherited From:
- Source:
layer :number
Layer of this object, objects are sorted by layer value.
Lower layer value is draw first, higher layer value is drawn on top.
Type:
- number
- Inherited From:
- Source:
level :number
Depth level in the object tree, objects with higher depth are drawn on top.
The layer value is considered first.
Type:
- number
- Inherited From:
- Source:
masks :Array.<Mask>
Mask objects being applied to this object. Used to mask/subtract portions of this object when rendering.
Multiple masks can be used simultaneously. Same mask might be reused for multiple objects.
Type:
- Array.<Mask>
- Inherited From:
- Source:
matrix :Matrix
Local transformation matrix applied to the object.
Type:
- Inherited From:
- Source:
matrixAutoUpdate :boolean
Indicates if the transform matrix should be automatically updated every frame.
Set this false for better performance. But if you do so dont forget to set matrixNeedsUpdate every time that a transform attribute is changed.
Type:
- boolean
- Inherited From:
- Source:
matrixNeedsUpdate :boolean
Indicates if the matrix needs to be updated, should be set true after changes to the object position, scale or rotation.
The matrix is updated before rendering the object, after the matrix is updated this attribute is automatically reset to false.
Type:
- boolean
- Inherited From:
- Source:
onAdd
Method called when the object its added to a parent.
- Inherited From:
- Source:
onButtonDown
Callback method called when the pointer button is pressed down (single time).
- Inherited From:
- Source:
onButtonPressed
Method called while the pointer button is pressed.
- Inherited From:
- Source:
onButtonUp
Method called when the pointer button is released (single time).
- Inherited From:
- Source:
onDoubleClick
Method called while the pointer button is double clicked.
- Inherited From:
- Source:
onPointerDragEnd
Callback method called when the pointer drag ends after the button has been released.
- Inherited From:
- Source:
onPointerDragStart
Callback method called when the pointer drag start after the button was pressed
- Inherited From:
- Source:
onPointerEnter
Callback method called when the pointer enters the object.
It is not called while the pointer is inside of the object, just on the first time that the pointer enters the object for that use onPointerOver()
- Inherited From:
- Source:
onPointerLeave
Method called when the was inside of the object and leaves the object.
- Inherited From:
- Source:
onPointerOver
Method while the pointer is over (inside) of the object.
- Inherited From:
- Source:
onRemove
Method called when the object gets removed from its parent
- Inherited From:
- Source:
onUpdate
Callback method called every time before the object is draw into the canvas.
Should be used to run object logic, any preparation code, move the object, etc.
This method is called for every object before rendering.
- Inherited From:
- Source:
origin :Vector2
Origin of the object used as point of rotation.
Type:
- Inherited From:
- Source:
parent :Object2D
Parent object, the object position is affected by its parent position.
Type:
- Inherited From:
- Source:
pointerEvents :boolean
Indicates if this object uses pointer events.
Can be set false to skip the pointer interaction events, better performance if pointer events are not required.
Type:
- boolean
- Inherited From:
- Source:
pointerInside :boolean
Flag indicating if the pointer is inside of the element.
Used to control object event.
Type:
- boolean
- Inherited From:
- Source:
position :Vector2
Position of the object.
The world position of the object is affected by its parent transform.
Type:
- Inherited From:
- Source:
restoreContextState :boolean
Flag to indicate if the context of canvas should be restored after render.
Type:
- boolean
- Inherited From:
- Source:
rotation :number
Rotation of the object relative to its center.
The world rotation of the object is affected by the parent transform.
Type:
- number
- Inherited From:
- Source:
saveContextState :boolean
Flag to indicate if the context of canvas should be saved before render.
Type:
- boolean
- Inherited From:
- Source:
scale :Vector2
Scale of the object.
The world scale of the object is affected by the parent transform.
Type:
- Inherited From:
- Source:
serializable :boolean
Indicates if the object should be serialized or not as a child of another object.
Used to prevent duplicate serialization data on custom objects. Should be set false for objects added on constructor.
Type:
- boolean
- Inherited From:
- Source:
style
Style is called right before draw() it should not draw any content into the canvas, all context styling should be applied here (colors, fonts, etc).
The draw() and style() methods can be useful for objects that share the same styling attributes but are drawing differently.
Should be implemented by underlying classes.
- Inherited From:
- Source:
type :string
Type of the object, used for data serialization and/or checking the object type.
The name used should match the object constructor name. But it is not required.
If this type is from an external library you can add the library name to the object type name to prevent collisions.
Type:
- string
- Overrides:
- Source:
uuid :string
UUID of the object.
Type:
- string
- Inherited From:
- Source:
visible :boolean
Indicates if the object is visible.
Type:
- boolean
- Inherited From:
- Source:
Methods
add(object)
Attach a children to this object.
The object is set as children of this object and the transformations applied to this object are traversed to its children.
Parameters:
Name | Type | Description |
---|---|---|
object |
Object2D | Object to attach to this object. |
- Inherited From:
- Source:
destroy()
Destroy the object, removes it from the parent object.
- Inherited From:
- Source:
getChildByUUID(uuid) → {Object2D}
Get a object from its children list by its UUID.
Parameters:
Name | Type | Description |
---|---|---|
uuid |
string | UUID of the object to get. |
- Inherited From:
- Source:
Returns:
The object that has the UUID specified, null if the object was not found.
- Type
- Object2D
getWorldPointIntersections(point, list) → {Array.<Object2D>}
Check if a point in world coordinates intersects this object or its children and get a list of the objects intersected.
Parameters:
Name | Type | Description |
---|---|---|
point |
Vector2 | Point in world coordinates. |
list |
Array.<Object2D> | List of objects intersected passed to children objects recursively. |
- Inherited From:
- Source:
Returns:
List of object intersected by this point.
- Type
- Array.<Object2D>
isInside(point) → {boolean}
Check if a point is inside of the object. Used by the renderer check for pointer collision (required for the object to properly process pointer events).
Point should be in local object coordinates.
To check if a point in world coordinates intersects the object the inverseGlobalMatrix should be applied to that point before calling this method.
Parameters:
Name | Type | Description |
---|---|---|
point |
Vector2 | Point in local object coordinates. |
- Overrides:
- Source:
Returns:
True if the point is inside of the object.
- Type
- boolean
isWorldPointInside(point, recursive) → {boolean}
Check if a point in world coordinates intersects this object or some of its children.
Parameters:
Name | Type | Description |
---|---|---|
point |
Vector2 | Point in world coordinates. |
recursive |
boolean | If set to true it will also check intersections with the object children. |
- Inherited From:
- Source:
Returns:
Returns true if the point in inside of the object.
- Type
- boolean
onPointerDrag(pointer, viewport, delta, positionWorld)
Callback method while the object is being dragged across the screen.
By default is adds the delta value to the object position (making it follow the mouse movement).
Delta is the movement of the pointer already translated into local object coordinates.
To detect when the object drag stops the onPointerDragEnd() method can be used.
Parameters:
Name | Type | Description |
---|---|---|
pointer |
Pointer | Pointer object that receives the user input. |
viewport |
Viewport | Viewport where the object is drawn. |
delta |
Vector2 | Pointer movement diff in world space since the last frame. |
positionWorld |
Vector2 | Position of the dragging pointer in world coordinates. |
- Inherited From:
- Source:
parse(data, root)
Parse serialized object data and fill the object attributes.
Implementations of this method should only load the attributes added to the structure, the based method already loads common attributes.
Dont forget to register object types using the Object2D.register() method.
Parameters:
Name | Type | Description |
---|---|---|
data |
Object | Object data loaded from JSON. |
root |
Object2D | Root object being loaded can be used to get references to other objects. |
- Overrides:
- Source:
remove(children)
Remove object from the children list.
Resets the parent of the object to null and resets its level.
Parameters:
Name | Type | Description |
---|---|---|
children |
Object2D | Object to be removed. |
- Inherited From:
- Source:
serialize(recursive) → {Object}
Serialize the object data into a JSON object. That can be written into a file, sent using HTTP request etc.
All required attributes to recreate the object in its current state should be stored. Relations between children should be stored by their UUID only.
Data has to be parsed back into a usable object.
Parameters:
Name | Type | Description |
---|---|---|
recursive |
boolean | If set false the children list is not serialized, otherwise all children are serialized. |
- Overrides:
- Source:
Returns:
Serialized object data.
- Type
- Object
setImage(src)
Set the image of the object.
Automatically sets the box size to match the image.
Parameters:
Name | Type | Description |
---|---|---|
src |
string | Source URL of the image. |
- Source:
transform(context, viewport, canvas, renderer)
Apply the transform to the rendering context, it is assumed that the viewport transform is pre-applied to the context.
This is called before style() and draw(). It can also be used for some pre-rendering logic.
Parameters:
Name | Type | Description |
---|---|---|
context |
CanvasRenderingContext2D | Canvas 2d drawing context. |
viewport |
Viewport | Viewport applied to the canvas. |
canvas |
Element | DOM canvas element where the content is being drawn. |
renderer |
Renderer | Renderer object being used to draw the object into the canvas. |
- Inherited From:
- Source:
traverse(callback)
Traverse the object tree and run a function for all objects.
Parameters:
Name | Type | Description |
---|---|---|
callback |
function | Callback function that receives the object as parameter. |
- Inherited From:
- Source:
updateMatrix(context)
Update the transformation matrix of the object.
Parameters:
Name | Type | Description |
---|---|---|
context |
CanvasRenderingContext2D | Canvas 2d drawing context. |
- Inherited From:
- Source: