Optional
geometry: GraphicsGeometryOptional
_Optional
_The bounds object, this is used to calculate and store the bounds of the displayObject.
Protected
_Flags the cached bounds as dirty.
Protected
_Cache of this display-object's bounds-rectangle.
Protected
_If the object has been destroyed via destroy(). If true, it should not be used.
Protected
_Currently enabled filters.
Protected
_Current fill style.
Protected
_Protected
_Current hole mode is enabled.
Protected
_Which index in the children array the display component was before the previous zIndex sort. Used by containers to help sort objects with the same zIndex, by using previous array index as the decider.
Protected
_Current line style.
Local bounds object, swapped with _bounds
when using getLocalBounds()
.
Protected
_Cache of this display-object's local-bounds rectangle.
Protected
_The original, cached mask of the object.
Protected
_Current shape transform matrix.
Protected
_Protected
_Protected
_Protected
_The zIndex of the displayObject. A higher value will mean it will be rendered on top of other displayObjects within the same container.
Optional
accessibleOptional
accessibleOptional
accessibleOptional
accessibleOptional
accessibleOptional
accessibleThe opacity of the object.
Protected
batchUpdate dirty for limiting calculating batches.
Protected
batchesA collections of batches! These can be drawn by the renderer batch system.
Protected
batchUpdate dirty for limiting calculating tints for batches.
Readonly
childrenThe array of children of this container.
Should this object be rendered if the bounds of this object are out of frame?
Culling has no effect on whether updateTransform is called.
If set, this shape is used for culling instead of the bounds of this object. It can improve the culling performance of objects with many children. The culling area is defined in local space.
Readonly
currentCurrent path
The cursor preferred when the mouse pointer is hovering over.
The mode of interaction for this object
The area the filter is applied to. This is used as more of an optimization rather than figuring out the dimensions of the displayObject each frame you can set this rectangle.
Also works as an interaction mask.
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'
.
The hit-area specifies the area for which pointer events should be captured by this event target.
Whether this event target should fire UI events.
Whether this event target has any children that need UI events. This can be used optimize event propagation.
Returns true if the DisplayObject has interactive 'static' or 'dynamic'
Does any other displayObject use this object as a mask?
Used to fast check if a sprite is.. a sprite!
Handler for 'click' event
Handler for 'globalmousemove' event
Handler for 'globalpointermove' event
Handler for 'globaltouchmove' event
Handler for 'mousedown' event
Handler for 'mouseenter' event
Handler for 'mouseleave' event
Handler for 'mousemove' event
Handler for 'mouseout' event
Handler for 'mouseover' event
Handler for 'mouseup' event
Handler for 'mouseupoutside' event
Handler for 'pointercancel' event
Handler for 'pointerdown' event
Handler for 'pointerenter' event
Handler for 'pointerleave' event
Handler for 'pointermove' event
Handler for 'pointerout' event
Handler for 'pointerover' event
Handler for 'pointertap' event
Handler for 'pointerup' event
Handler for 'pointerupoutside' event
Handler for 'rightclick' event
Handler for 'rightdown' event
Handler for 'rightup' event
Handler for 'rightupoutside' event
Handler for 'tap' event
Handler for 'touchcancel' event
Handler for 'touchend' event
Handler for 'touchendoutside' event
Handler for 'touchmove' event
Handler for 'touchstart' event
Handler for 'wheel' event
The display object container that contains this display object.
Renderer plugin for batching
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.
Optional
renderRepresents the vertex and fragment shaders that processes the geometry and runs on the GPU. Can be shared between multiple Graphics objects.
If set to true, the container will sort its children by zIndex
value
when updateTransform()
is called, or manually if sortChildren()
is called.
This actually changes the order of elements in the array, so should be treated as a basic solution that is not performant compared to other solutions, such as PixiJS Layers
Also be aware of that this may not work nicely with the addChildAt()
function,
as the zIndex
sorting may cause the child to automatically sorted to another position.
Should children be sorted by zIndex at the next updateTransform call.
Will get automatically set to true if a new child is added, or if a child's zIndex changes.
Optional
tabWorld 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.
Protected
vertexCopy of the object vertex data.
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.
Readonly
worldThe multiplied alpha of the displayObject.
Static
Readonly
curvesGraphics curves resolution settings. If adaptive
flag is set to true
,
the resolution is calculated based on the curve's length to ensure better visual quality.
Adaptive draw works with bezierCurveTo
and quadraticCurveTo
.
Static
defaultSets the default value for the container property sortableChildren
.
If set to true, the container will sort its children by zIndex value
when updateTransform()
is called, or manually if sortChildren()
is called.
This actually changes the order of elements in the array, so should be treated as a basic solution that is not performant compared to other solutions, such as PixiJS Layers.
Also be aware of that this may not work nicely with the addChildAt()
function,
as the zIndex
sorting may cause the child to automatically sorted to another position.
Static
prefixedThe 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.
The blend mode to be applied to the graphic shape. Apply a value of
PIXI.BLEND_MODES.NORMAL
to reset the blend mode. Note that, since each
primitive in the GraphicsGeometry list is rendered sequentially, modes
such as PIXI.BLEND_MODES.ADD
and PIXI.BLEND_MODES.MULTIPLY
will
be applied per-primitive.
Readonly flag for destroyed display objects.
The current fill style.
Includes vertex positions, face indices, normals, colors, UVs, and custom attributes within buffers, reducing the cost of passing all this data to the GPU. Can be shared between multiple Mesh or Graphics objects.
The height of the Container, setting this will actually modify the scale to achieve the value set.
The current line style.
Current transform of the object based on local factors: position, scale, other stuff.
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
PIXI.Graphics or a PIXI.Sprite object. This allows for much faster masking in canvas as it
utilities shape clipping. Furthermore, a mask of an object must be in the subtree of its parent.
Otherwise, getLocalBounds
may calculate incorrect bounds, which makes the container's width and height wrong.
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.
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.
The width of the Container, setting this will actually modify the scale to achieve the value set.
Current transform of the object based on world (parent) factors.
Indicates if the object is globally visible.
The position of the displayObject on the x axis relative to the local coordinates of the parent. An alias to position.x
The position of the displayObject on the y axis relative to the local coordinates of the parent. An alias to position.y
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.
Optional
options: boolean | IDestroyOptionsProtected
_Protected
_Initialize the curve
Optional
x: numberOptional
y: numberProtected
_Populating batches for rendering.
Protected
_Recursively updates transform of all objects from the root to this one internal function for toLocal()
Protected
_Renders the object using the WebGL renderer
The renderer
Protected
_Renders the batches using the BathedRenderer plugin
The renderer
Protected
_Renders the graphics direct
The renderer
Protected
_Renders specific DrawCall
Protected
_Protected
Renders this object and its children with culling.
The renderer
Protected
_Resolves shader for direct rendering
The renderer
Adds a child to the container at a specified index. If the index is out of bounds an error will be thrown. If the child is already in this container, it will be moved to the specified index.
The child to add.
The absolute index where the child will be positioned at the end of the operation.
The child that was added.
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
Optional
options: AddListenerOptionsThe arc method creates an arc/curve (used to create circles, or parts of circles).
The x-coordinate of the center of the circle
The y-coordinate of the center of the circle
The radius of the circle
The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle)
The ending angle, in radians
Optional
anticlockwise: booleanSpecifies whether the drawing should be counter-clockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise.
The arcTo
method creates an arc/curve between two tangents on the canvas.
The first tangent is from the start point to the first control point,
and the second tangent is from the first control point to the second control point.
Note that the second control point is not necessarily the end point of the arc.
"borrowed" from https://code.google.com/p/fxcanvas/ - thanks google!
The x-coordinate of the first control point of the arc
The y-coordinate of the first control point of the arc
The x-coordinate of the second control point of the arc
The y-coordinate of the second control point of the arc
The radius of the arc
Specifies a simple one-color fill that subsequent calls to other Graphics methods (such as lineTo() or drawCircle()) use when drawing.
Optional
color: ColorSourcethe color of the fill
Optional
alpha: numberthe alpha of the fill, will override the color's alpha
Begin adding holes to the last draw shape
IMPORTANT: holes must be fully inside a shape to work
Also weirdness ensues if holes overlap!
Ellipses, Circles, Rectangles and Rounded Rectangles cannot be holes or host for holes in CanvasRenderer,
please use moveTo
lineTo
, quadraticCurveTo
if you rely on pixi-legacy bundle.
Begin the texture fill. Note: The wrap mode of the texture is forced to REPEAT on render.
Optional
options: IFillStyleOptionsFill style object.
Texture to fill
Background to fill behind texture
Alpha of fill, overrides the color's alpha
Transform matrix
This Graphics object. Good for chaining method calls
Calculate the points for a bezier curve and then draws it.
Control point x
Control point y
Second Control point x
Second Control point y
Destination point x
Destination point y
This Graphics object. Good for chaining method calls
Recalculates the bounds of the container.
This implementation will automatically fit the children's bounds into the calculation. Each child's bounds is limited to its mask's bounds or filterArea, if any is applied.
Protected
calculateRecalculate the tint by applying tint to batches using Graphics tint.
Protected
calculateIf there's a transform update or a change to the shape of the geometry, recalculate the vertices.
Clears the graphics that were drawn to this Graphics object, and resets fill and line style settings.
Creates a new Graphics object with the same values as this one. Note that only the geometry of the object is cloned, not its transform (position,scale,etc)
Closes the current path.
Tests if a point is inside this graphics object
the point to test
Destroys the Graphics object.
Optional
options: boolean | IDestroyOptionsOptions parameter. A boolean will act as if all options have been set to that value
if set to true, all the children will have their destroy method called as well. 'options' will be passed on to those calls.
Only used for child Sprites if options.children is set to true Should it destroy the texture of the child sprite
Only used for child Sprites if options.children is set to true Should it destroy the base texture of the child sprite
Pair method for enableTempParent
Actual parent of element
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
Draws a circle.
The X coordinate of the center of the circle
The Y coordinate of the center of the circle
The radius of the circle
Draws an ellipse.
The X coordinate of the center of the ellipse
The Y coordinate of the center of the ellipse
The half width of the ellipse
The half height of the ellipse
Draws a rectangle shape.
The X coord of the top-left of the rectangle
The Y coord of the top-left of the rectangle
The width of the rectangle
The height of the rectangle
Draw a rectangle shape with rounded/beveled corners.
The X coord of the top-left of the rectangle
The Y coord of the top-left of the rectangle
The width of the rectangle
The height of the rectangle
Radius of the rectangle corners
Draw any shape.
Shape to draw
Used in Renderer, cacheAsBitmap and other places where you call an updateTransform
on root.
const cacheParent = elem.enableTempParent();
elem.updateTransform();
elem.disableTempParent(cacheParent);
Applies a fill to the lines and shapes that were added since the last call to the beginFill() method.
End adding holes to the last draw shape.
Return an array listing the events for which the emitter has registered listeners.
Protected
finishProtected
Finish the polygon object.
Calculates and returns the (world) bounds of the display object as a [Rectangle]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]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.
Optional
skipUpdate: booleanSetting 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.
Optional
rect: RectangleOptional rectangle to store the result of the bounds calculation.
Returns the child at the specified index
The index to get the child at
Optional
deep: booleanReturns the index position of a child DisplayObject instance
The DisplayObject instance to identify
Optional
point: PointOptional
skipUpdate: booleanRetrieves the local bounds of the displayObject as a rectangle object.
Calling getLocalBounds
may invalidate the _bounds
of the whole subtree below. If using it inside a render()
call, it is advised to call getBounds()
immediately after to recalculate the world bounds of the subtree.
Optional
rect: RectangleOptional rectangle to store the result of the bounds calculation.
Optional
skipChildrenUpdate: booleanSetting to true
will stop re-calculation of children transforms,
it was default behaviour of pixi 4.0-5.2 and caused many problems to users.
True if graphics consists of one rectangle, and thus, can be drawn like a Sprite and masked with gl.scissor.
Specifies the line style used for subsequent calls to Graphics methods such as the lineTo() method or the drawCircle() method.
Optional
width: numberwidth of the line to draw, will update the objects stored style
Optional
color: ColorSourcecolor of the line to draw, will update the objects stored style
Optional
alpha: numberalpha of the line to draw, will update the objects stored style
Optional
alignment: numberalignment of the line to draw, (0 = inner, 0.5 = middle, 1 = outer). WebGL only.
Optional
native: booleanIf true the lines will be draw using LINES instead of TRIANGLE_STRIP
Specifies the line style used for subsequent calls to Graphics methods such as the lineTo() method or the drawCircle() method.
Optional
options: ILineStyleOptionsLine style options
width of the line to draw, will update the objects stored style
color of the line to draw, will update the objects stored style
alpha of the line to draw, will update the objects stored style
alignment of the line to draw, (0 = inner, 0.5 = middle, 1 = outer). WebGL only.
If true the lines will be draw using LINES instead of TRIANGLE_STRIP
line cap style
line join style
miter limit ratio
This Graphics object. Good for chaining method calls
Like line style but support texture for line fill.
Optional
options: ILineStyleOptionsCollection of options for setting line style.
width of the line to draw, will update the objects stored style
Texture to use
color of the line to draw, will update the objects stored style. Default 0xFFFFFF if texture present.
alpha of the line to draw, will update the objects stored style
Texture matrix to transform texture
alignment of the line to draw, (0 = inner, 0.5 = middle, 1 = outer). WebGL only.
If true the lines will be draw using LINES instead of TRIANGLE_STRIP
line cap style
line join style
miter limit ratio
This Graphics object. Good for chaining method calls
Draws a line using the current line style from the current drawing position to (x, y); The current drawing position is then set to (x, y).
the X coordinate to draw to
the Y coordinate to draw to
Return the number of listeners listening to a given event.
Moves the current drawing position to x, y.
the X coordinate to move to
the Y coordinate to move to
Protected
onOverridable method that can be used by Container subclasses whenever the children array is modified.
Optional
_length: numberCalculate the points for a quadratic bezier curve and then draws it. Based on: https://stackoverflow.com/questions/785097/how-do-i-implement-a-bezier-curve-in-c
Control point x
Control point y
Destination point x
Destination point y
Remove all listeners, or those of the specified event.
Optional
event: keyof DisplayObjectEventsRemoves a child from the specified index position.
The index to get the child from
The child that was removed.
Removes all children from this container that are within the begin and end indexes.
Optional
beginIndex: numberThe beginning position.
Optional
endIndex: numberThe ending position. Default value is size of the container.
Removes the event listener in target's event listener list with the same type, callback, and options.
Removes the event listener in target's event listener list with the same type, callback, and options.
Optional
options: RemoveListenerOptionsRemove the DisplayObject from its parent Container. If the DisplayObject has no parent, do nothing.
Renders the object using the WebGL renderer.
The [_render]PIXI.Container#_render method is be overriden for rendering the contents of the
container itself. This render
method will invoke it, and also invoke the render
methods of all
children afterward.
If renderable
or visible
is false or if worldAlpha
is not positive or if cullable
is true and
the bounds of this object are out of frame, this implementation will entirely skip rendering.
See PIXI.DisplayObject for choosing between renderable
or visible
. Generally,
setting alpha to zero is not recommended for purely skipping rendering.
When your scene becomes large (especially when it is larger than can be viewed in a single screen), it is advised to employ culling to automatically skip rendering objects outside of the current screen. See [cullable]PIXI.DisplayObject#cullable and [cullArea]PIXI.DisplayObject#cullArea. Other culling methods might be better suited for a large number static objects; see [@pixi-essentials/cull]https://www.npmjs.com/package/@pixi-essentials/cull and [pixi-cull]https://www.npmjs.com/package/pixi-cull.
The [renderAdvanced]PIXI.Container#renderAdvanced method is internally used when when masking or filtering is applied on a container. This does, however, break batching and can affect performance when masking and filtering is applied extensively throughout the scene graph.
The renderer
Protected
renderRender the object using the WebGL renderer and advanced features.
The renderer
Changes the position of an existing child in the display object container
The child DisplayObject instance for which you want to change the index number
The resulting index number for the child display object
Apply a matrix to the positional data.
Matrix to use for transform current shape.
Set the parent Container of this DisplayObject.
The Container to add this DisplayObject to.
Convenience function to set the position, scale, skew and pivot at once.
Optional
x: numberThe X position
Optional
y: numberThe Y position
Optional
scaleX: numberThe X scale value
Optional
scaleY: numberThe Y scale value
Optional
rotation: numberThe rotation
Optional
skewX: numberThe X skew value
Optional
skewY: numberThe Y skew value
Optional
pivotX: numberThe X pivot value
Optional
pivotY: numberThe Y pivot value
Sorts children by zIndex. Previous order is maintained for 2 children with the same zIndex.
Protected
startProtected
Start a polygon object internally.
Swaps the position of 2 Display Objects within this container.
First display object to swap
Second display object to swap
Calculates the global position of the display object.
The world origin to calculate from.
Optional
point: PA Point object in which to store the value, optional (otherwise will create a new Point).
Optional
skipUpdate: booleanShould we skip the update transform.
Calculates the local position of the display object relative to another point.
The world origin to calculate from.
Optional
from: DisplayObjectThe DisplayObject to calculate the global position from.
Optional
point: PA Point object in which to store the value, optional (otherwise will create a new Point).
Optional
skipUpdate: booleanShould we skip the update transform
Updates the transform on all children of this container for rendering.
Static
mixinMixes all enumerable properties and methods from a source object to DisplayObject.
The source of properties and methods to mix in.
Geometry to use, if omitted will create a new GraphicsGeometry instance.