Class: CanvasHelper

Core.Annotations. CanvasHelper


new CanvasHelper(canvas)

A wrapper helper for drawing to HTML canvases.
Parameters:
Name Type Description
canvas HTMLCanvasElement | CanvasRenderingContext2D The canvas or canvas context to draw to

Methods


clear()

Clears the canvas.
Returns:
The current instance
Type
CanvasHelper

drawCircle(rect [, drawingParameters])

Draws a circle in the provided rectangle on the canvas.
Parameters:
Name Type Argument Description
rect Core.Math.Rect The rect where the circle will be drawn
drawingParameters object <optional>
Additional drawing parameters. Values are acceptable HTML canvas values
Properties
Name Type Argument Description
fillColor Core.Annotations.Color <optional>
Fill color
borderColor Core.Annotations.Color <optional>
Border or stroke color
borderStyle string <optional>
Either 'solid' or 'dash'. Default: solid
borderWidth number <optional>
The border width
dashes Array.<number> <optional>
Array of dash size and spacing ex. [4, 3]. Default: [3]
opacity number <optional>
Opacity value. Default: 1
clipPath boolean <optional>
Whether to clip the path. Default: false
transform Core.Math.Matrix <optional>
Drawing transformation
isStateful boolean <optional>
Whether to undo canvas context changes after rendering. Default: true
forceFill boolean <optional>
Whether to fill the shape regardless of whether a fill color is passed. This would use the currently set fillStyle on the canvas context. Default: false
forceStroke boolean <optional>
Whether to stroke the shape regardless of whether a stroke color is passed. This would use the currently set strokeStyle on the canvas context. Default: false
Returns:
The current instance
Type
CanvasHelper

drawCircleXY(cx, cy, radius [, drawingParameters])

Draws a circle in the provided rectangle on the canvas.
Parameters:
Name Type Argument Description
cx number The x-coordinate of the circles center
cy number The rect where the circle will be drawn
radius number The radius of the circle
drawingParameters object <optional>
Additional drawing parameters. Values are acceptable HTML canvas values
Properties
Name Type Argument Description
fillColor Core.Annotations.Color <optional>
Fill color
borderColor Core.Annotations.Color <optional>
Border or stroke color
borderStyle string <optional>
Either 'solid' or 'dash'. Default: solid
borderWidth number <optional>
The border width
dashes Array.<number> <optional>
Array of dash size and spacing ex. [4, 3]. Default: [3]
opacity number <optional>
Opacity value. Default: 1
clipPath boolean <optional>
Whether to clip the path. Default: false
transform Core.Math.Matrix <optional>
Drawing transformation
isStateful boolean <optional>
Whether to undo canvas context changes after rendering. Default: true
forceFill boolean <optional>
Whether to fill the shape regardless of whether a fill color is passed. This would use the currently set fillStyle on the canvas context. Default: false
forceStroke boolean <optional>
Whether to stroke the shape regardless of whether a stroke color is passed. This would use the currently set strokeStyle on the canvas context. Default: false
Returns:
The current instance
Type
CanvasHelper

drawClouds(annot, points [, drawingParameters])

Draws a cloud shape provided by the points on the canvas.
Parameters:
Name Type Argument Description
annot Core.Annotations.Annotation The annotation being drawn
points Array.<Core.Math.Point> An array of points that represents a shape
drawingParameters object <optional>
Additional drawing parameters. Values are acceptable HTML canvas values
Properties
Name Type Argument Description
fillColor Core.Annotations.Color <optional>
Fill color
borderColor Core.Annotations.Color <optional>
Border or stroke color
borderStyle string <optional>
Either 'solid' or 'dash'. Default: solid
borderWidth number <optional>
The border width
dashes Array.<number> <optional>
Array of dash size and spacing ex. [4, 3]. Default: [3]
opacity number <optional>
Opacity value. Default: 1
closePath boolean <optional>
Whether automatically close the path between the first and last points. Default: true
clipPath boolean <optional>
Whether to clip the path. Default: false
transform Core.Math.Matrix <optional>
Drawing transformation
isStateful boolean <optional>
Whether to undo canvas context changes after rendering. Default: true
forceFill boolean <optional>
Whether to fill the shape regardless of whether a fill color is passed. This would use the currently set fillStyle on the canvas context. Default: false
forceStroke boolean <optional>
Whether to stroke the shape regardless of whether a stroke color is passed. This would use the currently set strokeStyle on the canvas context. Default: false
Returns:
The current instance
Type
CanvasHelper

drawLine(start, end [, drawingParameters])

Draws a line using two points on the canvas.
Parameters:
Name Type Argument Description
start Core.Math.Point The start point
end Core.Math.Point The end point
drawingParameters object <optional>
Additional drawing parameters. Values are acceptable HTML canvas values
Properties
Name Type Argument Description
color Core.Annotations.Color <optional>
The line color
borderStyle string <optional>
Either 'solid' or 'dash'. Default: solid
borderWidth number <optional>
The border width
dashes Array.<number> <optional>
Array of dash size and spacing ex. [4, 3]. Default: [3]
transform Core.Math.Matrix <optional>
Drawing transformation
isStateful boolean <optional>
Whether to undo canvas context changes after rendering. Default: true
forceFill boolean <optional>
Whether to fill the shape regardless of whether a fill color is passed. This would use the currently set fillStyle on the canvas context. Default: false
forceStroke boolean <optional>
Whether to stroke the shape regardless of whether a stroke color is passed. This would use the currently set strokeStyle on the canvas context. Default: false
Returns:
The current instance
Type
CanvasHelper

drawLineXY(sx, sy, dx, dy [, drawingParameters])

Draws a line using two points on the canvas.
Parameters:
Name Type Argument Description
sx number The start x-coordinate
sy number The start y-coordinate
dx number The end x-coordinate
dy number The end y-coordinate
drawingParameters object <optional>
Additional drawing parameters. Values are acceptable HTML canvas values
Properties
Name Type Argument Description
color Core.Annotations.Color <optional>
The line color
borderStyle string <optional>
Either 'solid' or 'dash'. Default: solid
borderWidth number <optional>
The border width
dashes Array.<number> <optional>
Array of dash size and spacing ex. [4, 3]. Default: [3]
transform Core.Math.Matrix <optional>
Drawing transformation
isStateful boolean <optional>
Whether to undo canvas context changes after rendering. Default: true
forceFill boolean <optional>
Whether to fill the shape regardless of whether a fill color is passed. This would use the currently set fillStyle on the canvas context. Default: false
forceStroke boolean <optional>
Whether to stroke the shape regardless of whether a stroke color is passed. This would use the currently set strokeStyle on the canvas context. Default: false
Returns:
The current instance
Type
CanvasHelper

drawPolygon(points [, drawingParameters])

Draws a shape provided by the points on the canvas.
Parameters:
Name Type Argument Description
points Array.<Core.Math.Point> An array of points that represents a shape
drawingParameters object <optional>
Additional drawing parameters. Values are acceptable HTML canvas values
Properties
Name Type Argument Description
fillColor Core.Annotations.Color <optional>
Fill color
borderColor Core.Annotations.Color <optional>
Border or stroke color
borderStyle string <optional>
Either 'solid' or 'dash'. Default: solid
borderWidth number <optional>
The border width
dashes Array.<number> <optional>
Array of dash size and spacing ex. [4, 3]. Default: [3]
opacity number <optional>
Opacity value. Default: 1
closePath boolean <optional>
Whether automatically close the path between the first and last points. Default: true
clipPath boolean <optional>
Whether to clip the path. Default: false
transform Core.Math.Matrix <optional>
Drawing transformation
isStateful boolean <optional>
Whether to undo canvas context changes after rendering. Default: true
forceFill boolean <optional>
Whether to fill the shape regardless of whether a fill color is passed. This would use the currently set fillStyle on the canvas context. Default: false
forceStroke boolean <optional>
Whether to stroke the shape regardless of whether a stroke color is passed. This would use the currently set strokeStyle on the canvas context. Default: false
Returns:
The current instance
Type
CanvasHelper

drawRectangle(rect [, drawingParameters])

Draws the rectangle to a location on the canvas.
Parameters:
Name Type Argument Description
rect Core.Math.Rect The rect to be drawn
drawingParameters object <optional>
Additional drawing parameters. Values are acceptable HTML canvas values
Properties
Name Type Argument Description
fillColor Core.Annotations.Color <optional>
Fill color
borderColor Core.Annotations.Color <optional>
Border or stroke color
borderStyle string <optional>
Either 'solid' or 'dash'. Default: solid
borderWidth number <optional>
The border width
dashes Array.<number> <optional>
Array of dash size and spacing ex. [4, 3]. Default: [3]
opacity number <optional>
Opacity value. Default: 1
clipPath boolean <optional>
Whether to clip the path. Default: false
transform Core.Math.Matrix <optional>
Drawing transformation
isStateful boolean <optional>
Whether to undo canvas context changes after rendering. Default: true
forceFill boolean <optional>
Whether to fill the shape regardless of whether a fill color is passed. This would use the currently set fillStyle on the canvas context. Default: false
forceStroke boolean <optional>
Whether to stroke the shape regardless of whether a stroke color is passed. This would use the currently set strokeStyle on the canvas context. Default: false
Returns:
The current instance
Type
CanvasHelper

drawText(text, x, y [, drawingParameters])

Draws the text to a location on the canvas.
Parameters:
Name Type Argument Description
text string The text to be drawn
x number The x-coordinate
y number The y-coordinate
drawingParameters object <optional>
Additional drawing parameters. Values are acceptable HTML canvas values
Properties
Name Type Argument Description
fillColor Core.Annotations.Color <optional>
Fill color
borderColor Core.Annotations.Color <optional>
Border or stroke color
borderStyle string <optional>
Either 'solid' or 'dash'. Default: solid
borderWidth number <optional>
The border width
dashes Array.<number> <optional>
Array of dash size and spacing ex. [4, 3]. Default: [3]
fontSize number <optional>
Size of font. Default: 10
fontSizeUnits string <optional>
Font units. Default: pt
fontWeight string <optional>
Font boldness. Default: normal
fontStyle string <optional>
Font style. Default: normal
fontFamily string <optional>
List of font-families. Default: sans-serif
opacity number <optional>
Opacity value. Default: 1
transform Core.Math.Matrix <optional>
Drawing transformation
isStateful boolean <optional>
Whether to undo canvas context changes after rendering. Default: true
forceFill boolean <optional>
Whether to fill the shape regardless of whether a fill color is passed. This would use the currently set fillStyle on the canvas context. Default: false
forceStroke boolean <optional>
Whether to stroke the shape regardless of whether a stroke color is passed. This would use the currently set strokeStyle on the canvas context. Default: false
Returns:
The current instance
Type
CanvasHelper

measureText(text [, options])

Measures the width of the text given the string and additional information.
Parameters:
Name Type Argument Description
text string The text to be drawn
options object <optional>
Additional drawing parameters. Values are acceptable HTML canvas values
Properties
Name Type Argument Description
fontSize number <optional>
Size of font. Default: 10
fontSizeUnits string <optional>
Font units. Default: pt
fontWeight string <optional>
Font boldness. Default: normal
fontStyle string <optional>
Font style. Default: normal
fontFamily string <optional>
List of font-families. Default: sans-serif
Returns:
The measured text info
Type
TextMetrics