Class: Container

SINT.Container

A Container represents a collection of display objects. It is the base class of all display objects that act as a container for other objects.

let container = new SINT.Container();
container.addChild(sprite);

new SINT.Container ()

Extends

Members

alpha number inherited overrides

The opacity of the object.

buttonMode boolean inherited overrides

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;

children Array.<SINT.DisplayObject> readonly

The array of children of this container.

cursor string inherited overrides

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';

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> inherited overrides

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'

height number

The height of the Container, setting this will actually modify the scale to achieve the value set

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 inherited overrides

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
});

interactiveChildren boolean

Determines if the children to the displayObject can be clicked/touched Setting this to false allows SINTJS to bypass a recursive hitTest function

localTransform SINT.Matrix readonly inherited overrides

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

mask SINT.Graphics | SINT.Sprite inherited overrides

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.

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 inherited overrides

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 inherited overrides

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.

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 inherited overrides

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

width number

The width of the Container, setting this will actually modify the scale to achieve the value set

worldAlpha number readonly inherited overrides

The multiplied alpha of the displayObject

worldTransform SINT.Matrix readonly inherited overrides

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

worldVisible boolean readonly inherited overrides

Indicates if the object is globally visible.

x number inherited overrides

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

y number inherited overrides

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

Methods

_calculateBounds ()

Recalculates the bounds of the object. Override this to calculate the bounds of the specific object (not including children).

_recursivePostUpdateTransform () inherited overrides

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

addChild (child)SINT.DisplayObject

Adds one or more children to the container.

Multiple items can be added like so: myContainer.addChild(thingOne, thingTwo, thingThree)

Name Type Description
child SINT.DisplayObject repeatable

The DisplayObject(s) to add to the container

Returns:
Type Description
SINT.DisplayObject The first child that was added.

addChildAt (child, index)SINT.DisplayObject

Adds a child to the container at a specified index. If the index is out of bounds an error will be thrown

Name Type Description
child SINT.DisplayObject

The child to add

index number

The index to place the child in

Returns:
Type Description
SINT.DisplayObject The child that was added.

calculateBounds ()

Recalculates the bounds of the container.

destroy (options) overrides

Removes all internal references and listeners as well as removes children from the display list. Do not use a Container after calling destroy.

Name Type Description
options object | boolean optional

Options parameter. A boolean will act as if all options have been set to that value

Name Type Default Description
children boolean false optional

if set to true, all the children will have their destroy method called as well. 'options' will be passed on to those calls.

texture boolean false optional

Only used for child Sprites if options.children is set to true Should it destroy the texture of the child sprite

baseTexture boolean false optional

Only used for child Sprites if options.children is set to true Should it destroy the base texture of the child sprite

getBounds (skipUpdate, rect)SINT.Rectangle inherited overrides

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

getChildAt (index)SINT.DisplayObject

Returns the child at the specified index

Name Type Description
index number

The index to get the child at

Returns:
Type Description
SINT.DisplayObject The child at the given index, if any.

getChildIndex (child)number

Returns the index position of a child DisplayObject instance

Name Type Description
child SINT.DisplayObject

The DisplayObject instance to identify

Returns:
Type Description
number The index position of the child display object to identify

getLocalBounds (rect)SINT.Rectangle inherited overrides

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

removeChild (child)SINT.DisplayObject

Removes one or more children from the container.

Name Type Description
child SINT.DisplayObject repeatable

The DisplayObject(s) to remove

Returns:
Type Description
SINT.DisplayObject The first child that was removed.

removeChildAt (index)SINT.DisplayObject

Removes a child from the specified index position.

Name Type Description
index number

The index to get the child from

Returns:
Type Description
SINT.DisplayObject The child that was removed.

removeChildren (beginIndex, endIndex)Array.<DisplayObject>

Removes all children from this container that are within the begin and end indexes.

Name Type Default Description
beginIndex number 0 optional

The beginning position.

endIndex number this.children.length optional

The ending position. Default value is size of the container.

Returns:
Type Description
Array.<DisplayObject> List of removed children

renderCanvas (renderer) overrides

Renders the object using the Canvas renderer

Name Type Description
renderer SINT.CanvasRenderer

The renderer

renderWebGL (renderer) overrides

Renders the object using the WebGL renderer

Name Type Description
renderer SINT.WebGLRenderer

The renderer

setChildIndex (child, index)

Changes the position of an existing child in the display object container

Name Type Description
child SINT.DisplayObject

The child DisplayObject instance for which you want to change the index number

index number

The resulting index number for the child display object

setParent (container)SINT.Container inherited overrides

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 inherited overrides

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

swapChildren (child, child2)

Swaps the position of 2 Display Objects within this container.

Name Type Description
child SINT.DisplayObject

First display object to swap

child2 SINT.DisplayObject

Second display object to swap

toGlobal (position, point, skipUpdate)SINT.Point inherited overrides

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 inherited overrides

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 () overrides

Updates the transform on all children of this container for rendering