com.google.gwt.canvas.dom.client

## Class Context2d

- java.lang.Object
- - com.google.gwt.core.client.JavaScriptObject
  - - com.google.gwt.canvas.dom.client.Context2d

- All Implemented Interfaces:
    Context

      public class Context2d
      extends JavaScriptObject
      implements Context

  Rendering interface used to draw on a `CanvasElement`.
  See Also:
    W3C HTML 5 Specification

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Context2d.Composite` Enum for composite style.
    `static class` | `Context2d.LineCap` Enum for line-cap style.
    `static class` | `Context2d.LineJoin` Enum for line-join style.
    `static class` | `Context2d.Repetition` Enum for the repetition values.
    `static class` | `Context2d.TextAlign` Enum for text align style.
    `static class` | `Context2d.TextBaseline` Enum for text baseline style.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `CONTEXT_ID` Specifies the context id property used in creating a Context.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `Context2d()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `arc(double x, double y, double radius, double startAngle, double endAngle)` Draws an arc.
    `void` | `arc(double x, double y, double radius, double startAngle, double endAngle, boolean anticlockwise)` Draws an arc.
    `void` | `arcTo(double x1, double y1, double x2, double y2, double radius)` Adds an arc to the current subpath, connecting it to the current point with a line segment.
    `void` | `beginPath()` Begins a new path.
    `void` | `bezierCurveTo(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y)` Draws a cubic Bézier curve from the current point to the point (x, y), with control points (cp1x, cp1y) and (cp2x, cp2y).
    `void` | `clearRect(double x, double y, double w, double h)` Clears a rectangle.
    `void` | `clip()` Creates a new clipping region from the current path.
    `void` | `closePath()` Closes the current path.
    `ImageData` | `createImageData(ImageData imagedata)` Creates an image data object of the same size as the given object.
    `ImageData` | `createImageData(int w, int h)` Creates an image data object of the given size.
    `CanvasGradient` | `createLinearGradient(double x0, double y0, double x1, double y1)` Creates a linear gradient.
    `CanvasPattern` | `createPattern(CanvasElement image, Context2d.Repetition repetition)` Creates a pattern from another canvas.
    `CanvasPattern` | `createPattern(CanvasElement image, java.lang.String repetition)` Creates a pattern from another canvas.
    `CanvasPattern` | `createPattern(ImageElement image, Context2d.Repetition repetition)` Creates a pattern from an image.
    `CanvasPattern` | `createPattern(ImageElement image, java.lang.String repetition)` Creates a pattern from an image.
    `CanvasGradient` | `createRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1)` Creates a radial gradient.
    `void` | `drawImage(CanvasElement image, double dx, double dy)` Draws an image.
    `void` | `drawImage(CanvasElement image, double dx, double dy, double dw, double dh)` Draws a scaled image.
    `void` | `drawImage(CanvasElement image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh)` Draws a scaled subset of an image.
    `void` | `drawImage(ImageElement image, double dx, double dy)` Draws an image.
    `void` | `drawImage(ImageElement image, double dx, double dy, double dw, double dh)` Draws a scaled image.
    `void` | `drawImage(ImageElement image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh)` Draws a scaled subset of an image.
    `void` | `fill()` Fills the current path.
    `void` | `fillRect(double x, double y, double w, double h)` Fills a rectangle.
    `void` | `fillText(java.lang.String text, double x, double y)` Draws filled text.
    `void` | `fillText(java.lang.String text, double x, double y, double maxWidth)` Draws filled text squeezed into the given max width.
    `CanvasElement` | `getCanvas()` Gets this context's canvas.
    `FillStrokeStyle` | `getFillStyle()` Returns the context's fillStyle.
    `java.lang.String` | `getFont()` Gets this context's font.
    `double` | `getGlobalAlpha()` Gets the global alpha value.
    `java.lang.String` | `getGlobalCompositeOperation()` Gets the global composite operation.
    `ImageData` | `getImageData(double sx, double sy, double sw, double sh)` Returns an image data object for the screen area denoted by sx, sy, sw and sh.
    `java.lang.String` | `getLineCap()` Gets the current line-cap style.
    `java.lang.String` | `getLineJoin()` Gets the current line-join style.
    `double` | `getLineWidth()` Gets the current line-width.
    `double` | `getMiterLimit()` Gets the current miter-limit.
    `double` | `getShadowBlur()` Gets the current shadow-blur.
    `java.lang.String` | `getShadowColor()` Gets the current shadow color.
    `double` | `getShadowOffsetX()` Gets the current x-shadow-offset.
    `double` | `getShadowOffsetY()` Gets the current y-shadow-offset.
    `FillStrokeStyle` | `getStrokeStyle()` Returns the context's strokeStyle.
    `java.lang.String` | `getTextAlign()` Gets the current text align.
    `java.lang.String` | `getTextBaseline()` Gets the current text baseline.
    `boolean` | `isPointInPath(double x, double y)` Returns true if the given point is in the current path.
    `void` | `lineTo(double x, double y)` Adds a line from the current point to the point (x, y) to the current path.
    `TextMetrics` | `measureText(java.lang.String text)` Returns the metrics for the given text.
    `void` | `moveTo(double x, double y)` Terminates the current path and sets the current path position to the point (x, y).
    `void` | `putImageData(ImageData imagedata, double x, double y)` Draws the given image data at the given screen position.
    `void` | `quadraticCurveTo(double cpx, double cpy, double x, double y)` Draws a quadratic Bézier curve from the current point to the point (x, y), with control point (cpx, cpy).
    `void` | `rect(double x, double y, double w, double h)` Creates a new rectangular path.
    `void` | `restore()` Restores the context's state.
    `void` | `rotate(double angle)` Applies rotation to the current transform.
    `void` | `save()` Saves the context's state.
    `void` | `scale(double x, double y)` Applies scale to the current transform.
    `void` | `setFillStyle(FillStrokeStyle fillStyle)` Sets the context's fillStyle.
    `void` | `setFillStyle(java.lang.String fillStyleColor)` Convenience method to set the context's fillStyle to a `CssColor`, specified in String form.
    `void` | `setFont(java.lang.String f)` Sets the font.
    `void` | `setGlobalAlpha(double alpha)` Sets the global alpha value.
    `void` | `setGlobalCompositeOperation(Context2d.Composite composite)` Sets the global composite operation.
    `void` | `setGlobalCompositeOperation(java.lang.String globalCompositeOperation)` Sets the global composite operation.
    `void` | `setLineCap(Context2d.LineCap lineCap)` Sets the line-cap style.
    `void` | `setLineCap(java.lang.String lineCap)` Sets the line-cap style.
    `void` | `setLineJoin(Context2d.LineJoin lineJoin)` Sets the line-join style.
    `void` | `setLineJoin(java.lang.String lineJoin)` Sets the line-join style.
    `void` | `setLineWidth(double lineWidth)` Sets the line-width.
    `void` | `setMiterLimit(double miterLimit)` Sets the miter-limit.
    `void` | `setShadowBlur(double shadowBlur)` Sets the shadow-blur.
    `void` | `setShadowColor(java.lang.String shadowColor)` Sets the shadow-color.
    `void` | `setShadowOffsetX(double shadowOffsetX)` Sets the x-shadow-offset.
    `void` | `setShadowOffsetY(double shadowOffsetY)` Sets the y-shadow-offset.
    `void` | `setStrokeStyle(FillStrokeStyle strokeStyle)` Sets the context's stroke style.
    `void` | `setStrokeStyle(java.lang.String strokeStyleColor)` Convenience method to set the context's strokeStyle to a `CssColor`.
    `void` | `setTextAlign(Context2d.TextAlign align)` Sets the text alignment.
    `void` | `setTextAlign(java.lang.String align)` Sets the text alignment.
    `void` | `setTextBaseline(Context2d.TextBaseline baseline)` Sets the text baseline.
    `void` | `setTextBaseline(java.lang.String baseline)` Sets the text baseline.
    `void` | `setTransform(double m11, double m12, double m21, double m22, double dx, double dy)` Sets the 2D transformation matrix.
    `void` | `stroke()` Draws the current path with the current stroke style.
    `void` | `strokeRect(double x, double y, double w, double h)` Draws the outline of a rectangle with the current stroke style.
    `void` | `strokeText(java.lang.String text, double x, double y)` Draws the text outline.
    `void` | `strokeText(java.lang.String text, double x, double y, double maxWidth)` Draws the text outline, squeezing the text into the given max width by compressing the font.
    `void` | `transform(double m11, double m12, double m21, double m22, double dx, double dy)` Multiplies the current transform by the given matrix.
    `void` | `translate(double x, double y)` Applies a translation to the current transform.

    - ### Methods inherited from class com.google.gwt.core.client.JavaScriptObject

      `cast, createArray, createFunction, createObject, equals, hashCode, toSource, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### CONTEXT_ID

          public static final java.lang.String CONTEXT_ID

      Specifies the context id property used in creating a Context.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Context2d

          protected Context2d()

  - ### Method Detail

    - #### arc

          public final void arc(double x,
                 double y,
                 double radius,
                 double startAngle,
                 double endAngle)

      Draws an arc. If a current subpath exists, a line segment is added from the current point to the starting point of the arc. If `endAngle - startAngle` is equal to or greater than `2 * Math.Pi`, the arc is the whole circumference of the circle.
      Parameters:
        `x` - the x coordinate of the center of the arc
        `y` - the y coordinate of the center of the arc
        `radius` - the radius of the arc
        `startAngle` - the start angle, measured in radians clockwise from the positive x-axis
        `endAngle` - the end angle, measured in radians clockwise from the positive x-axis

    - #### arc

          public final void arc(double x,
                 double y,
                 double radius,
                 double startAngle,
                 double endAngle,
                 boolean anticlockwise)

      Draws an arc. If a current subpath exists, a line segment is added from the current point to the starting point of the arc. If `anticlockwise` is false and `endAngle - startAngle` is equal to or greater than `2 * Math.PI`, or if `anticlockwise` is `true` and `startAngle - endAngle` is equal to or greater than `2 * Math.PI`, then the arc is the whole circumference of the circle.
      Parameters:
        `x` - the x coordinate of the center of the arc
        `y` - the y coordinate of the center of the arc
        `radius` - the radius of the arc
        `startAngle` - the start angle, measured in radians clockwise from the positive x-axis
        `endAngle` - the end angle, measured in radians clockwise from the positive x-axis
        `anticlockwise` - if `true`, the arc is drawn in an anticlockwise direction

    - #### arcTo

          public final void arcTo(double x1,
                   double y1,
                   double x2,
                   double y2,
                   double radius)

      Adds an arc to the current subpath, connecting it to the current point with a line segment.
      Parameters:
        `x1` - the x coordinate of the starting point of the arc
        `y1` - the y coordinate of the starting point of the arc
        `x2` - the x coordinate of the ending point of the arc
        `y2` - the y coordinate of the ending point of the arc
        `radius` - the radius of a circle containing the arc

    - #### beginPath

          public final void beginPath()

      Begins a new path.

    - #### bezierCurveTo

          public final void bezierCurveTo(double cp1x,
                           double cp1y,
                           double cp2x,
                           double cp2y,
                           double x,
                           double y)

      Draws a cubic Bézier curve from the current point to the point (x, y), with control points (cp1x, cp1y) and (cp2x, cp2y).
      Parameters:
        `cp1x` - the x coordinate of the first control point
        `cp1y` - the y coordinate of the first control point
        `cp2x` - the x coordinate of the second control point
        `cp2y` - the y coordinate of the second control point
        `x` - the x coordinate of the end point
        `y` - the y coordinate of the end point

    - #### clearRect

          public final void clearRect(double x,
                       double y,
                       double w,
                       double h)

      Clears a rectangle.
      Parameters:
        `x` - the x coordinate of the rectangle's upper-left corner
        `y` - the y coordinate of the rectangle's upper-left corner
        `w` - the width of the rectangle
        `h` - the height of the rectangle

    - #### clip

          public final void clip()

      Creates a new clipping region from the current path.

    - #### closePath

          public final void closePath()

      Closes the current path.

    - #### createImageData

          public final ImageData createImageData(ImageData imagedata)

      Creates an image data object of the same size as the given object.
      Parameters:
        `imagedata` - an `ImageData` object
      Returns:
        a new `ImageData` object

    - #### createImageData

          public final ImageData createImageData(int w,
                                  int h)

      Creates an image data object of the given size.
      Parameters:
        `w` - the width of the image
        `h` - the height of the image
      Returns:
        an `ImageData` object

    - #### createLinearGradient

          public final CanvasGradient createLinearGradient(double x0,
                                            double y0,
                                            double x1,
                                            double y1)

      Creates a linear gradient.
      Parameters:
        `x0` - the x coordinate of the starting point of the gradient
        `y0` - the y coordinate of the starting point of the gradient
        `x1` - the x coordinate of the ending point of the gradient
        `y1` - the y coordinate of the ending point of the gradient
      Returns:
        a `CanvasGradient` object

    - #### createPattern

          public final CanvasPattern createPattern(CanvasElement image,
                                    Context2d.Repetition repetition)

      Creates a pattern from another canvas.
      Parameters:
        `image` - an `CanvasElement` object
        `repetition` - a `Context2d.Repetition` object
      Returns:
        a `CanvasPattern` object

    - #### createPattern

          public final CanvasPattern createPattern(CanvasElement image,
                                    java.lang.String repetition)

      Creates a pattern from another canvas.
      Parameters:
        `image` - an `CanvasElement` object
        `repetition` - the repetition type as a String
      Returns:
        a `CanvasPattern` object

    - #### createPattern

          public final CanvasPattern createPattern(ImageElement image,
                                    Context2d.Repetition repetition)

      Creates a pattern from an image.
      Parameters:
        `image` - an `ImageElement` object
        `repetition` - a `Context2d.Repetition` object
      Returns:
        a `CanvasPattern` object

    - #### createPattern

          public final CanvasPattern createPattern(ImageElement image,
                                    java.lang.String repetition)

      Creates a pattern from an image.
      Parameters:
        `image` - an `ImageElement` object
        `repetition` - the repetition type as a String
      Returns:
        a `CanvasPattern` object

    - #### createRadialGradient

          public final CanvasGradient createRadialGradient(double x0,
                                            double y0,
                                            double r0,
                                            double x1,
                                            double y1,
                                            double r1)

      Creates a radial gradient.
      Parameters:
        `x0` - the x coordinate of the center of the start circle of the gradient
        `y0` - the y coordinate of the center of the start circle of the gradient
        `r0` - the radius of the start circle of the gradient
        `x1` - the x coordinate of the center of the end circle of the gradient
        `y1` - the y coordinate of the center of the end circle of the gradient
        `r1` - the radius of the end circle of the gradient
      Returns:
        a `CanvasGradient` object

    - #### drawImage

          public final void drawImage(CanvasElement image,
                       double dx,
                       double dy)

      Draws an image.
      Parameters:
        `image` - an `CanvasElement` object
        `dx` - the x coordinate of the upper-left corner of the destination rectangle
        `dy` - the y coordinate of the upper-left corner of the destination rectangle

    - #### drawImage

          public final void drawImage(CanvasElement image,
                       double dx,
                       double dy,
                       double dw,
                       double dh)

      Draws a scaled image.
      Parameters:
        `image` - an `CanvasElement` object
        `dx` - the x coordinate of the upper-left corner of the destination rectangle
        `dy` - the y coordinate of the upper-left corner of the destination rectangle
        `dw` - the width of the destination rectangle
        `dh` - the height of the destination rectangle

    - #### drawImage

          public final void drawImage(CanvasElement image,
                       double sx,
                       double sy,
                       double sw,
                       double sh,
                       double dx,
                       double dy,
                       double dw,
                       double dh)

      Draws a scaled subset of an image.
      Parameters:
        `image` - an `CanvasElement` object
        `sx` - the x coordinate of the upper-left corner of the source rectangle
        `sy` - the y coordinate of the upper-left corner of the source rectangle
        `sw` - the width of the source rectangle
        `sh` - the width of the source rectangle
        `dx` - the x coordinate of the upper-left corner of the destination rectangle
        `dy` - the y coordinate of the upper-left corner of the destination rectangle
        `dw` - the width of the destination rectangle
        `dh` - the height of the destination rectangle

    - #### drawImage

          public final void drawImage(ImageElement image,
                       double dx,
                       double dy)

      Draws an image.
      Parameters:
        `image` - an `ImageElement` object
        `dx` - the x coordinate of the upper-left corner of the destination rectangle
        `dy` - the y coordinate of the upper-left corner of the destination rectangle

    - #### drawImage

          public final void drawImage(ImageElement image,
                       double dx,
                       double dy,
                       double dw,
                       double dh)

      Draws a scaled image.
      Parameters:
        `image` - an `ImageElement` object
        `dx` - the x coordinate of the upper-left corner of the destination rectangle
        `dy` - the y coordinate of the upper-left corner of the destination rectangle
        `dw` - the width of the destination rectangle
        `dh` - the height of the destination rectangle

    - #### drawImage

          public final void drawImage(ImageElement image,
                       double sx,
                       double sy,
                       double sw,
                       double sh,
                       double dx,
                       double dy,
                       double dw,
                       double dh)

      Draws a scaled subset of an image.
      Parameters:
        `image` - an `ImageElement` object
        `sx` - the x coordinate of the upper-left corner of the source rectangle
        `sy` - the y coordinate of the upper-left corner of the source rectangle
        `sw` - the width of the source rectangle
        `sh` - the width of the source rectangle
        `dx` - the x coordinate of the upper-left corner of the destination rectangle
        `dy` - the y coordinate of the upper-left corner of the destination rectangle
        `dw` - the width of the destination rectangle
        `dh` - the height of the destination rectangle

    - #### fill

          public final void fill()

      Fills the current path.

    - #### fillRect

          public final void fillRect(double x,
                      double y,
                      double w,
                      double h)

      Fills a rectangle.
      Parameters:
        `x` - the x coordinate of the rectangle's upper-left corner
        `y` - the y coordinate of the rectangle's upper-left corner
        `w` - the width of the rectangle
        `h` - the height of the rectangle

    - #### fillText

          public final void fillText(java.lang.String text,
                      double x,
                      double y)

      Draws filled text.
      Parameters:
        `text` - the text as a String
        `x` - the x coordinate of the text position
        `y` - the y coordinate of the text position

    - #### fillText

          public final void fillText(java.lang.String text,
                      double x,
                      double y,
                      double maxWidth)

      Draws filled text squeezed into the given max width.
      Parameters:
        `text` - the text as a String
        `x` - the x coordinate of the text position
        `y` - the y coordinate of the text position
        `maxWidth` - the maximum width for the text

    - #### getCanvas

          public final CanvasElement getCanvas()

      Gets this context's canvas.
      Returns:
        a `CanvasElement` object

    - #### getFillStyle

          public final FillStrokeStyle getFillStyle()

      Returns the context's fillStyle. In dev mode, the returned object will be wrapped in a JavaScript array.
      Returns:
        a `FillStrokeStyle` object
      See Also:
        `setFillStyle(FillStrokeStyle)`, `setFillStyle(String)`, `CssColor`

    - #### getFont

          public final java.lang.String getFont()

      Gets this context's font.
      Returns:
        the font name as a String
      See Also:
        `setFont(String)`

    - #### getGlobalAlpha

          public final double getGlobalAlpha()

      Gets the global alpha value.
      Returns:
        the global alpha value as a double
      See Also:
        `setGlobalAlpha(double)`

    - #### getGlobalCompositeOperation

          public final java.lang.String getGlobalCompositeOperation()

      Gets the global composite operation.
      Returns:
        the global composite operation as a String
      See Also:
        `setGlobalCompositeOperation(Composite)`, `setGlobalCompositeOperation(String)`

    - #### getImageData

          public final ImageData getImageData(double sx,
                               double sy,
                               double sw,
                               double sh)

      Returns an image data object for the screen area denoted by sx, sy, sw and sh.
      Parameters:
        `sx` - the x coordinate of the upper-left corner of the desired area
        `sy` - the y coordinate of the upper-left corner of the desired area
        `sw` - the width of the desired area
        `sh` - the height of the desired area
      Returns:
        an `ImageData` object containing screen pixel data

    - #### getLineCap

          public final java.lang.String getLineCap()

      Gets the current line-cap style.
      Returns:
        the line cap style as a String
      See Also:
        `setLineCap(LineCap)`, `setLineCap(String)`

    - #### getLineJoin

          public final java.lang.String getLineJoin()

      Gets the current line-join style.
      Returns:
        the line join style as a String
      See Also:
        `setLineJoin(LineJoin)`, `setLineJoin(String)`

    - #### getLineWidth

          public final double getLineWidth()

      Gets the current line-width.
      Returns:
        the line width as a double
      See Also:
        `setLineWidth(double)`

    - #### getMiterLimit

          public final double getMiterLimit()

      Gets the current miter-limit.
      Returns:
        the miter limit as a double
      See Also:
        `setMiterLimit(double)`

    - #### getShadowBlur

          public final double getShadowBlur()

      Gets the current shadow-blur.
      Returns:
        the shadow blur amount as a double
      See Also:
        `setShadowBlur(double)`

    - #### getShadowColor

          public final java.lang.String getShadowColor()

      Gets the current shadow color.
      Returns:
        the shadow color as a String
      See Also:
        `setShadowColor(String)`

    - #### getShadowOffsetX

          public final double getShadowOffsetX()

      Gets the current x-shadow-offset.
      Returns:
        the shadow x offset as a double
      See Also:
        `setShadowOffsetX(double)`, `getShadowOffsetY()`

    - #### getShadowOffsetY

          public final double getShadowOffsetY()

      Gets the current y-shadow-offset.
      Returns:
        the shadow y offset as a double
      See Also:
        `setShadowOffsetY(double)`, `getShadowOffsetX()`

    - #### getStrokeStyle

          public final FillStrokeStyle getStrokeStyle()

      Returns the context's strokeStyle. In dev mode, the returned object will be wrapped in a JavaScript array.
      Returns:
        the stroke style as a `FillStrokeStyle` object
      See Also:
        `setStrokeStyle(FillStrokeStyle)`, `setStrokeStyle(String)`, `CssColor`

    - #### getTextAlign

          public final java.lang.String getTextAlign()

      Gets the current text align.
      Returns:
        the text align as a String
      See Also:
        `setTextAlign(TextAlign)`, `setTextAlign(String)`

    - #### getTextBaseline

          public final java.lang.String getTextBaseline()

      Gets the current text baseline.
      Returns:
        the text baseline as a String
      See Also:
        `setTextBaseline(TextBaseline)`, `setTextBaseline(String)`

    - #### isPointInPath

          public final boolean isPointInPath(double x,
                              double y)

      Returns true if the given point is in the current path.
      Parameters:
        `x` - the x coordinate of the point to test.
        `y` - the y coordinate of the point to test.
      Returns:
        `true` if the given point is in the current path.

    - #### lineTo

          public final void lineTo(double x,
                    double y)

      Adds a line from the current point to the point (x, y) to the current path.
      Parameters:
        `x` - the x coordinate of the line endpoint
        `y` - the y coordinate of the line endpoint

    - #### measureText

          public final TextMetrics measureText(java.lang.String text)

      Returns the metrics for the given text.
      Parameters:
        `text` - the text to measure, as a String
      Returns:
        a `TextMetrics` object

    - #### moveTo

          public final void moveTo(double x,
                    double y)

      Terminates the current path and sets the current path position to the point (x, y).
      Parameters:
        `x` - the x coordinate of the new position
        `y` - the y coordinate of the new position

    - #### putImageData

          public final void putImageData(ImageData imagedata,
                          double x,
                          double y)

      Draws the given image data at the given screen position.
      Parameters:
        `imagedata` - an `ImageData` instance to be written to the screen
        `x` - the x coordinate of the upper-left corner at which to draw
        `y` - the y coordinate of the upper-left corner at which to draw

    - #### quadraticCurveTo

          public final void quadraticCurveTo(double cpx,
                              double cpy,
                              double x,
                              double y)

      Draws a quadratic Bézier curve from the current point to the point (x, y), with control point (cpx, cpy).
      Parameters:
        `cpx` - the x coordinate of the control point
        `cpy` - the y coordinate of the control point
        `x` - the x coordinate of the end point
        `y` - the y coordinate of the end point

    - #### rect

          public final void rect(double x,
                  double y,
                  double w,
                  double h)

      Creates a new rectangular path.
      Parameters:
        `x` - the x coordinate of the rectangle's upper-left corner
        `y` - the y coordinate of the rectangle's upper-left corner
        `w` - the width of the rectangle
        `h` - the height of the rectangle

    - #### restore

          public final void restore()

      Restores the context's state.

    - #### rotate

          public final void rotate(double angle)

      Applies rotation to the current transform.
      Parameters:
        `angle` - the clockwise rotation angle, in radians

    - #### save

          public final void save()

      Saves the context's state.

    - #### scale

          public final void scale(double x,
                   double y)

      Applies scale to the current transform.
      Parameters:
        `x` - the scale factor along the x-axis
        `y` - the scale factor along the y-axis

    - #### setFillStyle

          public final void setFillStyle(FillStrokeStyle fillStyle)

      Sets the context's fillStyle.
      Parameters:
        `fillStyle` - the fill style to set.
      See Also:
        `getFillStyle()`, `CssColor`

    - #### setFillStyle

          public final void setFillStyle(java.lang.String fillStyleColor)

      Convenience method to set the context's fillStyle to a `CssColor`, specified in String form.
      Parameters:
        `fillStyleColor` - the color as a String
      See Also:
        `getFillStyle()`

    - #### setFont

          public final void setFont(java.lang.String f)

      Sets the font.
      Parameters:
        `f` - the font name as a String
      See Also:
        `getFont()`

    - #### setGlobalAlpha

          public final void setGlobalAlpha(double alpha)

      Sets the global alpha value.
      Parameters:
        `alpha` - the global alpha value as a double
      See Also:
        `getGlobalAlpha()`

    - #### setGlobalCompositeOperation

          public final void setGlobalCompositeOperation(Context2d.Composite composite)

      Sets the global composite operation.
      Parameters:
        `composite` - a `Context2d.Composite` value
      See Also:
        `getGlobalCompositeOperation()`

    - #### setGlobalCompositeOperation

          public final void setGlobalCompositeOperation(java.lang.String globalCompositeOperation)

      Sets the global composite operation.
      Parameters:
        `globalCompositeOperation` - the operation as a String
      See Also:
        `getGlobalCompositeOperation()`

    - #### setLineCap

          public final void setLineCap(Context2d.LineCap lineCap)

      Sets the line-cap style.
      Parameters:
        `lineCap` - the line cap style as a `Context2d.LineCap` value
      See Also:
        `getLineCap()`

    - #### setLineCap

          public final void setLineCap(java.lang.String lineCap)

      Sets the line-cap style.
      Parameters:
        `lineCap` - the line cap style as a String
      See Also:
        `getLineCap()`

    - #### setLineJoin

          public final void setLineJoin(Context2d.LineJoin lineJoin)

      Sets the line-join style.
      Parameters:
        `lineJoin` - the line join style as a `Context2d.LineJoin` value
      See Also:
        `getLineJoin()`

    - #### setLineJoin

          public final void setLineJoin(java.lang.String lineJoin)

      Sets the line-join style.
      Parameters:
        `lineJoin` - the ling join style as a String
      See Also:
        `getLineJoin()`

    - #### setLineWidth

          public final void setLineWidth(double lineWidth)

      Sets the line-width.
      Parameters:
        `lineWidth` - the line width as a double
      See Also:
        `getMiterLimit()`, `getLineWidth()`

    - #### setMiterLimit

          public final void setMiterLimit(double miterLimit)

      Sets the miter-limit.
      Parameters:
        `miterLimit` - the miter limit as a double
      See Also:
        `getMiterLimit()`

    - #### setShadowBlur

          public final void setShadowBlur(double shadowBlur)

      Sets the shadow-blur.
      Parameters:
        `shadowBlur` - the amount of blur as a double
      See Also:
        `getShadowBlur()`

    - #### setShadowColor

          public final void setShadowColor(java.lang.String shadowColor)

      Sets the shadow-color.
      Parameters:
        `shadowColor` - the shadow color as a String
      See Also:
        `getShadowColor()`

    - #### setShadowOffsetX

          public final void setShadowOffsetX(double shadowOffsetX)

      Sets the x-shadow-offset.
      Parameters:
        `shadowOffsetX` - the x shadow offset
      See Also:
        `getShadowOffsetX()`, `getShadowOffsetY()`

    - #### setShadowOffsetY

          public final void setShadowOffsetY(double shadowOffsetY)

      Sets the y-shadow-offset.
      Parameters:
        `shadowOffsetY` - the y shadow offset
      See Also:
        `getShadowOffsetX()`, `getShadowOffsetY()`

    - #### setStrokeStyle

          public final void setStrokeStyle(FillStrokeStyle strokeStyle)

      Sets the context's stroke style.
      Parameters:
        `strokeStyle` - the stroke style to set
      See Also:
        `getStrokeStyle()`, `CssColor`

    - #### setStrokeStyle

          public final void setStrokeStyle(java.lang.String strokeStyleColor)

      Convenience method to set the context's strokeStyle to a `CssColor`.
      Parameters:
        `strokeStyleColor` - the stroke color as a String
      See Also:
        `getStrokeStyle()`

    - #### setTextAlign

          public final void setTextAlign(java.lang.String align)

      Sets the text alignment.
      Parameters:
        `align` - the alignment setting as a String
      See Also:
        `getTextAlign()`

    - #### setTextAlign

          public final void setTextAlign(Context2d.TextAlign align)

      Sets the text alignment.
      Parameters:
        `align` - the alignment setting as a `Context2d.TextAlign` value
      See Also:
        `getTextAlign()`

    - #### setTextBaseline

          public final void setTextBaseline(java.lang.String baseline)

      Sets the text baseline.
      Parameters:
        `baseline` - the baseline setting as a String
      See Also:
        `getTextBaseline()`

    - #### setTextBaseline

          public final void setTextBaseline(Context2d.TextBaseline baseline)

      Sets the text baseline.
      Parameters:
        `baseline` - a the baseline setting as a `Context2d.TextBaseline` value
      See Also:
        `getTextBaseline()`

    - #### setTransform

          public final void setTransform(double m11,
                          double m12,
                          double m21,
                          double m22,
                          double dx,
                          double dy)

      Sets the 2D transformation matrix.
      Parameters:
        `m11` - the value at position (1, 1) of the matrix
        `m12` - the value at position (1, 2) of the matrix
        `m21` - the value at position (2, 1) of the matrix
        `m22` - the value at position (2, 2) of the matrix
        `dx` - the x translation value
        `dy` - the y translation value

    - #### stroke

          public final void stroke()

      Draws the current path with the current stroke style.

    - #### strokeRect

          public final void strokeRect(double x,
                        double y,
                        double w,
                        double h)

      Draws the outline of a rectangle with the current stroke style.
      Parameters:
        `x` - the x coordinate of the rectangle's upper-left corner
        `y` - the y coordinate of the rectangle's upper-left corner
        `w` - the width of the rectangle
        `h` - the height of the rectangle

    - #### strokeText

          public final void strokeText(java.lang.String text,
                        double x,
                        double y)

      Draws the text outline.
      Parameters:
        `text` - the text as a String
        `x` - the x coordinate of the text position
        `y` - the y coordinate of the text position

    - #### strokeText

          public final void strokeText(java.lang.String text,
                        double x,
                        double y,
                        double maxWidth)

      Draws the text outline, squeezing the text into the given max width by compressing the font.
      Parameters:
        `text` - the text as a String
        `x` - the x coordinate of the text position
        `y` - the y coordinate of the text position
        `maxWidth` - the maximum width for the text

    - #### transform

          public final void transform(double m11,
                       double m12,
                       double m21,
                       double m22,
                       double dx,
                       double dy)

      Multiplies the current transform by the given matrix.
      Parameters:
        `m11` - the value at position (1, 1) of the matrix
        `m12` - the value at position (1, 2) of the matrix
        `m21` - the value at position (2, 1) of the matrix
        `m22` - the value at position (2, 2) of the matrix
        `dx` - the x translation value
        `dy` - the y translation value

    - #### translate

          public final void translate(double x,
                       double y)

      Applies a translation to the current transform.
      Parameters:
        `x` - the amount of translation along the x-axis
        `y` - the amount of translation along the y-axis