#

API Docs for: 3.10.3
Show: Inherited Protected Private Deprecated

# VMLDrawing Class

Defined in: `graphics/js/VMLDrawing.js:23`
Module: graphics

VML implementation of the `Drawing` class. `VMLDrawing` is not intended to be used directly. Instead, use the `Drawing` class. If the browser lacks SVG and Canvas capabilities, the `Drawing` class will point to the `VMLDrawing` class.

- Index
- Methods
- Properties

## Item Index

### Methods

- _addToPath
- _curveTo
- _draw
- _lineTo
- _moveTo
- _quadraticCurveTo
- _round
- _setCurveBoundingBox
- _trackSize
- clear
- closePath
- curveTo
- drawCircle
- drawDiamond
- drawEllipse
- drawRect
- drawRect
- drawWedge
- end
- getBezierData
- lineTo
- moveTo
- quadraticCurveTo
- relativeCurveTo
- relativeLineTo
- relativeMoveTo
- relativeQuadraticCurveTo

### Properties

- _coordSpaceMultiplier
- _currentX
- _currentY
- _pathSymbolToMethod

## Methods

### `_addToPath`

(

- `val`

)
private

Defined in `graphics/js/VMLDrawing.js:76`

Concatanates the path.

#### Parameters:

- `val` String

  The value to add to the path string.

### `_curveTo`

(

- `args`
- `relative`

)
private

Defined in `graphics/js/VMLDrawing.js:146`

Implements curveTo methods.

#### Parameters:

- `args` Array

  The arguments to be used.

- `relative` Boolean

  Indicates whether or not to use relative coordinates.

### `_draw`

() private

Defined in `graphics/js/VMLDrawing.js:609`

Draws the graphic.

### `_lineTo`

(

- `args`
- `relative`

)
private

Defined in `graphics/js/VMLDrawing.js:511`

Implements lineTo methods.

#### Parameters:

- `args` Array

  The arguments to be used.

- `relative` Boolean

  Indicates whether or not to use relative coordinates.

### `_moveTo`

(

- `args`
- `relative`

)
private

Defined in `graphics/js/VMLDrawing.js:587`

Implements moveTo methods.

#### Parameters:

- `args` Array

  The arguments to be used.

- `relative` Boolean

  Indicates whether or not to use relative coordinates.

### `_quadraticCurveTo`

(

- `args`
- `relative`

)
private

Defined in `graphics/js/VMLDrawing.js:250`

Implements quadraticCurveTo methods.

#### Parameters:

- `args` Array

  The arguments to be used.

- `relative` Boolean

  Indicates whether or not to use relative coordinates.

### `_round`

(

- `The`

)
private

Defined in `graphics/js/VMLDrawing.js:63`

Rounds dimensions and position values based on the coordinate space.

#### Parameters:

- `The` Number

  value for rounding

#### Returns:

Number

### `_setCurveBoundingBox`

(

- `Array`
- `Number`
- `Number`

)
private

Defined in `graphics/js/VMLDrawing.js:726`

Calculates the bounding box for a curve

#### Parameters:

- `Array` Object

  pts Array containing points for start, end and control points of a curve.

- `Number` Object

  w Width used to calculate the number of points to describe the curve.

- `Number` Object

  h Height used to calculate the number of points to describe the curve.

### `_trackSize`

(

- `w`
- `h`

)
private

Defined in `graphics/js/VMLDrawing.js:761`

Updates the size of the graphics object

#### Parameters:

- `w` Number

  width

- `h` Number

  height

### `clear`

() chainable

Defined in `graphics/js/VMLDrawing.js:679`

Clears the path.

### `closePath`

() chainable

Defined in `graphics/js/VMLDrawing.js:667`

Ends a fill and stroke

### `curveTo`

(

- `cp1x`
- `cp1y`
- `cp2x`
- `cp2y`
- `x`
- `y`

)
chainable

Defined in `graphics/js/VMLDrawing.js:112`

Draws a bezier curve.

#### Parameters:

- `cp1x` Number

  x-coordinate for the first control point.

- `cp1y` Number

  y-coordinate for the first control point.

- `cp2x` Number

  x-coordinate for the second control point.

- `cp2y` Number

  y-coordinate for the second control point.

- `x` Number

  x-coordinate for the end point.

- `y` Number

  y-coordinate for the end point.

### `drawCircle`

(

- `x`
- `y`
- `r`

)
protected chainable

Defined in `graphics/js/VMLDrawing.js:340`

Draws a circle. Used internally by `CanvasCircle` class.

#### Parameters:

- `x` Number

  y-coordinate

- `y` Number

  x-coordinate

- `r` Number

  radius

### `drawDiamond`

(

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

)
protected chainable

Defined in `graphics/js/VMLDrawing.js:415`

Draws a diamond.

#### Parameters:

- `x` Number

  y-coordinate

- `y` Number

  x-coordinate

- `width` Number

  width

- `height` Number

  height

### `drawEllipse`

(

- `x`
- `y`
- `w`
- `h`

)
protected chainable

Defined in `graphics/js/VMLDrawing.js:376`

Draws an ellipse.

#### Parameters:

- `x` Number

  x-coordinate

- `y` Number

  y-coordinate

- `w` Number

  width

- `h` Number

  height

### `drawRect`

(

- `x`
- `y`
- `w`
- `h`
- `ew`
- `eh`

)
chainable

Defined in `graphics/js/VMLDrawing.js:315`

Draws a rectangle with rounded corners.

#### Parameters:

- `x` Number

  x-coordinate

- `y` Number

  y-coordinate

- `w` Number

  width

- `h` Number

  height

- `ew` Number

  width of the ellipse used to draw the rounded corners

- `eh` Number

  height of the ellipse used to draw the rounded corners

### `drawRect`

(

- `x`
- `y`
- `w`
- `h`

)
chainable

Defined in `graphics/js/VMLDrawing.js:294`

Draws a rectangle.

#### Parameters:

- `x` Number

  x-coordinate

- `y` Number

  y-coordinate

- `w` Number

  width

- `h` Number

  height

### `drawWedge`

(

- `x`
- `y`
- `startAngle`
- `arc`
- `radius`
- `yRadius`

)
private chainable

Defined in `graphics/js/VMLDrawing.js:438`

Draws a wedge.

#### Parameters:

- `x` Number

  x-coordinate of the wedge's center point

- `y` Number

  y-coordinate of the wedge's center point

- `startAngle` Number

  starting angle in degrees

- `arc` Number

  sweep of the wedge. Negative values draw clockwise.

- `radius` Number

  radius of wedge. If [optional] yRadius is defined, then radius is the x radius.

- `yRadius` Number

  [optional] y radius for wedge.

### `end`

() chainable

Defined in `graphics/js/VMLDrawing.js:655`

Completes a drawing operation.

### `getBezierData`

(

- `Array`
- `Number`

)
private

Defined in `graphics/js/VMLDrawing.js:698`

Returns the points on a curve

#### Parameters:

- `Array` Object

  points Array containing the begin, end and control points of a curve.

- `Number` Object

  t The value for incrementing the next set of points.

#### Returns:

Array

### `lineTo`

(

- `point1`
- `point2`

)
chainable

Defined in `graphics/js/VMLDrawing.js:483`

Draws a line segment from the current drawing position to the specified x and y coordinates.

#### Parameters:

- `point1` Number

  x-coordinate for the end point.

- `point2` Number

  y-coordinate for the end point.

### `moveTo`

(

- `x`
- `y`

)
chainable

Defined in `graphics/js/VMLDrawing.js:559`

Moves the current drawing position to specified x and y coordinates.

#### Parameters:

- `x` Number

  x-coordinate for the end point.

- `y` Number

  y-coordinate for the end point.

### `quadraticCurveTo`

(

- `cpx`
- `cpy`
- `x`
- `y`

)
chainable

Defined in `graphics/js/VMLDrawing.js:220`

Draws a quadratic bezier curve.

#### Parameters:

- `cpx` Number

  x-coordinate for the control point.

- `cpy` Number

  y-coordinate for the control point.

- `x` Number

  x-coordinate for the end point.

- `y` Number

  y-coordinate for the end point.

### `relativeCurveTo`

(

- `cp1x`
- `cp1y`
- `cp2x`
- `cp2y`
- `x`
- `y`

)
chainable

Defined in `graphics/js/VMLDrawing.js:129`

Draws a bezier curve.

#### Parameters:

- `cp1x` Number

  x-coordinate for the first control point.

- `cp1y` Number

  y-coordinate for the first control point.

- `cp2x` Number

  x-coordinate for the second control point.

- `cp2y` Number

  y-coordinate for the second control point.

- `x` Number

  x-coordinate for the end point.

- `y` Number

  y-coordinate for the end point.

### `relativeLineTo`

(

- `point1`
- `point2`

)
chainable

Defined in `graphics/js/VMLDrawing.js:497`

Draws a line segment using the current line style from the current drawing position to the relative x and y coordinates.

#### Parameters:

- `point1` Number

  x-coordinate for the end point.

- `point2` Number

  y-coordinate for the end point.

### `relativeMoveTo`

(

- `x`
- `y`

)
chainable

Defined in `graphics/js/VMLDrawing.js:573`

Moves the current drawing position relative to specified x and y coordinates.

#### Parameters:

- `x` Number

  x-coordinate for the end point.

- `y` Number

  y-coordinate for the end point.

### `relativeQuadraticCurveTo`

(

- `cpx`
- `cpy`
- `x`
- `y`

)
chainable

Defined in `graphics/js/VMLDrawing.js:235`

Draws a quadratic bezier curve relative to the current position.

#### Parameters:

- `cpx` Number

  x-coordinate for the control point.

- `cpy` Number

  y-coordinate for the control point.

- `x` Number

  x-coordinate for the end point.

- `y` Number

  y-coordinate for the end point.

## Properties

### `_coordSpaceMultiplier`

Number private

Defined in `graphics/js/VMLDrawing.js:54`

Value for rounding up to coordsize

### `_currentX`

Number private

Defined in `graphics/js/VMLDrawing.js:94`

Current x position of the drawing.

### `_currentY`

Number private

Defined in `graphics/js/VMLDrawing.js:103`

Current y position of the drqwing.

### `_pathSymbolToMethod`

Object private

Defined in `graphics/js/VMLDrawing.js:34`

Maps path to methods