CanvasRenderingContext2D

@native @JSGlobal @JSType
class CanvasRenderingContext2D extends Object

The 2D rendering context for the drawing surface of a <canvas> element. To get this object, call getContext() on a <canvas>, supplying "2d" as the argument:

class Object
trait Any
class Object
trait Matchable
class Any

Value members

Concrete methods

def arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double, counterclockwise: Boolean): Unit

The arc() method creates a circular arc centered at (x, y) with a radius of radius. The path starts at startAngle, ends at endAngle, and travels in the direction given by counterclockwise (defaulting to clockwise).

The arc() method creates a circular arc centered at (x, y) with a radius of radius. The path starts at startAngle, ends at endAngle, and travels in the direction given by counterclockwise (defaulting to clockwise).

def arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double): Unit

The arc() method creates a circular arc centered at (x, y) with a radius of radius. The path starts at startAngle, ends at endAngle, and travels in the direction given by counterclockwise (defaulting to clockwise).

The arc() method creates a circular arc centered at (x, y) with a radius of radius. The path starts at startAngle, ends at endAngle, and travels in the direction given by counterclockwise (defaulting to clockwise).

def arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radius: Double): Unit

Adds an arc with the given control points and radius, connected to the previous point by a straight line.

Adds an arc with the given control points and radius, connected to the previous point by a straight line.

def beginPath(): Unit

Starts a new path by resetting the list of sub-paths. Call this method when you want to create a new path.

Starts a new path by resetting the list of sub-paths. Call this method when you want to create a new path.

def bezierCurveTo(cp1x: Double, cp1y: Double, cp2x: Double, cp2y: Double, x: Double, y: Double): Unit

Adds a cubic Bézier curve to the current path.

Adds a cubic Bézier curve to the current path.

def clearRect(x: Double, y: Double, w: Double, h: Double): Unit

Sets all pixels in the rectangle defined by starting point (x, y) and size (width, height) to transparent black.

Sets all pixels in the rectangle defined by starting point (x, y) and size (width, height) to transparent black.

def clip(fillRule: CanvasFillRule): Unit

Creates a clipping path from the current sub-paths. Everything drawn after clip() is called appears inside the clipping path only. For an example, see Clipping paths in the Canvas tutorial.

Creates a clipping path from the current sub-paths. Everything drawn after clip() is called appears inside the clipping path only. For an example, see Clipping paths in the Canvas tutorial.

def clip(path: Path2D): Unit

Creates a clipping path from the current sub-paths. Everything drawn after clip() is called appears inside the clipping path only. For an example, see Clipping paths in the Canvas tutorial.

Creates a clipping path from the current sub-paths. Everything drawn after clip() is called appears inside the clipping path only. For an example, see Clipping paths in the Canvas tutorial.

def clip(path: Path2D, fillRule: CanvasFillRule): Unit

Creates a clipping path from the current sub-paths. Everything drawn after clip() is called appears inside the clipping path only. For an example, see Clipping paths in the Canvas tutorial.

Creates a clipping path from the current sub-paths. Everything drawn after clip() is called appears inside the clipping path only. For an example, see Clipping paths in the Canvas tutorial.

def closePath(): Unit

Tries to draw a straight line from the current point to the start. If the shape has already been closed or has only one point, this function does nothing.

Tries to draw a straight line from the current point to the start. If the shape has already been closed or has only one point, this function does nothing.

def createImageData(imageDataOrSw: Any, sh: Double): ImageData

Creates a new, blank ImageData object with the specified dimensions. All of the pixels in the new object are transparent black.

Creates a new, blank ImageData object with the specified dimensions. All of the pixels in the new object are transparent black.

def createLinearGradient(x0: Double, y0: Double, x1: Double, y1: Double): CanvasGradient

Creates a linear gradient along the line given by the coordinates represented by the parameters.

Creates a linear gradient along the line given by the coordinates represented by the parameters.

def createPattern(image: HTMLElement, repetition: String): CanvasPattern

Creates a pattern using the specified image. It repeats the source in the directions specified by the repetition argument. This method returns a CanvasPattern.

Creates a pattern using the specified image. It repeats the source in the directions specified by the repetition argument. This method returns a CanvasPattern.

def createRadialGradient(x0: Double, y0: Double, r0: Double, x1: Double, y1: Double, r1: Double): CanvasGradient

Creates a radial gradient given by the coordinates of the two circles represented by the parameters.

Creates a radial gradient given by the coordinates of the two circles represented by the parameters.

def drawImage(image: HTMLElement, offsetX: Double, offsetY: Double, width: Double, height: Double, canvasOffsetX: Double, canvasOffsetY: Double, canvasImageWidth: Double, canvasImageHeight: Double): Unit

Draws the specified image. This method is available in multiple formats, providing a great deal of flexibility in its use.

Draws the specified image. This method is available in multiple formats, providing a great deal of flexibility in its use.

def ellipse(x: Double, y: Double, radiusX: Double, radiusY: Double, rotation: Double, startAngle: Double, endAngle: Double, counterclockwise: Boolean): Unit

The ellipse() method creates an elliptical arc centered at (x, y) with the radii radiusX and radiusY. The path starts at startAngle and ends at endAngle, and travels in the direction given by counterclockwise (defaulting to clockwise).

The ellipse() method creates an elliptical arc centered at (x, y) with the radii radiusX and radiusY. The path starts at startAngle and ends at endAngle, and travels in the direction given by counterclockwise (defaulting to clockwise).

def fill(fillRule: CanvasFillRule): Unit

Fills the subpaths with the current fill style.

Fills the subpaths with the current fill style.

def fill(path: Path2D): Unit

Fills the subpaths with the current fill style.

Fills the subpaths with the current fill style.

def fill(path: Path2D, fillRule: CanvasFillRule): Unit

Fills the subpaths with the current fill style.

Fills the subpaths with the current fill style.

def fillRect(x: Double, y: Double, w: Double, h: Double): Unit

Draws a filled rectangle at (x, y) position whose size is determined by width and height.

Draws a filled rectangle at (x, y) position whose size is determined by width and height.

def fillText(text: String, x: Double, y: Double, maxWidth: Double): Unit

Draws (fills) a given text at the given (x, y) position.

Draws (fills) a given text at the given (x, y) position.

def getImageData(sx: Double, sy: Double, sw: Double, sh: Double): ImageData

Returns an ImageData object representing the underlying pixel data for the area of the canvas denoted by the rectangle which starts at (sx, sy) and has an sw width and sh height.

Returns an ImageData object representing the underlying pixel data for the area of the canvas denoted by the rectangle which starts at (sx, sy) and has an sw width and sh height.

def getLineDash(): Array[Double]

Returns a dash list array containing an even number of non-negative numbers.

Returns a dash list array containing an even number of non-negative numbers.

def isPointInPath(x: Double, y: Double, fillRule: CanvasFillRule): Boolean

Reports whether or not the specified point is contained in the current path.

Reports whether or not the specified point is contained in the current path.

def isPointInPath(path: Path2D, x: Double, y: Double): Boolean

Reports whether or not the specified point is contained in the current path.

Reports whether or not the specified point is contained in the current path.

def isPointInPath(path: Path2D, x: Double, y: Double, fillRule: CanvasFillRule): Boolean

Reports whether or not the specified point is contained in the current path.

Reports whether or not the specified point is contained in the current path.

def lineTo(x: Double, y: Double): Unit

Connects the last point in the subpath to the x, y coordinates with a straight line.

Connects the last point in the subpath to the x, y coordinates with a straight line.

def measureText(text: String): TextMetrics

Returns a TextMetrics object.

Returns a TextMetrics object.

def moveTo(x: Double, y: Double): Unit

Moves the starting point of a new subpath to the (x, y) coordinates.

Moves the starting point of a new subpath to the (x, y) coordinates.

def putImageData(imagedata: ImageData, dx: Double, dy: Double, dirtyX: Double, dirtyY: Double, dirtyWidth: Double, dirtyHeight: Double): Unit

Paints data from the given ImageData object onto the bitmap. If a dirty rectangle is provided, only the pixels from that rectangle are painted.

Paints data from the given ImageData object onto the bitmap. If a dirty rectangle is provided, only the pixels from that rectangle are painted.

def quadraticCurveTo(cpx: Double, cpy: Double, x: Double, y: Double): Unit

Adds a quadratic Bézier curve to the current path.

Adds a quadratic Bézier curve to the current path.

def rect(x: Double, y: Double, w: Double, h: Double): Unit

Creates a path for a rectangle at position (x, y) with a size that is determined by width and height.

Creates a path for a rectangle at position (x, y) with a size that is determined by width and height.

def restore(): Unit

Restores the drawing style state to the last element on the 'state stack' saved by save().

Restores the drawing style state to the last element on the 'state stack' saved by save().

def rotate(angle: Double): Unit

Adds a rotation to the transformation matrix. The angle argument represents a clockwise rotation angle and is expressed in radians.

Adds a rotation to the transformation matrix. The angle argument represents a clockwise rotation angle and is expressed in radians.

def save(): Unit

Saves the current drawing style state using a stack so you can revert any change you make to it using restore().

Saves the current drawing style state using a stack so you can revert any change you make to it using restore().

def scale(x: Double, y: Double): Unit

Adds a scaling transformation to the canvas units by x horizontally and by y vertically.

Adds a scaling transformation to the canvas units by x horizontally and by y vertically.

def setLineDash(segments: Array[Double]): Unit

Sets the current line dash pattern.

Sets the current line dash pattern.

def setTransform(m11: Double, m12: Double, m21: Double, m22: Double, dx: Double, dy: Double): Unit

Resets the current transform to the identity matrix, and then invokes the transform() method with the same arguments.

Resets the current transform to the identity matrix, and then invokes the transform() method with the same arguments.

def stroke(): Unit

Strokes the subpaths with the current stroke style.

Strokes the subpaths with the current stroke style.

def stroke(path: Path2D): Unit
def strokeRect(x: Double, y: Double, w: Double, h: Double): Unit

Paints a rectangle which has a starting point at (x, y) and has a w width and an h height onto the canvas, using the current stroke style.

Paints a rectangle which has a starting point at (x, y) and has a w width and an h height onto the canvas, using the current stroke style.

def strokeText(text: String, x: Double, y: Double, maxWidth: Double): Unit

Draws (strokes) a given text at the given (x, y) position.

Draws (strokes) a given text at the given (x, y) position.

def transform(m11: Double, m12: Double, m21: Double, m22: Double, dx: Double, dy: Double): Unit

Multiplies the current transformation matrix with the matrix described by its arguments.

Multiplies the current transformation matrix with the matrix described by its arguments.

def translate(x: Double, y: Double): Unit

Moves the origin point of the context to (x, y).

Moves the origin point of the context to (x, y).

Inherited methods

def hasOwnProperty(v: String): Boolean
Inherited from:
Object
def isPrototypeOf(v: Object): Boolean
Inherited from:
Object
def propertyIsEnumerable(v: String): Boolean
Inherited from:
Object
def toLocaleString(): String
Inherited from:
Object
def valueOf(): Any
Inherited from:
Object

Concrete fields

Back-reference to the canvas element for which this context was created. Read only.

Back-reference to the canvas element for which this context was created. Read only.

var fillStyle: Any

A CSS color, a CanvasGradient or CanvasPattern, to use as a fill.

A CSS color, a CanvasGradient or CanvasPattern, to use as a fill.

var font: String

Default value 10px sans-serif

Default value 10px sans-serif

var globalAlpha: Double

Alpha value that is applied to shapes and images before they are composited onto the canvas. Default 1.0 (opaque).

Alpha value that is applied to shapes and images before they are composited onto the canvas. Default 1.0 (opaque).

With globalAlpha applied this sets how shapes and images are drawn onto the existing bitmap. Possible values: source-atop source-in source-out source-over (default) destination-atop destination-in destination-out destination-over lighter darker copy xor

With globalAlpha applied this sets how shapes and images are drawn onto the existing bitmap. Possible values: source-atop source-in source-out source-over (default) destination-atop destination-in destination-out destination-over lighter darker copy xor

A boolean value indicating whether to smooth scaled images or not. The default value is true.

A boolean value indicating whether to smooth scaled images or not. The default value is true.

var lineCap: String

Type of endings on the end of lines. Possible values: butt (default), round, square

Type of endings on the end of lines. Possible values: butt (default), round, square

var lineDashOffset: Double

Specifies where to start a dasharray on a line.

Specifies where to start a dasharray on a line.

var lineJoin: String

Defines the type of corners where two lines meet. Possible values: round, bevel, miter (default)

Defines the type of corners where two lines meet. Possible values: round, bevel, miter (default)

var lineWidth: Double

Width of lines. Default 1.0

Width of lines. Default 1.0

var miterLimit: Double

Default 10

Default 10

var shadowBlur: Double

Specifies the blurring effect. Default 0

Specifies the blurring effect. Default 0

var shadowColor: String

Color of the shadow. Default fully-transparent black.

Color of the shadow. Default fully-transparent black.

var shadowOffsetX: Double

Horizontal distance the shadow will be offset. Default 0.

Horizontal distance the shadow will be offset. Default 0.

var shadowOffsetY: Double

Vertical distance the shadow will be offset. Default 0.

Vertical distance the shadow will be offset. Default 0.

var strokeStyle: Any

A CSS color, a CanvasGradient or CanvasPattern, to use as a line around shapes.

A CSS color, a CanvasGradient or CanvasPattern, to use as a line around shapes.

var textAlign: String

Possible values: start (default), end, left, right or center.

Possible values: start (default), end, left, right or center.

var textBaseline: String

Possible values: top, hanging, middle, alphabetic (default), ideographic, bottom

Possible values: top, hanging, middle, alphabetic (default), ideographic, bottom