#

API Docs for: 1.5.0
Show: Inherited Protected Private Deprecated

# Graphics Class

Extends DisplayObjectContainer
Defined in: `src/pixi/primitives/Graphics.js:6`
Module: PIXI

The Graphics class contains a set of methods that you can use to create primitive shapes and lines. It is important to know that with the webGL renderer only simple polygons can be filled at this stage Complex polygons will not be filled. Heres an example of a complex polygon: http://www.goodboydigital.com/wp-content/uploads/2013/06/complexPolygon.png

## Constructor

### `Graphics`

()

Defined in `src/pixi/primitives/Graphics.js:6`

- Index
- Methods
- Properties

## Item Index

### Methods

- _generateCachedSprite
- _renderCanvas
- _renderWebGL
- addChild
- addChildAt
- beginFill
- clear
- click
- drawCircle
- drawEllipse
- drawRect
- endFill
- generateTexture
- getBounds
- getChildAt
- getLocalBounds
- lineStyle
- lineTo
- mousedown
- mouseout
- mouseover
- mouseup
- mouseupoutside
- moveTo
- removeChild
- removeChildAt
- removeChildren
- removeStageReference
- setInteractive deprecated
- setStageReference
- swapChildren
- tap
- touchend
- touchendoutside
- touchstart
- updateBounds

### Properties

- _bounds
- _currentBounds
- _interactive
- _webGL
- alpha
- blendMode
- bounds
- bounds
- buttonMode
- cacheAsBitmap
- children
- color
- currentPath
- defaultCursor
- dynamic
- fillAlpha
- filterArea
- filters
- graphicsData
- height
- hitArea
- interactive
- isMask
- lineColor
- lineWidth
- mask
- parent
- pivot
- position
- renderable
- rotation
- scale
- stage
- tint
- visible
- width
- worldAlpha
- worldTransform
- worldVisible
- x
- y

## Methods

### `_generateCachedSprite`

() private

Defined in `src/pixi/primitives/Graphics.js:599`

Generates the cached sprite when the sprite has cacheAsBitmap = true

### `_renderCanvas`

(

- `renderSession`

)
private

Inherited from DisplayObject but overwritten in `src/pixi/primitives/Graphics.js:423`

Renders the object using the Canvas renderer

#### Parameters:

- `renderSession` RenderSession

### `_renderWebGL`

(

- `renderSession`

)
private

Inherited from DisplayObject but overwritten in `src/pixi/primitives/Graphics.js:354`

Renders the object using the WebGL renderer

#### Parameters:

- `renderSession` RenderSession

### `addChild`

(

- `child`

)

Inherited from DisplayObjectContainer: `src/pixi/display/DisplayObjectContainer.js:70`

Adds a child to the container.

#### Parameters:

- `child` DisplayObject

  The DisplayObject to add to the container

### `addChildAt`

(

- `child`
- `index`

)

Inherited from DisplayObjectContainer: `src/pixi/display/DisplayObjectContainer.js:81`

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

#### Parameters:

- `child` DisplayObject

  The child to add

- `index` Number

  The index to place the child in

### `beginFill`

(

- `color`
- `alpha`

)

Defined in `src/pixi/primitives/Graphics.js:213`

Specifies a simple one-color fill that subsequent calls to other Graphics methods (such as lineTo() or drawCircle()) use when drawing.

#### Parameters:

- `color` Number

  the color of the fill

- `alpha` Number

  the alpha of the fill

### `clear`

()

Defined in `src/pixi/primitives/Graphics.js:314`

Clears the graphics that were drawn to this Graphics object, and resets fill and line style settings.

### `click`

(

- `interactionData`

)

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:206`

A callback that is used when the users clicks on the displayObject with their mouse

#### Parameters:

- `interactionData` InteractionData

### `drawCircle`

(

- `x`
- `y`
- `radius`

)

Defined in `src/pixi/primitives/Graphics.js:267`

Draws a circle.

#### Parameters:

- `x` Number

  The X coordinate of the center of the circle

- `y` Number

  The Y coordinate of the center of the circle

- `radius` Number

  The radius of the circle

### `drawEllipse`

(

- `x`
- `y`
- `width`
- `height`

)

Defined in `src/pixi/primitives/Graphics.js:290`

Draws an ellipse.

#### Parameters:

- `x` Number

  The X coordinate of the upper-left corner of the framing rectangle of this ellipse

- `y` Number

  The Y coordinate of the upper-left corner of the framing rectangle of this ellipse

- `width` Number

  The width of the ellipse

- `height` Number

  The height of the ellipse

### `drawRect`

(

- `x`
- `y`
- `width`
- `height`

)

Defined in `src/pixi/primitives/Graphics.js:245`

#### Parameters:

- `x` Number

  The X coord of the top-left of the rectangle

- `y` Number

  The Y coord of the top-left of the rectangle

- `width` Number

  The width of the rectangle

- `height` Number

  The height of the rectangle

### `endFill`

()

Defined in `src/pixi/primitives/Graphics.js:231`

Applies a fill to the lines and shapes that were added since the last call to the beginFill() method.

### `generateTexture`

() Texture

Defined in `src/pixi/primitives/Graphics.js:333`

Useful function that returns a texture of the graphics object that can then be used to create sprites This can be quite useful if your geometry is complicated and needs to be reused multiple times.

#### Returns:

Texture:

a texture of the graphics object

### `getBounds`

() Rectangle

Inherited from DisplayObject but overwritten in `src/pixi/primitives/Graphics.js:454`

Retrieves the bounds of the graphic shape as a rectangle object

#### Returns:

Rectangle:

the rectangular bounding area

### `getChildAt`

(

- `index`

)

Inherited from DisplayObjectContainer: `src/pixi/display/DisplayObjectContainer.js:135`

Returns the child at the specified index

#### Parameters:

- `index` Number

  The index to get the child from

### `getLocalBounds`

() Rectangle

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:472`

Retrieves the local bounds of the displayObject as a rectangle object

#### Returns:

Rectangle:

the rectangular bounding area

### `lineStyle`

(

- `lineWidth`
- `color`
- `alpha`

)

Defined in `src/pixi/primitives/Graphics.js:152`

Specifies the line style used for subsequent calls to Graphics methods such as the lineTo() method or the drawCircle() method.

#### Parameters:

- `lineWidth` Number

  width of the line to draw, will update the object's stored style

- `color` Number

  color of the line to draw, will update the object's stored style

- `alpha` Number

  alpha of the line to draw, will update the object's stored style

### `lineTo`

(

- `x`
- `y`

)

Defined in `src/pixi/primitives/Graphics.js:197`

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).

#### Parameters:

- `x` Number

  the X coordinate to draw to

- `y` Number

  the Y coordinate to draw to

### `mousedown`

(

- `interactionData`

)

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:212`

A callback that is used when the user clicks the mouse down over the sprite

#### Parameters:

- `interactionData` InteractionData

### `mouseout`

(

- `interactionData`

)

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:238`

A callback that is used when the users mouse leaves the displayObject

#### Parameters:

- `interactionData` InteractionData

### `mouseover`

(

- `interactionData`

)

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:232`

A callback that is used when the users mouse rolls over the displayObject

#### Parameters:

- `interactionData` InteractionData

### `mouseup`

(

- `interactionData`

)

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:218`

A callback that is used when the user releases the mouse that was over the displayObject for this callback to be fired the mouse must have been pressed down over the displayObject

#### Parameters:

- `interactionData` InteractionData

### `mouseupoutside`

(

- `interactionData`

)

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:225`

A callback that is used when the user releases the mouse that was over the displayObject but is no longer over the displayObject for this callback to be fired, The touch must have started over the displayObject

#### Parameters:

- `interactionData` InteractionData

### `moveTo`

(

- `x`
- `y`

)

Defined in `src/pixi/primitives/Graphics.js:176`

Moves the current drawing position to (x, y).

#### Parameters:

- `x` Number

  the X coordinate to move to

- `y` Number

  the Y coordinate to move to

### `removeChild`

(

- `child`

)

Inherited from DisplayObjectContainer: `src/pixi/display/DisplayObjectContainer.js:153`

Removes a child from the container.

#### Parameters:

- `child` DisplayObject

  The DisplayObject to remove

### `removeChildAt`

(

- `index`

)

Inherited from DisplayObjectContainer: `src/pixi/display/DisplayObjectContainer.js:164`

Removes a child from the specified index position in the child list of the container.

#### Parameters:

- `index` Number

  The index to get the child from

### `removeChildren`

(

- `beginIndex`
- `endIndex`

)

Inherited from DisplayObjectContainer: `src/pixi/display/DisplayObjectContainer.js:181`

Removes all child instances from the child list of the container.

#### Parameters:

- `beginIndex` Number

  The beginning position. Predefined value is 0.

- `endIndex` Number

  The ending position. Predefined value is children's array length.

### `removeStageReference`

()

Inherited from DisplayObjectContainer: `src/pixi/display/DisplayObjectContainer.js:336`

removes the current stage reference of the container

### `setInteractive`

(

- `interactive`

)
deprecated

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:279`

Deprecated: Simply set the `interactive` property directly

[Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default Instead of using this function you can now simply set the interactive property to true or false

#### Parameters:

- `interactive` Boolean

### `setStageReference`

(

- `stage`

)

Inherited from DisplayObject but overwritten in `src/pixi/display/DisplayObjectContainer.js:318`

Sets the container's stage reference, the stage this object is connected to

#### Parameters:

- `stage` Stage

  the stage that the container will have as its current stage reference

### `swapChildren`

(

- `child`
- `child2`

)
private

Inherited from DisplayObjectContainer: `src/pixi/display/DisplayObjectContainer.js:109`

[NYI] Swaps the depth of 2 displayObjects

#### Parameters:

- `child` DisplayObject
- `child2` DisplayObject

### `tap`

(

- `interactionData`

)

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:249`

A callback that is used when the users taps on the sprite with their finger basically a touch version of click

#### Parameters:

- `interactionData` InteractionData

### `touchend`

(

- `interactionData`

)

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:262`

A callback that is used when the user releases a touch over the displayObject

#### Parameters:

- `interactionData` InteractionData

### `touchendoutside`

(

- `interactionData`

)

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:268`

A callback that is used when the user releases the touch that was over the displayObject for this callback to be fired, The touch must have started over the sprite

#### Parameters:

- `interactionData` InteractionData

### `touchstart`

(

- `interactionData`

)

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:256`

A callback that is used when the user touches over the displayObject

#### Parameters:

- `interactionData` InteractionData

### `updateBounds`

()

Defined in `src/pixi/primitives/Graphics.js:528`

Update the bounds of the object

## Properties

### `_bounds`

Rectangle private

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:173`

The original, cached bounds of the object

### `_currentBounds`

Rectangle private

Inherited from DisplayObject but overwritten in `src/pixi/display/DisplayObject.js:181`

The most up-to-date bounds of the object

### `_interactive`

Boolean private

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:113`

[read-only] Whether or not the object is interactive, do not toggle directly! use the `interactive` property

### `_webGL`

Array private

Defined in `src/pixi/primitives/Graphics.js:82`

Array containing some WebGL-related properties used by the WebGL renderer

### `alpha`

Number

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:45`

The opacity of the object.

### `blendMode`

Number

Defined in `src/pixi/primitives/Graphics.js:64`

The blend mode to be applied to the graphic shape

Default: PIXI.blendModes.NORMAL;

### `bounds`

Number

Defined in `src/pixi/primitives/Graphics.js:107`

the bounds' padding used for bounds calculation

### `bounds`

Rectangle

Defined in `src/pixi/primitives/Graphics.js:99`

The bounds of the graphic shape as rectangle object

### `buttonMode`

Boolean

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:70`

This is used to indicate if the displayObject should display a mouse hand cursor on rollover

### `cacheAsBitmap`

Boolean private

Inherited from DisplayObject but overwritten in `src/pixi/primitives/Graphics.js:120`

If cacheAsBitmap is true the graphics object will then be rendered as if it was a sprite. This is useful if your graphics element does not change often as it will speed up the rendering of the object It is also usful as the graphics object will always be antialiased because it will be rendered using canvas Not recommended if you are constanly redrawing the graphics element.

Default: false

### `children`

Array

Inherited from DisplayObjectContainer: `src/pixi/display/DisplayObjectContainer.js:18`

[read-only] The array of children of this container.

### `color`

Array<> private

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:142`

[NYI] Unknown

### `currentPath`

Object private

Defined in `src/pixi/primitives/Graphics.js:73`

Current path

### `defaultCursor`

String

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:123`

This is the cursor that will be used when the mouse is over this object. To enable this the element must have interaction = true and buttonMode = true

### `dynamic`

Boolean private

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:151`

[NYI] Holds whether or not this object is dynamic, for rendering optimization

### `fillAlpha`

Number

Defined in `src/pixi/primitives/Graphics.js:21`

The alpha of the fill of this graphics object

### `filterArea`

Rectangle

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:164`

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

### `filters`

Array An array of filters

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:353`

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'

### `graphicsData`

Array private

Defined in `src/pixi/primitives/Graphics.js:45`

Graphics data

### `height`

Number

Inherited from DisplayObjectContainer: `src/pixi/display/DisplayObjectContainer.js:51`

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

### `hitArea`

Rectangle | Circle | Ellipse | Polygon

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:61`

This is the defined area that will pick up mouse / touch events. It is null by default. Setting it is a neat way of optimising the hitTest function that the interactionManager will use (as it will not need to hit test all the children)

### `interactive`

Boolean

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:292`

Indicates if the sprite will have touch and mouse interactivity. It is false by default

Default: false

### `isMask`

IsMask

Defined in `src/pixi/primitives/Graphics.js:91`

Whether this shape is being used as a mask

### `lineColor`

String

Defined in `src/pixi/primitives/Graphics.js:37`

The color of any lines drawn

### `lineWidth`

Number

Defined in `src/pixi/primitives/Graphics.js:29`

The width of any lines drawn

### `mask`

Graphics

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:333`

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 PIXI a regular mask must be a PIXI.Graphics object. This allows for much faster masking in canvas as it utilises shape clipping. To remove a mask, set this property to null.

### `parent`

DisplayObjectContainer

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:86`

[read-only] The display object container that contains this display object.

### `pivot`

Point

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:29`

The pivot point of the displayObject that it rotates around

### `position`

Point

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:13`

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

### `renderable`

Boolean

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:78`

Can this object be rendered

### `rotation`

Number

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:37`

The rotation of the object in radians.

### `scale`

Point

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:21`

The scale factor of the object.

### `stage`

Stage

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:95`

[read-only] The stage the display object is connected to, or undefined if it is not connected to the stage.

### `tint`

Number

Defined in `src/pixi/primitives/Graphics.js:55`

The tint applied to the graphic shape. This is a hex value

Default: 0xFFFFFF

### `visible`

Boolean

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:53`

The visibility of the object.

### `width`

Number

Inherited from DisplayObjectContainer: `src/pixi/display/DisplayObjectContainer.js:32`

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

### `worldAlpha`

Number

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:104`

[read-only] The multiplied alpha of the displayObject

### `worldTransform`

Mat3 private

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:132`

[read-only] Current transform of the object based on world (parent) factors

### `worldVisible`

Boolean

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:312`

[read-only] Indicates if the sprite is globaly visible.

### `x`

Number

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:592`

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

### `y`

Number

Inherited from DisplayObject: `src/pixi/display/DisplayObject.js:607`

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