Package 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 | 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 | Description
    --- | --- | ---
    `static java.lang.String` | `CONTEXT_ID` | Specifies the context id property used in creating a Context.

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | 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​(int w, int h)` | Creates an image data object of the given size.
    `ImageData` | `createImageData​(ImageData imagedata)` | Creates an image data object of the same size as the given object.
    `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` | `drawImage​(VideoElement image, double dx, double dy)` | Draws a video's current frame.
    `void` | `drawImage​(VideoElement image, double dx, double dy, double dw, double dh)` | Draws a scaled video's current frame.
    `void` | `drawImage​(VideoElement image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh)` | Draws a scaled subset of a video's current frame.
    `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, 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

    - #### drawImage

          public final void drawImage​(VideoElement image,
                                      double dx,
                                      double dy)

      Draws a video's current frame.
      Parameters:
        `image` - a `VideoElement` 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​(VideoElement image,
                                      double dx,
                                      double dy,
                                      double dw,
                                      double dh)

      Draws a scaled video's current frame.
      Parameters:
        `image` - a `VideoElement` 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​(VideoElement image,
                                      double sx,
                                      double sy,
                                      double sw,
                                      double sh,
                                      double dx,
                                      double dy,
                                      double dw,
                                      double dh)

      Draws a scaled subset of a video's current frame.
      Parameters:
        `image` - a `VideoElement` 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