# class GraphicsPath

#### package openfl.display

#### implements IGraphicsPath, IGraphicsData

Available on all platforms

A collection of drawing commands and the coordinate parameters for those commands.

Use a GraphicsPath object with the `Graphics.drawGraphicsData()` method. Drawing a GraphicsPath object is the equivalent of calling the `Graphics.drawPath()` method.

The GraphicsPath class also has its own set of methods (`curveTo()`, `lineTo()`, `moveTo()` `wideLineTo()` and `wideMoveTo()`) similar to those in the Graphics class for making adjustments to the `GraphicsPath.commands` and `GraphicsPath.data` vector arrays.

### Constructor

###

`new (?commands:Vector<Int>, ?data:Vector<Float>, ?winding:GraphicsPathWinding)`

Creates a new GraphicsPath object.

Parameters:

`winding` | Specifies the winding rule using a value defined in the GraphicsPathWinding class.

### Variables

###

`commands:Vector<Int>`

The Vector of drawing commands as integers representing the path. Each command can be one of the values defined by the GraphicsPathCommand class.

###

`data:Vector<Float>`

The Vector of Numbers containing the parameters used with the drawing commands.

###

`winding:GraphicsPathWinding`

Specifies the winding rule using a value defined in the GraphicsPathWinding class.

### Methods

###

`cubicCurveTo (controlX1:Float, controlY1:Float, controlX2:Float, controlY2:Float, anchorX:Float, anchorY:Float):Void`

###

`curveTo (controlX:Float, controlY:Float, anchorX:Float, anchorY:Float):Void`

Adds a new "curveTo" command to the `commands` vector and new coordinates to the `data` vector.

Parameters:

`controlX` | A number that specifies the horizontal position of the control point relative to the registration point of the parent display object.
`controlY` | A number that specifies the vertical position of the control point relative to the registration point of the parent display object.
`anchorX` | A number that specifies the horizontal position of the next anchor point relative to the registration point of the parent display object.
`anchorY` | A number that specifies the vertical position of the next anchor point relative to the registration point of the parent display object.

###

`lineTo (x:Float, y:Float):Void`

Adds a new "lineTo" command to the `commands` vector and new coordinates to the `data` vector.

Parameters:

`x` | The x coordinate of the destination point for the line.
`y` | The y coordinate of the destination point for the line.

###

`moveTo (x:Float, y:Float):Void`

Adds a new "moveTo" command to the `commands` vector and new coordinates to the `data` vector.

Parameters:

`x` | The x coordinate of the destination point.
`y` | The y coordinate of the destination point.

###

`wideLineTo (x:Float, y:Float):Void`

Adds a new "wideLineTo" command to the `commands` vector and new coordinates to the `data` vector.

Parameters:

`x` | The x-coordinate of the destination point for the line.
`y` | The y-coordinate of the destination point for the line.

###

`wideMoveTo (x:Float, y:Float):Void`

Adds a new "wideMoveTo" command to the `commands` vector and new coordinates to the `data` vector.

Parameters:

`x` | The x-coordinate of the destination point.
`y` | The y-coordinate of the destination point.