Temporary point to use for containsPoint
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.
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.
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.
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.
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 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. 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.
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. 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 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).
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).
The coordinate of the object relative to the local coordinates of the parent.
The coordinate of the object relative to the local coordinates of the parent.
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 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 scale factors of this object along the local coordinate axes.
The default scale is (1, 1).
The scale factors of this object along the local coordinate axes.
The default scale is (1, 1).
The skew factor for the object in radians.
The skew factor for the object in radians.
The tint applied to each graphic shape. This is a hex value. A value of 0xFFFFFF will remove any tint effect.
The tint applied to each graphic shape. This is a hex value. A value of 0xFFFFFF will remove any tint effect.
The width of the Container, setting this will actually modify the scale to achieve the value set
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 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 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.
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.
Retrieves the bounds of the graphic shape as a rectangle object
Initialize the curve
Populating batches for rendering
Recursively updates transform of all objects from the root to this one internal function for toLocal()
Renders the object using the WebGL renderer
The renderer
Renders the batches using the BathedRenderer plugin
The renderer
Renders the graphics direct
The renderer
Renders specific DrawCall
Adds one or more children to the container.
Multiple items can be added like so: myContainer.addChild(thingOne, thingTwo, thingThree)
The DisplayObject(s) to add to the container
The first child that was added.
Adds a child to the container at a specified index. If the index is out of bounds an error will be thrown
The child to add
The index to place the child in
The child that was added.
The 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
This Graphics object. Good for chaining method calls
The arcTo() method creates an arc/curve between two tangents on the canvas.
"borrowed" from https://code.google.com/p/fxcanvas/ - thanks google!
The x-coordinate of the first tangent point of the arc
The y-coordinate of the first tangent point of the arc
The x-coordinate of the end of the arc
The y-coordinate of the end of the arc
The radius of the arc
This Graphics object. Good for chaining method calls
Specifies a simple one-color fill that subsequent calls to other Graphics methods (such as lineTo() or drawCircle()) use when drawing.
This Graphics object. Good for chaining method calls
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.
Returns itself.
Begin the texture fill
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.
Recalculate the tint by applying tint to batches using Graphics tint.
If 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.
This Graphics object. Good for chaining method calls
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)
A clone of the graphics object
Closes the current path.
Returns itself.
Tests if a point is inside this graphics object
the point to test
the result of the test
Destroys the Graphics object.
Pair method for enableTempParent
Actual parent of element
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
This Graphics object. Good for chaining method calls
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
This Graphics object. Good for chaining method calls
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
This Graphics object. Good for chaining method calls
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
This Graphics object. Good for chaining method calls
Calls each of the listeners registered for a given event.
Used in Renderer, cacheAsBitmap and other places where you call an updateTransform
on root
const cacheParent = elem.enableTempParent();
elem.updateTransform();
elem.disableTempParent(cacheParent);
current parent
Applies a fill to the lines and shapes that were added since the last call to the beginFill() method.
This Graphics object. Good for chaining method calls
End adding holes to the last draw shape
Returns itself.
Return an array listing the events for which the emitter has registered listeners.
Finish the polygon object.
Calculates and returns the (world) bounds of the display object as a 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 _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.
The minimum axis-aligned rectangle in world space that fits around this object.
Returns the child at the specified index
The index to get the child at
The child at the given index, if any.
Returns the index position of a child DisplayObject instance
The DisplayObject instance to identify
The index position of the child display object to identify
Retrieves 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.
The rectangular bounding area.
True if graphics consists of one rectangle, and thus, can be drawn like a Sprite and masked with gl.scissor.
True if only 1 rect.
Specifies the line style used for subsequent calls to Graphics methods such as the lineTo() method or the drawCircle() method.
This Graphics object. Good for chaining method calls
Specifies the line style used for subsequent calls to Graphics methods such as the lineTo() method or the drawCircle() method.
This Graphics object. Good for chaining method calls
Like line style but support texture for line fill.
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
This Graphics object. Good for chaining method calls
Return the number of listeners listening to a given event.
Return the listeners registered for a given event.
Moves the current drawing position to x, y.
the X coordinate to move to
the Y coordinate to move to
This Graphics object. Good for chaining method calls
Add a listener for a given event.
Overridable method that can be used by Container subclasses whenever the children array is modified
Add a one-time listener for a given event.
Calculate 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
This Graphics object. Good for chaining method calls
Remove all listeners, or those of the specified event.
Removes one or more children from the container.
The DisplayObject(s) to remove
The first child that was removed.
Removes 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.
List of removed children
Remove the listeners of a given event.
Renders the object using the WebGL renderer.
The [_render]{@link 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, 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. The @pixi-essentials/cull and pixi-cull packages do this out of the box.
The [renderAdvanced]{@link 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
Render 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
Convenience function to set the position, scale, skew and pivot at once.
The DisplayObject instance
Sorts children by zIndex. Previous order is maintained for 2 children with the same zIndex.
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.
A point object representing the position of this object.
Calculates the local position of the display object relative to another point.
The world origin to calculate from.
A point object representing the position of this object
Updates the transform on all children of this container for rendering
Mixes all enumerable properties and methods from a source object to DisplayObject.
The source of properties and methods to mix in.
Generated using TypeDoc
The Graphics class is primarily used to render primitive shapes such as lines, circles and rectangles to the display, and to color and fill them. However, you can also use a Graphics object to build a list of primitives to use as a mask, or as a complex hitArea.
Please note that due to legacy naming conventions, the behavior of some functions in this class can be confusing. Each call to
drawRect()
,drawPolygon()
, etc. actually stores that primitive in the Geometry class's GraphicsGeometry object for later use in rendering or hit testing - the functions do not directly draw anything to the screen. Similarly, theclear()
function doesn't change the screen, it simply resets the list of primitives, which can be useful if you want to rebuild the contents of an existing Graphics object.Once a GraphicsGeometry list is built, you can re-use it in other Geometry objects as an optimization, by passing it into a new Geometry object's constructor. Because of this ability, it's important to call
destroy()
on Geometry objects once you are done with them, to properly dereference each GraphicsGeometry and prevent memory leaks.PIXI