Options
All
  • Public
  • Public/Protected
  • All
Menu

A semi-experimental Container that uses a doubly linked list to manage children instead of an array. This means that adding/removing children often is not the same performance hit that it would to be continually pushing/splicing. However, this is primarily intended to be used for heavy particle usage, and may not handle edge cases well if used as a complete Container replacement.

Hierarchy

  • Container
    • LinkedListContainer

Index

Constructors

  • Returns LinkedListContainer

Properties

_bounds: Bounds
_boundsID: number
_boundsRect: Rectangle
_childCount: number = 0
_destroyed: boolean
_enabledFilters: Filter[]
_firstChild: LinkedListChild = null
_height: number
_lastChild: LinkedListChild = null
_lastSortedIndex: number
_localBounds: Bounds
_localBoundsRect: Rectangle
_mask: Container | MaskData
_width: number
_zIndex: number
alpha: number
children: DisplayObject[]
containerUpdateTransform: () => void

Type declaration

    • (): void
    • Returns void

displayObjectUpdateTransform: () => void

Type declaration

    • (): void
    • Returns void

filterArea: Rectangle
filters: Filter[]
isMask: boolean
isSprite: boolean
parent: Container
renderable: boolean
sortDirty: boolean
sortableChildren: boolean
transform: Transform
visible: boolean
worldAlpha: number
prefixed: string | boolean

Accessors

  • get _tempDisplayObjectParent(): TemporaryDisplayObject
  • member

    {PIXI.Container}

    Returns TemporaryDisplayObject

  • get angle(): number
  • set angle(value: number): void
  • The angle of the object in degrees. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.

    member

    {number}

    Returns number

  • The angle of the object in degrees. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.

    member

    {number}

    Parameters

    • value: number

    Returns void

  • get childCount(): number
  • get height(): number
  • set height(value: number): void
  • The height of the Container, setting this will actually modify the scale to achieve the value set

    member

    {number}

    Returns number

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

    member

    {number}

    Parameters

    • value: number

    Returns void

  • get localTransform(): Matrix
  • Current transform of the object based on local factors: position, scale, other stuff.

    member

    {PIXI.Matrix}

    readonly

    Returns Matrix

  • get mask(): Container | MaskData
  • set mask(value: Container | MaskData): void
  • 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 PixiJS a regular mask must be a {@link PIXI.Graphics} or a {@link PIXI.Sprite} object. This allows for much faster masking in canvas as it utilities shape clipping. To remove a mask, set this property to null.

    For sprite mask both alpha and red channel are used. Black mask is the same as transparent mask.

    example

    const graphics = new PIXI.Graphics(); graphics.beginFill(0xFF3300); graphics.drawRect(50, 250, 100, 100); graphics.endFill();

    const sprite = new PIXI.Sprite(texture); sprite.mask = graphics;

    todo

    At the moment, PIXI.CanvasRenderer doesn't support PIXI.Sprite as mask.

    member

    {PIXI.Container|PIXI.MaskData|null}

    Returns Container | MaskData

  • 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 PixiJS a regular mask must be a {@link PIXI.Graphics} or a {@link PIXI.Sprite} object. This allows for much faster masking in canvas as it utilities shape clipping. To remove a mask, set this property to null.

    For sprite mask both alpha and red channel are used. Black mask is the same as transparent mask.

    example

    const graphics = new PIXI.Graphics(); graphics.beginFill(0xFF3300); graphics.drawRect(50, 250, 100, 100); graphics.endFill();

    const sprite = new PIXI.Sprite(texture); sprite.mask = graphics;

    todo

    At the moment, PIXI.CanvasRenderer doesn't support PIXI.Sprite as mask.

    member

    {PIXI.Container|PIXI.MaskData|null}

    Parameters

    • value: Container | MaskData

    Returns void

  • get pivot(): ObservablePoint<any>
  • set pivot(value: ObservablePoint<any>): void
  • The center of rotation, scaling, and skewing for this display object in its local space. The position is the projection of pivot in the parent's local space.

    By default, the pivot is the origin (0, 0).

    since

    PixiJS 4

    member

    {PIXI.ObservablePoint}

    Returns ObservablePoint<any>

  • The center of rotation, scaling, and skewing for this display object in its local space. The position is the projection of pivot in the parent's local space.

    By default, the pivot is the origin (0, 0).

    since

    PixiJS 4

    member

    {PIXI.ObservablePoint}

    Parameters

    • value: ObservablePoint<any>

    Returns void

  • get position(): ObservablePoint<any>
  • set position(value: ObservablePoint<any>): void
  • The coordinate of the object relative to the local coordinates of the parent.

    since

    PixiJS 4

    member

    {PIXI.ObservablePoint}

    Returns ObservablePoint<any>

  • The coordinate of the object relative to the local coordinates of the parent.

    since

    PixiJS 4

    member

    {PIXI.ObservablePoint}

    Parameters

    • value: ObservablePoint<any>

    Returns void

  • get rotation(): number
  • set rotation(value: number): void
  • The rotation of the object in radians. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.

    member

    {number}

    Returns number

  • The rotation of the object in radians. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.

    member

    {number}

    Parameters

    • value: number

    Returns void

  • get scale(): ObservablePoint<any>
  • set scale(value: ObservablePoint<any>): void
  • The scale factors of this object along the local coordinate axes.

    The default scale is (1, 1).

    since

    PixiJS 4

    member

    {PIXI.ObservablePoint}

    Returns ObservablePoint<any>

  • The scale factors of this object along the local coordinate axes.

    The default scale is (1, 1).

    since

    PixiJS 4

    member

    {PIXI.ObservablePoint}

    Parameters

    • value: ObservablePoint<any>

    Returns void

  • get skew(): ObservablePoint<any>
  • set skew(value: ObservablePoint<any>): void
  • The skew factor for the object in radians.

    since

    PixiJS 4

    member

    {PIXI.ObservablePoint}

    Returns ObservablePoint<any>

  • The skew factor for the object in radians.

    since

    PixiJS 4

    member

    {PIXI.ObservablePoint}

    Parameters

    • value: ObservablePoint<any>

    Returns void

  • get width(): number
  • set width(value: number): void
  • The width of the Container, setting this will actually modify the scale to achieve the value set

    member

    {number}

    Returns number

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

    member

    {number}

    Parameters

    • value: number

    Returns void

  • get worldTransform(): Matrix
  • Current transform of the object based on world (parent) factors.

    member

    {PIXI.Matrix}

    readonly

    Returns Matrix

  • get worldVisible(): boolean
  • Indicates if the object is globally visible.

    member

    {boolean}

    readonly

    Returns boolean

  • get x(): number
  • set x(value: number): void
  • The position of the displayObject on the x axis relative to the local coordinates of the parent. An alias to position.x

    member

    {number}

    Returns number

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

    member

    {number}

    Parameters

    • value: number

    Returns void

  • get y(): number
  • set y(value: number): void
  • The position of the displayObject on the y axis relative to the local coordinates of the parent. An alias to position.y

    member

    {number}

    Returns number

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

    member

    {number}

    Parameters

    • value: number

    Returns void

  • get zIndex(): number
  • set zIndex(value: number): void
  • The zIndex of the displayObject.

    If a container has the sortableChildren property set to true, children will be automatically sorted by zIndex value; a higher value will mean it will be moved towards the end of the array, and thus rendered on top of other display objects within the same container.

    member

    {number}

    see

    PIXI.Container#sortableChildren

    Returns number

  • The zIndex of the displayObject.

    If a container has the sortableChildren property set to true, children will be automatically sorted by zIndex value; a higher value will mean it will be moved towards the end of the array, and thus rendered on top of other display objects within the same container.

    member

    {number}

    see

    PIXI.Container#sortableChildren

    Parameters

    • value: number

    Returns void

Methods

  • _calculateBounds(): void
  • Recalculates the content bounds of this object. This should be overriden to calculate the bounds of this specific object (not including children).

    Returns void

  • _recursivePostUpdateTransform(): void
  • Recursively updates transform of all objects from the root to this one internal function for toLocal()

    Returns void

  • _render(_renderer: Renderer): void
  • To be overridden by the subclasses.

    Parameters

    • _renderer: Renderer

    Returns void

  • addChild<T>(...children: T): T[0]
  • addChildAbove<T>(child: T, relative: DisplayObject): T
  • Adds a child to the container to be rendered above another child.

    Type parameters

    • T: DisplayObject<T>

    Parameters

    • child: T

      The child to add

    • relative: DisplayObject

      The current child to add the new child relative to.

    Returns T

    The child that was added.

  • addChildAt<T>(child: T, index: number): T
  • addChildBelow<T>(child: T, relative: DisplayObject): T
  • Adds a child to the container to be rendered below another child.

    Type parameters

    • T: DisplayObject<T>

    Parameters

    • child: T

      The child to add

    • relative: DisplayObject

      The current child to add the new child relative to.

    Returns T

    The child that was added.

  • Parameters

    • event: string | symbol
    • fn: ListenerFn
    • Optional context: any

    Returns LinkedListContainer

  • calculateBounds(): void
  • Recalculates the bounds of the container. Copied from and overrides PixiJS v5 method (v4 method is identical)

    Returns void

  • destroy(options?: boolean | IDestroyOptions): void
  • Removes all internal references and listeners as well as removes children from the display list. Do not use a Container after calling destroy.

    Parameters

    • Optional options: boolean | IDestroyOptions

    Returns void

  • disableTempParent(cacheParent: DisplayObject): void
  • Pair method for enableTempParent

    Parameters

    • cacheParent: DisplayObject

      Actual parent of element

    Returns void

  • emit(event: string | symbol, ...args: any[]): boolean
  • Calls each of the listeners registered for a given event.

    Parameters

    • event: string | symbol
    • Rest ...args: any[]

    Returns boolean

  • enableTempParent(): DisplayObject
  • Used in Renderer, cacheAsBitmap and other places where you call an updateTransform on root

    const cacheParent = elem.enableTempParent();
    elem.updateTransform();
    elem.disableTempParent(cacheParent);

    Returns DisplayObject

    current parent

  • eventNames(): (string | symbol)[]
  • Return an array listing the events for which the emitter has registered listeners.

    Returns (string | symbol)[]

  • getBounds(skipUpdate?: boolean, rect?: Rectangle): Rectangle
  • Calculates and returns the (world) bounds of the display object as a [Rectangle]{@link PIXI.Rectangle}.

    This method is expensive on containers with a large subtree (like the stage). This is because the bounds of a container depend on its children's bounds, which recursively causes all bounds in the subtree to be recalculated. The upside, however, is that calling getBounds once on a container will indeed update the bounds of all children (the whole subtree, in fact). This side effect should be exploited by using displayObject._bounds.getRectangle() when traversing through all the bounds in a scene graph. Otherwise, calling getBounds on each object in a subtree will cause the total cost to increase quadratically as its height increases.

    • The transforms of all objects in a container's subtree and of all ancestors are updated.
    • The world bounds of all display objects in a container's subtree will also be recalculated.

    The _bounds object stores the last calculation of the bounds. You can use to entirely skip bounds calculation if needed.

    const lastCalculatedBounds = displayObject._bounds.getRectangle(optionalRect);
    

    Do know that usage of getLocalBounds can corrupt the _bounds of children (the whole subtree, actually). This is a known issue that has not been solved. See [getLocalBounds]{@link PIXI.DisplayObject#getLocalBounds} for more details.

    getBounds should be called with skipUpdate equal to true in a render() call. This is because the transforms are guaranteed to be update-to-date. In fact, recalculating inside a render() call may cause corruption in certain cases.

    Parameters

    • Optional skipUpdate: boolean
    • Optional rect: Rectangle

    Returns Rectangle

    The minimum axis-aligned rectangle in world space that fits around this object.

  • getChildAt(index: number): DisplayObject
  • getChildIndex(child: DisplayObject): number
  • getLocalBounds(rect?: Rectangle, skipChildrenUpdate?: boolean): Rectangle
  • Retrieves the local bounds of the displayObject as a rectangle object. Copied from and overrides PixiJS v5 method

    Parameters

    • Optional rect: Rectangle
    • skipChildrenUpdate: boolean = false

    Returns Rectangle

  • listenerCount(event: string | symbol): number
  • Return the number of listeners listening to a given event.

    Parameters

    • event: string | symbol

    Returns number

  • listeners(event: string | symbol): ListenerFn[]
  • Return the listeners registered for a given event.

    Parameters

    • event: string | symbol

    Returns ListenerFn[]

  • off(event: string | symbol, fn?: ListenerFn, context?: any, once?: boolean): LinkedListContainer
  • Parameters

    • event: string | symbol
    • Optional fn: ListenerFn
    • Optional context: any
    • Optional once: boolean

    Returns LinkedListContainer

  • Add a listener for a given event.

    Parameters

    • event: string | symbol
    • fn: ListenerFn
    • Optional context: any

    Returns LinkedListContainer

  • onChildrenChange(_length?: number): void
  • Overridable method that can be used by Container subclasses whenever the children array is modified

    Parameters

    • Optional _length: number

    Returns void

  • Add a one-time listener for a given event.

    Parameters

    • event: string | symbol
    • fn: ListenerFn
    • Optional context: any

    Returns LinkedListContainer

  • Remove all listeners, or those of the specified event.

    Parameters

    • Optional event: string | symbol

    Returns LinkedListContainer

  • removeChild<T>(...children: T): T[0]
  • removeChildAt(index: number): DisplayObject
  • removeChildren(beginIndex?: number, endIndex?: number): DisplayObject[]
  • Parameters

    • beginIndex: number = 0
    • endIndex: number = ...

    Returns DisplayObject[]

  • removeListener(event: string | symbol, fn?: ListenerFn, context?: any, once?: boolean): LinkedListContainer
  • Remove the listeners of a given event.

    Parameters

    • event: string | symbol
    • Optional fn: ListenerFn
    • Optional context: any
    • Optional once: boolean

    Returns LinkedListContainer

  • render(renderer: Renderer): void
  • Renders the object using the WebGL renderer. Copied from and overrides PixiJS v5 method

    Parameters

    • renderer: Renderer

    Returns void

  • renderAdvanced(renderer: Renderer): void
  • Render the object using the WebGL renderer and advanced features. Copied from and overrides PixiJS v5 method

    Parameters

    • renderer: Renderer

    Returns void

  • renderCanvas(renderer: any): void
  • Renders the object using the Canvas renderer. Copied from and overrides PixiJS Canvas mixin in V5 and V6.

    Parameters

    • renderer: any

    Returns void

  • setChildIndex(child: DisplayObject, index: number): void
  • setParent(container: Container): Container
  • Set the parent Container of this DisplayObject.

    Parameters

    • container: Container

      The Container to add this DisplayObject to.

    Returns Container

    The Container that this DisplayObject was added to.

  • setTransform(x?: number, y?: number, scaleX?: number, scaleY?: number, rotation?: number, skewX?: number, skewY?: number, pivotX?: number, pivotY?: number): LinkedListContainer
  • Convenience function to set the position, scale, skew and pivot at once.

    Parameters

    • Optional x: number
    • Optional y: number
    • Optional scaleX: number
    • Optional scaleY: number
    • Optional rotation: number
    • Optional skewX: number
    • Optional skewY: number
    • Optional pivotX: number
    • Optional pivotY: number

    Returns LinkedListContainer

    The DisplayObject instance

  • sortChildren(): void
  • Sorts children by zIndex. Previous order is maintained for 2 children with the same zIndex.

    Returns void

  • swapChildren(child: DisplayObject, child2: DisplayObject): void
  • toGlobal<P>(position: IPointData, point?: P, skipUpdate?: boolean): P
  • Calculates the global position of the display object.

    Type parameters

    • P: IPointData = Point

    Parameters

    • position: IPointData

      The world origin to calculate from.

    • Optional point: P
    • Optional skipUpdate: boolean

    Returns P

    A point object representing the position of this object.

  • toLocal<P>(position: IPointData, from?: DisplayObject, point?: P, skipUpdate?: boolean): P
  • Calculates the local position of the display object relative to another point.

    Type parameters

    • P: IPointData = Point

    Parameters

    • position: IPointData

      The world origin to calculate from.

    • Optional from: DisplayObject
    • Optional point: P
    • Optional skipUpdate: boolean

    Returns P

    A point object representing the position of this object

  • updateTransform(): void
  • Updates the transform on all children of this container for rendering. Copied from and overrides PixiJS v5 method (v4 method is identical)

    Returns void

  • mixin(source: Dict<any>): void
  • Mixes all enumerable properties and methods from a source object to DisplayObject.

    Parameters

    • source: Dict<any>

      The source of properties and methods to mix in.

    Returns void

Generated using TypeDoc