API Documentation for: 0.7.1
Show:

Stage Class

Extends Container
Defined in: Stage:39
Module: EaselJS

A stage is the root level Container for a display list. Each time its Stage/tick method is called, it will render its display list to its target canvas.

Example

This example creates a stage, adds a child to it, then uses Ticker to update the child and redraw the stage using update.

 var stage = new createjs.Stage("canvasElementId");
 var image = new createjs.Bitmap("imagePath.png");
 stage.addChild(image);
 createjs.Ticker.addEventListener("tick", handleTick);
 function handleTick(event) {
     image.x += 10;
     stage.update();
 }

Constructor

Stage

(
  • canvas
)

Defined in Stage:39

Parameters:

  • canvas HTMLCanvasElement | String | Object

    A canvas object that the Stage will render to, or the string id of a canvas object in the current document.

Item Index

Methods

_applyFilterBounds

(
  • x
  • y
  • width
  • height
)
Rectangle protected

Parameters:

Returns:

_applyFilters

() protected

_applyShadow

(
  • ctx
  • shadow
)
protected

Parameters:

  • ctx CanvasRenderingContext2D
  • shadow Shadow

_dispatchEvent

(
  • eventObj
  • eventPhase
)
protected

Parameters:

_dispatchMouseEvent

(
  • target
  • type
  • bubbles
  • pointerId
  • o
  • [nativeEvent]
)
protected

Parameters:

_getBounds

(
  • matrix
  • ignoreTransform
)
Rectangle protected

Inherited from DisplayObject but overwritten in _getBounds:608

Parameters:

  • matrix Matrix2D
  • ignoreTransform Boolean

    If true, does not apply this object's transform.

Returns:

_getElementRect

(
  • e
)
protected

Defined in _getElementRect:553

Parameters:

_getObjectsUnderPoint

(
  • x
  • y
  • arr
  • mouse
  • activeListener
)
Array protected

Parameters:

  • x Number
  • y Number
  • arr Array
  • mouse Boolean

    If true, it will respect mouse interaction properties like mouseEnabled, mouseChildren, and active listeners.

  • activeListener Boolean

    If true, there is an active mouse event listener.

Returns:

_getPointerData

(
  • id
)
protected

Defined in _getPointerData:581

Parameters:

_handleDoubleClick

(
  • e
)
protected

Parameters:

_handleMouseDown

(
  • e
)
protected

Parameters:

_handleMouseMove

(
  • e
)
protected

Parameters:

_handleMouseUp

(
  • e
)
protected

Defined in _handleMouseUp:677

Parameters:

_handlePointerDown

(
  • id
  • e
  • pageX
  • pageY
)
protected

Parameters:

_handlePointerMove

(
  • id
  • e
  • pageX
  • pageY
)
protected

Parameters:

_handlePointerUp

(
  • id
  • e
  • clear
)
protected

Parameters:

_isMouseOpaque

() Boolean protected

Indicates whether the display object has any mouse event listeners or a cursor.

Returns:

_testHit

(
  • ctx
)
Boolean protected

Inherited from DisplayObject: _testHit:1245

Parameters:

  • ctx CanvasRenderingContext2D

Returns:

_testMouseOver

(
  • clear
)
protected

Defined in _testMouseOver:751

Parameters:

  • clear Boolean

    If true, clears the mouseover / rollover (ie. no target)

_tick

(
  • params
)
protected

Inherited from DisplayObject but overwritten in _tick:543

Parameters:

  • params Array

    Parameters to pass onto the DisplayObject DisplayObject/tick function.

_transformBounds

(
  • bounds
  • matrix
  • ignoreTransform
)
Rectangle protected

Parameters:

Returns:

_updatePointerPosition

(
  • id
  • e
  • pageX
  • pageY
)
protected

Parameters:

addChild

(
  • child
)
DisplayObject

Inherited from Container: addChild:161

Adds a child to the top of the display list.

Example

container.addChild(bitmapInstance);

You can also add multiple children at once:

 container.addChild(bitmapInstance, shapeInstance, textInstance);

Parameters:

Returns:

DisplayObject:

The child that was added, or the last child if multiple children were added.

addChildAt

(
  • child
  • index
)
DisplayObject

Inherited from Container: addChildAt:188

Adds a child to the display list at the specified index, bumping children at equal or greater indexes up one, and setting its parent to this Container.

Example

addChildAt(child1, index);

You can also add multiple children, such as:

 addChildAt(child1, child2, ..., index);

The index must be between 0 and numChildren. For example, to add myShape under otherShape in the display list, you could use:

 container.addChildAt(myShape, container.getChildIndex(otherShape));

This would also bump otherShape's index up by one. Fails silently if the index is out of range.

Parameters:

Returns:

DisplayObject:

Returns the last child that was added, or the last child if multiple children were added.

addEventListener

(
  • type
  • listener
  • [useCapture]
)
Function | Object

Adds the specified event listener. Note that adding multiple listeners to the same function will result in multiple callbacks getting fired.

Example

 displayObject.addEventListener("click", handleClick);
 function handleClick(event) {
    // Click happened.
 }

Parameters:

  • type String

    The string type of the event.

  • listener Function | Object

    An object with a handleEvent method, or a function that will be called when the event is dispatched.

  • [useCapture] Boolean optional

    For events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.

Returns:

Function | Object:

Returns the listener for chaining or assignment.

cache

(
  • x
  • y
  • width
  • height
  • [scale=1]
)

Inherited from DisplayObject: cache:735

Draws the display object into a new canvas, which is then used for subsequent draws. For complex content that does not change frequently (ex. a Container with many children that do not move, or a complex vector Shape), this can provide for much faster rendering because the content does not need to be re-rendered each tick. The cached display object can be moved, rotated, faded, etc freely, however if its content changes, you must manually update the cache by calling updateCache() or cache() again. You must specify the cache area via the x, y, w, and h parameters. This defines the rectangle that will be rendered and cached using this display object's coordinates.

Example

For example if you defined a Shape that drew a circle at 0, 0 with a radius of 25:

 var shape = new createjs.Shape();
 shape.graphics.beginFill("#ff0000").drawCircle(0, 0, 25);
 myShape.cache(-25, -25, 50, 50);

Note that filters need to be defined before the cache is applied. Check out the Filter class for more information. Some filters (ex. BlurFilter) will not work as expected in conjunction with the scale param.

Usually, the resulting cacheCanvas will have the dimensions widthscale by heightscale, however some filters (ex. BlurFilter) will add padding to the canvas dimensions.

Parameters:

  • x Number

    The x coordinate origin for the cache region.

  • y Number

    The y coordinate origin for the cache region.

  • width Number

    The width of the cache region.

  • height Number

    The height of the cache region.

  • [scale=1] Number optional

    The scale at which the cache will be created. For example, if you cache a vector shape using myShape.cache(0,0,100,100,2) then the resulting cacheCanvas will be 200x200 px. This lets you scale and rotate cached elements with greater fidelity. Default is 1.

clear

()

Defined in clear:394

Clears the target canvas. Useful if autoClear is set to false.

clone

() Stage

Inherited from DisplayObject but overwritten in clone:531

Returns a clone of this Stage.

Returns:

Stage:

A clone of the current Container instance.

cloneProps

(
  • o
)
protected

Inherited from DisplayObject: cloneProps:1188

Parameters:

  • o DisplayObject

    The DisplayObject instance which will have properties from the current DisplayObject instance copied into.

contains

(
  • child
)
Boolean

Inherited from Container: contains:420

Returns true if the specified display object either is this container or is a descendent (child, grandchild, etc) of this container.

Parameters:

Returns:

Boolean:

true if the specified display object either is this container or is a descendent.

dispatchEvent

(
  • eventObj
  • [target]
)
Boolean

Dispatches the specified event to all listeners.

Example

 // Use a string event
 this.dispatchEvent("complete");

 // Use an Event instance
 var event = new createjs.Event("progress");
 this.dispatchEvent(event);

Parameters:

  • eventObj Object | String | Event

    An object with a "type" property, or a string type. While a generic object will work, it is recommended to use a CreateJS Event instance. If a string is used, dispatchEvent will construct an Event instance with the specified type.

  • [target] Object optional

    The object to use as the target property of the event object. This will default to the dispatching object. This parameter is deprecated and will be removed.

Returns:

Boolean:

Returns the value of eventObj.defaultPrevented.

draw

(
  • ctx
  • [ignoreCache=false]
)

Inherited from DisplayObject but overwritten in draw:132

Draws the display object into the specified context ignoring its visible, alpha, shadow, and transform. Returns true if the draw was handled (useful for overriding functionality).

NOTE: This method is mainly for internal use, though it may be useful for advanced uses.

Parameters:

  • ctx CanvasRenderingContext2D

    The canvas 2D context object to draw into.

  • [ignoreCache=false] Boolean optional

    Indicates whether the draw operation should ignore any current cache. For example, used for drawing the cache (to prevent it from simply drawing an existing cache back into itself).

enableDOMEvents

(
  • [enable=true]
)

Defined in enableDOMEvents:491

Enables or disables the event listeners that stage adds to DOM elements (window, document and canvas). It is good practice to disable events when disposing of a Stage instance, otherwise the stage will continue to receive events from the page.

When changing the canvas property you must disable the events on the old canvas, and enable events on the new canvas or mouse events will not work as expected. For example:

 myStage.enableDOMEvents(false);
 myStage.canvas = anotherCanvas;
 myStage.enableDOMEvents(true);

Parameters:

  • [enable=true] Boolean optional

    Indicates whether to enable or disable the events. Default is true.

enableMouseOver

(
  • [frequency=20]
)

Defined in enableMouseOver:461

Enables or disables (by passing a frequency of 0) mouse over (mouseover and mouseout) and roll over events (rollover and rollout) for this stage's display list. These events can be expensive to generate, so they are disabled by default. The frequency of the events can be controlled independently of mouse move events via the optional frequency parameter.

Example

var stage = new createjs.Stage("canvasId"); stage.enableMouseOver(10); // 10 updates per second

Parameters:

  • [frequency=20] Number optional

    Optional param specifying the maximum number of times per second to broadcast mouse over/out events. Set to 0 to disable mouse over events completely. Maximum is 50. A lower frequency is less responsive, but uses less CPU.

getBounds

() Rectangle

Inherited from DisplayObject: getBounds:1061

Returns a rectangle representing this object's bounds in its local coordinate system (ie. with no transformation). Objects that have been cached will return the bounds of the cache.

Not all display objects can calculate their own bounds (ex. Shape). For these objects, you can use setBounds so that they are included when calculating Container bounds.

All All display objects support setting bounds manually using setBounds(). Likewise, display objects that have been cached using cache() will return the bounds of their cache. Manual and cache bounds will override the automatic calculations listed below.
Bitmap Returns the width and height of the sourceRect (if specified) or image, extending from (x=0,y=0).
Sprite Returns the bounds of the current frame. May have non-zero x/y if a frame registration point was specified in the spritesheet data. See also getFrameBounds
Container Returns the aggregate (combined) bounds of all children that return a non-null value from getBounds().
Shape Does not currently support automatic bounds calculations. Use setBounds() to manually define bounds.
Text Returns approximate bounds. Horizontal values (x/width) are quite accurate, but vertical values (y/height) are not, especially when using textBaseline values other than "top".
BitmapText Returns approximate bounds. Values will be more accurate if spritesheet frame registration points are close to (x=0,y=0).

Bounds can be expensive to calculate for some objects (ex. text, or containers with many children), and are recalculated each time you call getBounds(). You can prevent recalculation on static objects by setting the bounds explicitly:

var bounds = obj.getBounds();
obj.setBounds(bounds.x, bounds.y, bounds.width, bounds.height);
// getBounds will now use the set values, instead of recalculating

To reduce memory impact, the returned Rectangle instance may be reused internally; clone the instance or copy its values if you need to retain it.

var myBounds = obj.getBounds().clone();
// OR:
myRect.copy(obj.getBounds());

Returns:

Rectangle:

A Rectangle instance representing the bounds, or null if bounds are not available for this object.

getCacheDataURL

() String

Returns a data URL for the cache, or null if this display object is not cached. Uses cacheID to ensure a new data URL is not generated if the cache has not changed.

Returns:

String:

The image data url for the cache.

getChildAt

(
  • index
)
DisplayObject

Inherited from Container: getChildAt:297

Returns the child at the specified index.

Example

container.getChildAt(2);

Parameters:

  • index Number

    The index of the child to return.

Returns:

DisplayObject:

The child at the specified index. Returns null if there is no child at the index.

getChildByName

(
  • name
)
DisplayObject

Inherited from Container: getChildByName:311

Returns the child with the specified name.

Parameters:

  • name String

    The name of the child to return.

Returns:

DisplayObject:

The child with the specified name.

getChildIndex

(
  • child
)
Number

Inherited from Container: getChildIndex:345

Returns the index of the specified child in the display list, or -1 if it is not in the display list.

Example

var index = container.getChildIndex(child);

Parameters:

Returns:

Number:

The index of the specified child. -1 if the child is not found.

getConcatenatedMatrix

(
  • [mtx]
)
Matrix2D

Generates a concatenated Matrix2D object representing the combined transform of the display object and all of its parent Containers up to the highest level ancestor (usually the Stage). This can be used to transform positions between coordinate spaces, such as with localToGlobal and globalToLocal.

Parameters:

  • [mtx] Matrix2D optional

    A Matrix2D object to populate with the calculated values. If null, a new Matrix2D object is returned.

Returns:

Matrix2D:

a concatenated Matrix2D object representing the combined transform of the display object and all of its parent Containers up to the highest level ancestor (usually the Stage).

getMatrix

(
  • matrix
)
Matrix2D

Inherited from DisplayObject: getMatrix:978

Returns a matrix based on this object's transform.

Parameters:

  • matrix Matrix2D

    Optional. A Matrix2D object to populate with the calculated values. If null, a new Matrix object is returned.

Returns:

Matrix2D:

A matrix representing this display object's transform.

getNumChildren

() Number

Inherited from Container: getNumChildren:359

Returns the number of children in the display list.

Returns:

Number:

The number of children in the display list.

getObjectsUnderPoint

(
  • x
  • y
)
Array

Returns an array of all display objects under the specified coordinates that are in this container's display list. This routine ignores any display objects with mouseEnabled set to false. The array will be sorted in order of visual depth, with the top-most display object at index 0. This uses shape based hit detection, and can be an expensive operation to run, so it is best to use it carefully. For example, if testing for objects under the mouse, test on tick (instead of on mousemove), and only if the mouse's position has changed.

Parameters:

  • x Number

    The x position in the container to test.

  • y Number

    The y position in the container to test.

Returns:

Array:

An Array of DisplayObjects under the specified coordinates.

getObjectUnderPoint

(
  • x
  • y
)
DisplayObject

Similar to Container/getObjectsUnderPoint(), but returns only the top-most display object. This runs significantly faster than getObjectsUnderPoint(), but is still an expensive operation. See getObjectsUnderPoint for more information.

Parameters:

  • x Number

    The x position in the container to test.

  • y Number

    The y position in the container to test.

Returns:

DisplayObject:

The top-most display object under the specified coordinates.

getStage

() Stage

Inherited from DisplayObject: getStage:853

Returns the stage that this display object will be rendered on, or null if it has not been added to one.

Returns:

Stage:

The Stage instance that the display object is a descendent of. null if the DisplayObject has not been added to a Stage.

getTransformedBounds

() Rectangle

Returns a rectangle representing this object's bounds in its parent's coordinate system (ie. with transformations applied). Objects that have been cached will return the transformed bounds of the cache.

Not all display objects can calculate their own bounds (ex. Shape). For these objects, you can use setBounds so that they are included when calculating Container bounds.

To reduce memory impact, the returned Rectangle instance may be reused internally; clone the instance or copy its values if you need to retain it.

Container instances calculate aggregate bounds for all children that return bounds via getBounds.

Returns:

Rectangle:

A Rectangle instance representing the bounds, or null if bounds are not available for this object.

globalToLocal

(
  • x
  • y
)
Point

Transforms the specified x and y position from the global (stage) coordinate space to the coordinate space of the display object. For example, this could be used to determine the current mouse position within the display object. Returns a Point instance with x and y properties correlating to the transformed position in the display object's coordinate space.

Example

 displayObject.x = 300;
 displayObject.y = 200;
 stage.addChild(displayObject);
 var point = myDisplayObject.globalToLocal(100, 100);
 // Results in x=-200, y=-100

Parameters:

  • x Number

    The x position on the stage to transform.

  • y Number

    The y position on the stage to transform.

Returns:

Point:

A Point instance with x and y properties correlating to the transformed position in the display object's coordinate space.

hasEventListener

(
  • type
)
Boolean

Indicates whether there is at least one listener for the specified event type.

Parameters:

  • type String

    The string type of the event.

Returns:

Boolean:

Returns true if there is at least one listener for the specified event.

hitTest

(
  • x
  • y
)
Boolean

Inherited from DisplayObject but overwritten in hitTest:435

Tests whether the display object intersects the specified local point (ie. draws a pixel with alpha > 0 at the specified position). This ignores the alpha, shadow and compositeOperation of the display object, and all transform properties including regX/Y.

Parameters:

  • x Number

    The x position to check in the display object's local coordinates.

  • y Number

    The y position to check in the display object's local coordinates.

Returns:

Boolean:

A Boolean indicating whether there is a visible section of a DisplayObject that overlaps the specified coordinates.

initialize

(
  • canvas
)
protected

Inherited from EventDispatcher but overwritten in initialize:328

Initialization method.

Parameters:

  • canvas HTMLCanvasElement | String | Object

    A canvas object, or the string id of a canvas object in the current document.

isVisible

() Boolean

Inherited from DisplayObject but overwritten in isVisible:112

Returns true or false indicating whether the display object would be visible if drawn to a canvas. This does not account for whether it would be visible within the boundaries of the stage.

NOTE: This method is mainly for internal use, though it may be useful for advanced uses.

Returns:

Boolean:

Boolean indicating whether the display object would be visible if drawn to a canvas

localToGlobal

(
  • x
  • y
)
Point

Transforms the specified x and y position from the coordinate space of the display object to the global (stage) coordinate space. For example, this could be used to position an HTML label over a specific point on a nested display object. Returns a Point instance with x and y properties correlating to the transformed coordinates on the stage.

Example

 displayObject.x = 300;
 displayObject.y = 200;
 stage.addChild(displayObject);
 var point = myDisplayObject.localToGlobal(100, 100);
 // Results in x=400, y=300

Parameters:

  • x Number

    The x position in the source display object to transform.

  • y Number

    The y position in the source display object to transform.

Returns:

Point:

A Point instance with x and y properties correlating to the transformed coordinates on the stage.

localToLocal

(
  • x
  • y
  • target
)
Point

Transforms the specified x and y position from the coordinate space of this display object to the coordinate space of the target display object. Returns a Point instance with x and y properties correlating to the transformed position in the target's coordinate space. Effectively the same as using the following code with localToGlobal and globalToLocal.

 var pt = this.localToGlobal(x, y);
 pt = target.globalToLocal(pt.x, pt.y);

Parameters:

  • x Number

    The x position in the source display object to transform.

  • y Number

    The y position on the source display object to transform.

  • target DisplayObject

    The target display object to which the coordinates will be transformed.

Returns:

Point:

Returns a Point instance with x and y properties correlating to the transformed position in the target's coordinate space.

off

(
  • type
  • listener
  • [useCapture]
)

Inherited from EventDispatcher: off:247

A shortcut to the removeEventListener method, with the same parameters and return value. This is a companion to the .on method.

Parameters:

  • type String

    The string type of the event.

  • listener Function | Object

    The listener function or object.

  • [useCapture] Boolean optional

    For events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.

on

(
  • type
  • listener
  • [scope]
  • [once=false]
  • [data]
  • [useCapture=false]
)
Function

Inherited from EventDispatcher: on:175

A shortcut method for using addEventListener that makes it easier to specify an execution scope, have a listener only run once, associate arbitrary data with the listener, and remove the listener.

This method works by creating an anonymous wrapper function and subscribing it with addEventListener. The created anonymous function is returned for use with .removeEventListener (or .off).

Example

    var listener = myBtn.on("click", handleClick, null, false, {count:3});
    function handleClick(evt, data) {
        data.count -= 1;
        console.log(this == myBtn); // true - scope defaults to the dispatcher
        if (data.count == 0) {
            alert("clicked 3 times!");
            myBtn.off("click", listener);
            // alternately: evt.remove();
        }
    }

Parameters:

  • type String

    The string type of the event.

  • listener Function | Object

    An object with a handleEvent method, or a function that will be called when the event is dispatched.

  • [scope] Object optional

    The scope to execute the listener in. Defaults to the dispatcher/currentTarget for function listeners, and to the listener itself for object listeners (ie. using handleEvent).

  • [once=false] Boolean optional

    If true, the listener will remove itself after the first time it is triggered.

  • [data] optional

    Arbitrary data that will be included as the second parameter when the listener is called.

  • [useCapture=false] Boolean optional

    For events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.

Returns:

Function:

Returns the anonymous function that was created and assigned as the listener. This is needed to remove the listener later using .removeEventListener.

removeAllChildren

()

Removes all children from the display list.

Example

container.removeAlLChildren();

removeAllEventListeners

(
  • [type]
)

Removes all listeners for the specified type, or all listeners of all types.

Example

 // Remove all listeners
 displayObject.removeAllEventListeners();

 // Remove all click listeners
 displayObject.removeAllEventListeners("click");

Parameters:

  • [type] String optional

    The string type of the event. If omitted, all listeners for all types will be removed.

removeChild

(
  • child
)
Boolean

Inherited from Container: removeChild:225

Removes the specified child from the display list. Note that it is faster to use removeChildAt() if the index is already known.

Example

container.removeChild(child);

You can also remove multiple children:

 removeChild(child1, child2, ...);

Returns true if the child (or children) was removed, or false if it was not in the display list.

Parameters:

Returns:

Boolean:

true if the child (or children) was removed, or false if it was not in the display list.

removeChildAt

(
  • index
)
Boolean

Inherited from Container: removeChildAt:251

Removes the child at the specified index from the display list, and sets its parent to null.

Example

 container.removeChildAt(2);

You can also remove multiple children:

 container.removeChild(2, 7, ...)

Returns true if the child (or children) was removed, or false if any index was out of range.

Parameters:

  • index Number

    The index of the child to remove.

Returns:

Boolean:

true if the child (or children) was removed, or false if any index was out of range.

removeEventListener

(
  • type
  • listener
  • [useCapture]
)

Removes the specified event listener.

Important Note: that you must pass the exact function reference used when the event was added. If a proxy function, or function closure is used as the callback, the proxy/closure reference must be used - a new proxy or closure will not work.

Example

 displayObject.removeEventListener("click", handleClick);

Parameters:

  • type String

    The string type of the event.

  • listener Function | Object

    The listener function or object.

  • [useCapture] Boolean optional

    For events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.

set

(
  • props
)
DisplayObject

Inherited from DisplayObject: set:1043

Provides a chainable shortcut method for setting a number of properties on a DisplayObject instance.

Example

 var myGraphics = new createjs.Graphics().beginFill("#ff0000").drawCircle(0, 0, 25);
 var shape = stage.addChild(new Shape())
     .set({graphics:myGraphics, x:100, y:100, alpha:0.5});

Parameters:

  • props Object

    A generic object containing properties to copy to the DisplayObject instance.

Returns:

DisplayObject:

Returns The DisplayObject instance the method is called on (useful for chaining calls.)

setBounds

(
  • x
  • y
  • width
  • height
)

Inherited from DisplayObject: setBounds:1146

Allows you to manually specify the bounds of an object that either cannot calculate their own bounds (ex. Shape & Text) for future reference, or so the object can be included in Container bounds. Manually set bounds will always override calculated bounds.

The bounds should be specified in the object's local (untransformed) coordinates. For example, a Shape instance with a 25px radius circle centered at 0,0 would have bounds of (-25, -25, 50, 50).

Parameters:

  • x Number

    The x origin of the bounds. Pass null to remove the manual bounds.

  • y Number

    The y origin of the bounds.

  • width Number

    The width of the bounds.

  • height Number

    The height of the bounds.

setChildIndex

(
  • child
  • index
)

Inherited from Container: setChildIndex:403

Changes the depth of the specified child. Fails silently if the child is not a child of this container, or the index is out of range.

Parameters:

setTransform

(
  • [x=0]
  • [y=0]
  • [scaleX=1]
  • [scaleY=1]
  • [rotation=0]
  • [skewX=0]
  • [skewY=0]
  • [regX=0]
  • [regY=0]
)
DisplayObject

Shortcut method to quickly set the transform properties on the display object. All parameters are optional. Omitted parameters will have the default value set.

Example

 displayObject.setTransform(100, 100, 2, 2);

Parameters:

  • [x=0] Number optional

    The horizontal translation (x position) in pixels

  • [y=0] Number optional

    The vertical translation (y position) in pixels

  • [scaleX=1] Number optional

    The horizontal scale, as a percentage of 1

  • [scaleY=1] Number optional

    the vertical scale, as a percentage of 1

  • [rotation=0] Number optional

    The rotation, in degrees

  • [skewX=0] Number optional

    The horizontal skew factor

  • [skewY=0] Number optional

    The vertical skew factor

  • [regX=0] Number optional

    The horizontal registration point in pixels

  • [regY=0] Number optional

    The vertical registration point in pixels

Returns:

DisplayObject:

Returns this instance. Useful for chaining commands.

sortChildren

(
  • sortFunction
)

Inherited from Container: sortChildren:325

Performs an array sort operation on the child list.

Example: Display children with a higher y in front.

 var sortFunction = function(obj1, obj2, options) {
     if (obj1.y > obj2.y) { return 1; }
     if (obj1.y < obj2.y) { return -1; }
     return 0;
 }
 container.sortChildren(sortFunction);

Parameters:

  • sortFunction Function

    the function to use to sort the child list. See JavaScript's Array.sort documentation for details.

swapChildren

(
  • child1
  • child2
)

Inherited from Container: swapChildren:383

Swaps the specified children's depth in the display list. Fails silently if either child is not a child of this Container.

Parameters:

swapChildrenAt

(
  • index1
  • index2
)

Inherited from Container: swapChildrenAt:368

Swaps the children at the specified indexes. Fails silently if either index is out of range.

Parameters:

toDataURL

(
  • backgroundColor
  • mimeType
)
String

Defined in toDataURL:405

Returns a data url that contains a Base64-encoded image of the contents of the stage. The returned data url can be specified as the src value of an image element.

Parameters:

  • backgroundColor String

    The background color to be used for the generated image. The value can be any value HTML color value, including HEX colors, rgb and rgba. The default value is a transparent background.

  • mimeType String

    The MIME type of the image format to be create. The default is "image/png". If an unknown MIME type is passed in, or if the browser does not support the specified MIME type, the default value will be used.

Returns:

String:

a Base64 encoded image.

toString

() String

Inherited from EventDispatcher but overwritten in toString:542

Returns a string representation of this object.

Returns:

String:

a string representation of the instance.

uncache

()

Inherited from DisplayObject: uncache:831

Clears the current cache. See cache for more information.

update

(
  • [params]
)

Defined in update:343

Each time the update method is called, the stage will tick all descendants (see: DisplayObject/tick) and then render the display list to the canvas. Any parameters passed to update() will be passed on to any tick event handlers.

Some time-based features in EaselJS (for example Sprite/framerate require that a tick event object (or equivalent) be passed as the first parameter to update(). For example:

 Ticker.addEventListener("tick", handleTick);
    function handleTick(evtObj) {
         // do some work here, then update the stage, passing through the event object:
        myStage.update(evtObj);
    }

Parameters:

  • [params] optional multiple

    Params to include when ticking descendants. The first param should usually be a tick event.

updateCache

(
  • compositeOperation
)

Inherited from DisplayObject: updateCache:778

Redraws the display object to its cache. Calling updateCache without an active cache will throw an error. If compositeOperation is null the current cache will be cleared prior to drawing. Otherwise the display object will be drawn over the existing cache using the specified compositeOperation.

Example

Clear the current graphics of a cached shape, draw some new instructions, and then update the cache. The new line will be drawn on top of the old one.

 // Not shown: Creating the shape, and caching it.
 shapeInstance.clear();
 shapeInstance.setStrokeStyle(3).beginStroke("#ff0000").moveTo(100, 100).lineTo(200,200);
 shapeInstance.updateCache();

Parameters:

updateContext

(
  • ctx
)

Applies this display object's transformation, alpha, globalCompositeOperation, clipping path (mask), and shadow to the specified context. This is typically called prior to draw.

Parameters:

  • ctx CanvasRenderingContext2D

    The canvas 2D to update.

willTrigger

(
  • type
)
Boolean

Indicates whether there is at least one listener for the specified event type on this object or any of its ancestors (parent, parent's parent, etc). A return value of true indicates that if a bubbling event of the specified type is dispatched from this object, it will trigger at least one listener.

This is similar to hasEventListener, but it searches the entire event flow for a listener, not just this object.

Parameters:

  • type String

    The string type of the event.

Returns:

Boolean:

Returns true if there is at least one listener for the specified event.

Properties

_bounds

Rectangle protected

Inherited from DisplayObject: _bounds:647

Default: null

_cacheDataURL

String protected

Default: null

_cacheDataURLID

Number protected

Default: 0

_cacheOffsetX

Number protected

Default: 0

_cacheOffsetY

Number protected

Default: 0

_cacheScale

Number protected

Inherited from DisplayObject: _cacheScale:607

Default: 1

_captureListeners

Object protected

_listeners

Object protected

_matrix

Matrix2D protected

Inherited from DisplayObject: _matrix:631

Default: null

_mouseOverIntervalID

Number protected

_pointerCount

Object private

Defined in _pointerCount:297

Number of active pointers.

_pointerData

Object private

Defined in _pointerData:288

Holds objects with data for each active pointer id. Each object has the following properties: x, y, event, target, overTarget, overX, overY, inBounds, posEvtObj (native event that last updated position)

_primaryPointerID

Object private

The ID of the primary pointer.

_rectangle

Rectangle protected

Inherited from DisplayObject: _rectangle:639

Default: null

_snapToPixelEnabled

Boolean deprecated protected static

Defined in _snapToPixelEnabled:68

Deprecated: Hardware acceleration in modern browsers makes this unnecessary.

Default: false

alpha

Number

Inherited from DisplayObject: alpha:297

The alpha (transparency) for this display object. 0 is fully transparent, 1 is fully opaque.

Default: 1

autoClear

Boolean

Defined in autoClear:144

Indicates whether the stage should automatically clear the canvas before each render. You can set this to false to manually control clearing (for generative art, or when pointing multiple stages at the same canvas for example).

Example

 var stage = new createjs.Stage("canvasId");
 stage.autoClear = false;

Default: true

cacheCanvas

HTMLCanvasElement | Object

Inherited from DisplayObject: cacheCanvas:305

If a cache is active, this returns the canvas that holds the cached version of this display object. See Cache for more information.

Default: null

cacheID

Number

Inherited from DisplayObject: cacheID:544

Returns an ID number that uniquely identifies the current cache for this display object. This can be used to determine if the cache has changed since a previous check.

Default: 0

canvas

HTMLCanvasElement | Object

Defined in canvas:160

The canvas the stage will render to. Multiple stages can share a single canvas, but you must disable autoClear for all but the first stage that will be ticked (or they will clear each other's render).

When changing the canvas property you must disable the events on the old canvas, and enable events on the new canvas or mouse events will not work as expected. For example:

 myStage.enableDOMEvents(false);
 myStage.canvas = anotherCanvas;
 myStage.enableDOMEvents(true);

children

Array

Inherited from Container: children:60

The array of children in the display list. You should usually use the child management methods such as addChild, removeChild, swapChildren, etc, rather than accessing this directly, but it is included for advanced uses.

Default: null

compositeOperation

String

The composite operation indicates how the pixels of this display object will be composited with the elements behind it. If null, this property is inherited from the parent container. For more information, read the whatwg spec on compositing.

Default: null

cursor

String

Inherited from DisplayObject: cursor:579

A CSS cursor (ex. "pointer", "help", "text", etc) that will be displayed when the user hovers over this display object. You must enable mouseover events using the enableMouseOver method to use this property. Setting a non-null cursor on a Container will override the cursor set on its descendants.

Default: null

DisplayObject__tick

Function private

DisplayObject_draw

Function private

DisplayObject_getBounds

Function protected

DisplayObject_initialize

Function private

Inherited from Container but overwritten in DisplayObject_initialize:321

filters

Array

Inherited from DisplayObject: filters:534

An array of Filter objects to apply to this display object. Filters are only applied / updated when Cache or UpdateCache is called on the display object, and only apply to the area that is cached.

Default: null

handleEvent

Function

Defined in handleEvent:378

Default event handler that calls the Stage update method when a tick event is received. This allows you to register a Stage instance as a event listener on Ticker directly, using:

 Ticker.addEventListener("tick", myStage");

Note that if you subscribe to ticks using this pattern, then the tick event object will be passed through to display object tick handlers, instead of delta and paused parameters.

hitArea

DisplayObject

Inherited from DisplayObject but overwritten in hitArea:279

The hitArea property is not supported for Stage.

Default: null

id

Number

Inherited from DisplayObject: id:315

Unique ID for this display object. Makes display objects easier for some uses.

Default: -1

mask

Shape

Inherited from DisplayObject: mask:553

A Shape instance that defines a vector mask (clipping path) for this display object. The shape's transformation will be applied relative to the display object's parent coordinates (as if it were a child of the parent).

Default: null

mouseChildren

Boolean

Inherited from Container: mouseChildren:71

Indicates whether the children of this container are independently enabled for mouse/pointer interaction. If false, the children will be aggregated under the container - for example, a click on a child shape would trigger a click event on the container.

Default: true

mouseEnabled

Boolean

Indicates whether to include this object when running mouse interactions. Setting this to false for children of a Container will cause events on the Container to not fire when that child is clicked. Setting this property to false does not prevent the getObjectsUnderPoint method from returning the child.

Note: In EaselJS 0.7.0, the mouseEnabled property will not work properly with nested Containers. Please check out the latest NEXT version in GitHub for an updated version with this issue resolved. The fix will be provided in the next release of EaselJS.

Default: true

mouseInBounds

Boolean

Defined in mouseInBounds:228

Indicates whether the mouse is currently within the bounds of the canvas.

Default: false

mouseMoveOutside

Boolean

If true, mouse move events will continue to be called when the mouse leaves the target canvas. See mouseInBounds, and MouseEvent x/y/rawX/rawY.

Default: false

mouseX

Number

Defined in mouseX:176

The current mouse X position on the canvas. If the mouse leaves the canvas, this will indicate the most recent position over the canvas, and mouseInBounds will be set to false.

mouseY

Number

Defined in mouseY:185

The current mouse Y position on the canvas. If the mouse leaves the canvas, this will indicate the most recent position over the canvas, and mouseInBounds will be set to false.

name

String

Inherited from DisplayObject: name:348

An optional name for this display object. Included in toString . Useful for debugging.

Default: null

nextStage

Stage

Defined in nextStage:255

NOTE: this name is not final. Feedback is appreciated.

The stage assigned to this property will have mouse interactions relayed to it after this stage handles them. This can be useful in cases where you have multiple canvases layered on top of one another and want your mouse events to pass through. For example, this would relay mouse events from topStage to bottomStage:

 topStage.nextStage = bottomStage;

Note that each stage handles the interactions independently. As such, you could have a click register on an object in the top stage, and another click register in the bottom stage. Consider using a single canvas with cached Container instances instead of multiple canvases.

MouseOver, MouseOut, RollOver, and RollOut interactions will not be passed through. They must be enabled using enableMouseOver for each stage individually.

In most instances, you will also want to disable DOM events for the next stage to avoid duplicate interactions. myNextStage.enableDOMEvents(false);

onClick

Function deprecated

Inherited from DisplayObject: onClick:498

Deprecated: Use addEventListener and the "click" event.

REMOVED. Use addEventListener and the click event.

onDoubleClick

Function deprecated

Inherited from DisplayObject: onDoubleClick:505

Deprecated: Use addEventListener and the "dblclick" event.

REMOVED. Use addEventListener and the dblclick event.

onMouseDown

Function deprecated

Defined in onMouseDown:209

Deprecated: Use addEventListener and the "stagemousedown" event.

REMOVED. Use addEventListener and the stagemousedown event.

onMouseMove

Function deprecated

Defined in onMouseMove:195

Deprecated: Use addEventListener and the "stagemousemove" event.

REMOVED. Use addEventListener and the "stagemousemove event.

onMouseOut

Function deprecated

Inherited from DisplayObject: onMouseOut:519

Deprecated: Use addEventListener and the "mouseout" event.

REMOVED. Use addEventListener and the mouseout event.

onMouseOver

Function deprecated

Inherited from DisplayObject: onMouseOver:512

Deprecated: Use addEventListener and the "mouseover" event.

REMOVED. Use addEventListener and the mouseover event.

onMouseUp

Function deprecated

Defined in onMouseUp:202

Deprecated: Use addEventListener and the "stagemouseup" event.

REMOVED. Use addEventListener and the stagemouseup event.

onPress

Function deprecated

Inherited from DisplayObject: onPress:491

Deprecated: Use addEventListener and the "mousedown" event.

REMOVED. Use addEventListener and the mousedown event.

onTick

Function

Inherited from DisplayObject: onTick:526

REMOVED. Use addEventListener and the tick event.

parent

Container final

Inherited from DisplayObject: parent:357

A reference to the Container or Stage object that contains this display object, or null if it has not been added to one.

Default: null

regX

Number

Inherited from DisplayObject: regX:369

The left offset for this display object's registration point. For example, to make a 100x100px Bitmap rotate around its center, you would set regX and regY to 50.

Default: 0

regY

Number

Inherited from DisplayObject: regY:378

The y offset for this display object's registration point. For example, to make a 100x100px Bitmap rotate around its center, you would set regX and regY to 50.

Default: 0

rotation

Number

Inherited from DisplayObject: rotation:387

The rotation in degrees for this display object.

Default: 0

scaleX

Number

Inherited from DisplayObject: scaleX:395

The factor to stretch this display object horizontally. For example, setting scaleX to 2 will stretch the display object to twice its nominal width. To horizontally flip an object, set the scale to a negative number.

Default: 1

scaleY

Number

Inherited from DisplayObject: scaleY:404

The factor to stretch this display object vertically. For example, setting scaleY to 0.5 will stretch the display object to half its nominal height. To vertically flip an object, set the scale to a negative number.

Default: 1

shadow

Shadow

Inherited from DisplayObject: shadow:429

A shadow object that defines the shadow to render on this display object. Set to null to remove a shadow. If null, this property is inherited from the parent container.

Default: null

skewX

Number

Inherited from DisplayObject: skewX:413

The factor to skew this display object horizontally.

Default: 0

skewY

Number

Inherited from DisplayObject: skewY:421

The factor to skew this display object vertically.

Default: 0

snapToPixel

Boolean deprecated

Inherited from DisplayObject: snapToPixel:473

Deprecated: Hardware acceleration in modern browsers makes this unnecessary.

Indicates whether the display object should have its x & y position rounded prior to drawing it to stage. Snapping to whole pixels can result in a sharper and faster draw for images (ex. Bitmap & cached objects). This only applies if the enclosing stage has Stage/snapPixelsEnabled:property set to true. The snapToPixel property is true by default for Bitmap and Sprite instances, and false for all other display objects.

Note that this applies only rounds the display object's local position. You should ensure that all of the display object's ancestors (parent containers) are also on a whole pixel. You can do this by setting the ancestors' snapToPixel property to true.

Default: false

snapToPixelEnabled

Boolean deprecated

Defined in snapToPixelEnabled:218

Deprecated: Hardware acceleration makes this not beneficial

Indicates whether this stage should use the DisplayObject/snapToPixel property of display objects when rendering them.

Default: false

tickChildren

Boolean

Inherited from Container: tickChildren:81

If false, the tick will not be propagated to children of this Container. This can provide some performance benefits. In addition to preventing the "tick" event from being dispatched, it will also prevent tick related updates on some display objects (ex. Sprite & MovieClip frame advancing, DOMElement visibility handling).

Default: true

tickEnabled

Boolean

Inherited from DisplayObject: tickEnabled:338

If false, the tick will not run on this display object (or its children). This can provide some performance benefits. In addition to preventing the "tick" event from being dispatched, it will also prevent tick related updates on some display objects (ex. Sprite & MovieClip frame advancing, DOMElement visibility handling).

Default: true

tickOnUpdate

Boolean

Defined in tickOnUpdate:236

If true, tick callbacks will be called on all display objects on the stage prior to rendering to the canvas.

Default: true

visible

Boolean

Inherited from DisplayObject: visible:438

Indicates whether this display object should be rendered to the canvas and included when running the Stage Stage/getObjectsUnderPoint method.

Default: true

x

Number

Inherited from DisplayObject: x:447

The x (horizontal) position of the display object, relative to its parent.

Default: 0

y

Number

Inherited from DisplayObject: y:455

Default: 0

Events

click

Inherited from DisplayObject: click:196

Available since 0.6.0

Dispatched when the user presses their left mouse button and then releases it while over the display object. See the MouseEvent class for a listing of event properties.

dblclick

Inherited from DisplayObject: dblclick:203

Available since 0.6.0

Dispatched when the user double clicks their left mouse button over this display object. See the MouseEvent class for a listing of event properties.

drawend

Defined in drawend:137

Available since 0.7.0

Dispatched each update immediately after the display list is drawn to the canvas and the canvas context is restored.

drawstart

Defined in drawstart:131

Available since 0.7.0

Dispatched each update immediately before the canvas is cleared and the display list is drawn to it.

mousedown

Inherited from DisplayObject: mousedown:189

Available since 0.6.0

Dispatched when the user presses their left mouse button over the display object. See the MouseEvent class for a listing of event properties.

mouseenter

Defined in mouseenter:109

Available since 0.7.0

Dispatched when the mouse moves into the canvas area (mouseInBounds == false) from outside it (mouseInBounds == true). This is currently only dispatched for mouse input (not touch). See the MouseEvent class for a listing of event properties.

mouseleave

Defined in mouseleave:101

Available since 0.7.0

Dispatched when the mouse moves from within the canvas area (mouseInBounds == true) to outside it (mouseInBounds == false). This is currently only dispatched for mouse input (not touch). See the MouseEvent class for a listing of event properties.

mouseout

Inherited from DisplayObject: mouseout:218

Available since 0.6.0

Dispatched when the user's mouse leaves this display object. This event must be enabled using enableMouseOver. See also rollout. See the MouseEvent class for a listing of event properties.

mouseover

Inherited from DisplayObject: mouseover:210

Available since 0.6.0

Dispatched when the user's mouse enters this display object. This event must be enabled using enableMouseOver. See also rollover. See the MouseEvent class for a listing of event properties.

pressmove

Inherited from DisplayObject: pressmove:266

Available since 0.7.0

After a mousedown occurs on a display object, a pressmove event will be generated on that object whenever the mouse moves until the mouse press is released. This can be useful for dragging and similar operations.

pressup

Inherited from DisplayObject: pressup:274

Available since 0.7.0

After a mousedown occurs on a display object, a pressup event will be generated on that object when that mouse press is released. This can be useful for dragging and similar operations.

rollout

Inherited from DisplayObject: rollout:246

Available since 0.7.0

This event is similar to mouseout, with the following differences: it does not bubble, and it considers Container instances as an aggregate of their content.

For example, myContainer contains two overlapping children: shapeA and shapeB. The user moves their mouse over shapeA, then directly on to shapeB, then off both. With a listener for Mouseout:event on myContainer, two events would be received, each targeting a child element:

  1. when the mouse leaves shapeA (target=shapeA)
  2. when the mouse leaves shapeB (target=shapeB)
However, with a listener for "rollout" instead, only a single event is received when the mouse leaves the aggregate myContainer content (target=myContainer).

This event must be enabled using enableMouseOver. See the MouseEvent class for a listing of event properties.

rollover

Inherited from DisplayObject: rollover:226

Available since 0.7.0

This event is similar to mouseover, with the following differences: it does not bubble, and it considers Container instances as an aggregate of their content.

For example, myContainer contains two overlapping children: shapeA and shapeB. The user moves their mouse over shapeA and then directly on to shapeB. With a listener for Mouseover:event on myContainer, two events would be received, each targeting a child element:

  1. when the mouse enters shapeA (target=shapeA)
  2. when the mouse enters shapeB (target=shapeB)
However, with a listener for "rollover" instead, only a single event is received when the mouse first enters the aggregate myContainer content (target=myContainer).

This event must be enabled using enableMouseOver. See the MouseEvent class for a listing of event properties.

stagemousedown

Defined in stagemousedown:87

Available since 0.6.0

Dispatched when the user presses their left mouse button on the canvas. See the MouseEvent class for a listing of event properties.

stagemousemove

Defined in stagemousemove:80

Available since 0.6.0

Dispatched when the user moves the mouse over the canvas. See the MouseEvent class for a listing of event properties.

stagemouseup

Defined in stagemouseup:94

Available since 0.6.0

Dispatched when the user the user releases the mouse button anywhere that the page can detect it (this varies slightly between browsers). See the MouseEvent class for a listing of event properties.

tick

Inherited from DisplayObject: tick:282

Available since 0.6.0

Dispatched on each display object on a stage whenever the stage updates. This occurs immediately before the rendering (draw) pass. When update is called, first all display objects on the stage dispatch the tick event, then all of the display objects are drawn to stage. Children will have their Tick:event event dispatched in order of their depth prior to the event being dispatched on their parent.

Event Payload:

  • target Object

    The object that dispatched the event.

  • type String

    The event type.

  • params Array

    An array containing any arguments that were passed to the Stage.update() method. For example if you called stage.update("hello"), then the params would be ["hello"].

tickend

Defined in tickend:124

Available since 0.7.0

Dispatched each update immediately after the tick event is propagated through the display list. Does not fire if tickOnUpdate is false. Precedes the "drawstart" event.

tickstart

Defined in tickstart:117

Available since 0.7.0

Dispatched each update immediately before the tick event is propagated through the display list. Does not fire if tickOnUpdate is false.