Class: DisplayObject

SINT.DisplayObject

The base class for all objects that are rendered on the screen. This is an abstract class and should not be used on its own rather it should be extended.

new SINT.DisplayObject ()

Extends

  • EventEmitter

Members

alpha number

The opacity of the object.

buttonMode boolean

If enabled, the mouse cursor use the pointer behavior when hovered over the displayObject if it is interactive Setting this changes the 'cursor' property to 'pointer'.

Example
const sprite = new SINT.Sprite(texture);
sprite.interactive = true;
sprite.buttonMode = true;

cursor string

This defines what cursor mode is used when the mouse cursor is hovered over the displayObject.

See:
Example
const sprite = new SINT.Sprite(texture);
sprite.interactive = true;
sprite.cursor = 'wait';

filterArea SINT.Rectangle

The area the filter is applied to. This is used as more of an optimisation rather than figuring out the dimensions of the displayObject each frame you can set this rectangle

Also works as an interaction mask

filters Array.<SINT.Filter>

Sets the filters for the displayObject.

  • IMPORTANT: This is a webGL only feature and will be ignored by the canvas renderer. To remove filters simply set this property to 'null'

Interaction shape. Children will be hit first, then this shape will be checked. Setting this will cause this shape to be checked in hit tests rather than the displayObject's bounds.

Example
const sprite = new SINT.Sprite(texture);
sprite.interactive = true;
sprite.hitArea = new SINT.Rectangle(0, 0, 100, 100);

interactive boolean

Enable interaction events for the DisplayObject. Touch, pointer and mouse events will not be emitted unless interactive is set to true.

Example
const sprite = new SINT.Sprite(texture);
sprite.interactive = true;
sprite.on('tap', (event) => {
   //handle event
});

localTransform SINT.Matrix readonly

Current transform of the object based on local factors: position, scale, other stuff

mask SINT.Graphics | SINT.Sprite

Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. In SINT a regular mask must be a SINT.Graphics or a SINT.Sprite object. This allows for much faster masking in canvas as it utilises shape clipping. To remove a mask, set this property to null.

TODO
  • For the moment, SINT.CanvasRenderer doesn't support SINT.Sprite as mask.

parent SINT.Container readonly

The display object container that contains this display object.

The pivot point of the displayObject that it rotates around. Assignment by value since SINT-v4.

The coordinate of the object relative to the local coordinates of the parent. Assignment by value since SINT-v4.

renderable boolean

Can this object be rendered, if false the object will not be drawn but the updateTransform methods will still be called.

Only affects recursive calls from parent. You can ask for bounds manually

rotation number

The rotation of the object in radians.

The scale factor of the object. Assignment by value since SINT-v4.

The skew factor for the object in radians. Assignment by value since SINT-v4.

transform SINT.TransformBase

World transform and local transform of this object. This will become read-only later, please do not assign anything there unless you know what are you doing

visible boolean

The visibility of the object. If false the object will not be drawn, and the updateTransform function will not be called.

Only affects recursive calls from parent. You can ask for bounds or call updateTransform manually

worldAlpha number readonly

The multiplied alpha of the displayObject

worldTransform SINT.Matrix readonly

Current transform of the object based on world (parent) factors

worldVisible boolean readonly

Indicates if the object is globally visible.

x number

The position of the displayObject on the x axis relative to the local coordinates of the parent. An alias to position.x

y number

The position of the displayObject on the y axis relative to the local coordinates of the parent. An alias to position.y

Methods

_recursivePostUpdateTransform ()

recursively updates transform of all objects from the root to this one internal function for toLocal()

destroy ()

Base destroy method for generic display objects. This will automatically remove the display object from its parent Container as well as remove all current event listeners and internal references. Do not use a DisplayObject after calling destroy.

getBounds (skipUpdate, rect)SINT.Rectangle

Retrieves the bounds of the displayObject as a rectangle object.

Name Type Description
skipUpdate boolean

setting to true will stop the transforms of the scene graph from being updated. This means the calculation returned MAY be out of date BUT will give you a nice performance boost

rect SINT.Rectangle

Optional rectangle to store the result of the bounds calculation

Returns:
Type Description
SINT.Rectangle the rectangular bounding area

getLocalBounds (rect)SINT.Rectangle

Retrieves the local bounds of the displayObject as a rectangle object

Name Type Description
rect SINT.Rectangle optional

Optional rectangle to store the result of the bounds calculation

Returns:
Type Description
SINT.Rectangle the rectangular bounding area

renderCanvas (renderer)

Renders the object using the Canvas renderer

Name Type Description
renderer SINT.CanvasRenderer

The renderer

renderWebGL (renderer)

Renders the object using the WebGL renderer

Name Type Description
renderer SINT.WebGLRenderer

The renderer

setParent (container)SINT.Container

Set the parent Container of this DisplayObject

Name Type Description
container SINT.Container

The Container to add this DisplayObject to

Returns:
Type Description
SINT.Container The Container that this DisplayObject was added to

setTransform (x, y, scaleX, scaleY, rotation, skewX, skewY, pivotX, pivotY)SINT.DisplayObject

Convenience function to set the position, scale, skew and pivot at once.

Name Type Default Description
x number 0 optional

The X position

y number 0 optional

The Y position

scaleX number 1 optional

The X scale value

scaleY number 1 optional

The Y scale value

rotation number 0 optional

The rotation

skewX number 0 optional

The X skew value

skewY number 0 optional

The Y skew value

pivotX number 0 optional

The X pivot value

pivotY number 0 optional

The Y pivot value

Returns:
Type Description
SINT.DisplayObject The DisplayObject instance

toGlobal (position, point, skipUpdate)SINT.Point

Calculates the global position of the display object

Name Type Default Description
position SINT.Point

The world origin to calculate from

point SINT.Point optional

A Point object in which to store the value, optional (otherwise will create a new Point)

skipUpdate boolean false optional

Should we skip the update transform.

Returns:
Type Description
SINT.Point A point object representing the position of this object

toLocal (position, from, point, skipUpdate)SINT.Point

Calculates the local position of the display object relative to another point

Name Type Default Description
position SINT.Point

The world origin to calculate from

from SINT.DisplayObject optional

The DisplayObject to calculate the global position from

point SINT.Point optional

A Point object in which to store the value, optional (otherwise will create a new Point)

skipUpdate boolean false optional

Should we skip the update transform

Returns:
Type Description
SINT.Point A point object representing the position of this object

updateTransform ()

Updates the object transform for rendering

TODO - Optimization pass!