com.mxgraph.canvas

## Class mxGraphicsCanvas2D

- java.lang.Object
- - com.mxgraph.canvas.mxGraphicsCanvas2D

- All Implemented Interfaces:
    mxICanvas2D

      public class mxGraphicsCanvas2D
      extends java.lang.Object
      implements mxICanvas2D

  Used for exporting images. To render to an image from a given XML string, graph size and background color, the following code is used: `BufferedImage image = mxUtils.createBufferedImage(width, height, background); Graphics2D g2 = image.createGraphics(); mxUtils.setAntiAlias(g2, true, true); XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader(); reader.setContentHandler(new mxSaxOutputHandler(new mxGraphicsCanvas2D(g2))); reader.parse(new InputSource(new StringReader(xml)));` Text rendering is available for plain text and HTML markup, the latter with optional word wrapping. CSS support is limited to the following: http://docs.oracle.com/javase/6/docs/api/index.html?javax/swing/text/html/CSS.html

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `mxGraphicsCanvas2D.CanvasState`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `COLOR_CACHE_SIZE` Specifies the size of the cache used to store parsed colors
    `protected java.util.LinkedHashMap<java.lang.String,java.awt.Color>` | `colorCache` Caches parsed colors.
    `protected java.awt.geom.GeneralPath` | `currentPath` Holds the current path.
    `protected java.awt.Graphics2D` | `graphics` Reference to the graphics instance for painting.
    `static int` | `IMAGE_SCALING` Specifies the image scaling quality.
    `static int` | `JAVA_TEXT_WIDTH_DELTA` Specifies the additional pixels when computing the text width for HTML labels.
    `protected int` | `lastCap` Stroke caching.
    `protected boolean` | `lastDashed` Stroke caching.
    `protected java.lang.Object` | `lastDashPattern` Stroke caching.
    `protected java.awt.Font` | `lastFont` Font caching.
    `protected java.lang.String` | `lastFontFamily` Font caching.
    `protected int` | `lastFontSize` Font caching.
    `protected int` | `lastFontStyle` Font caching.
    `protected int` | `lastJoin` Stroke caching.
    `protected float` | `lastMiterLimit` Stroke caching.
    `protected java.awt.Stroke` | `lastStroke` Stroke caching.
    `protected float` | `lastStrokeWidth` Stroke caching.
    `protected javax.swing.CellRendererPane` | `rendererPane` Optional renderer pane to be used for HTML label rendering.
    `protected java.util.Stack<mxGraphicsCanvas2D.CanvasState>` | `stack` Stack of states for save/restore.
    `protected mxGraphicsCanvas2D.CanvasState` | `state` Represents the current state of the canvas.
    `protected boolean` | `textEnabled` Specifies if text output should be rendered.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `mxGraphicsCanvas2D(java.awt.Graphics2D g)` Constructs a new graphics export canvas.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `begin()` Begins a new path.
    `protected mxGraphicsCanvas2D.CanvasState` | `cloneState(mxGraphicsCanvas2D.CanvasState state)` Returns a clone of thec given state.
    `void` | `close()` Closes the current path.
    `protected java.awt.Font` | `createFont(java.lang.String family, int style, int size)` Hook for subclassers to implement font caching.
    `protected java.lang.String` | `createHtmlDocument(java.lang.String text, java.lang.String style)` Creates a HTML document for the given text and CSS style.
    `protected java.lang.String` | `createHtmlDocument(java.lang.String text, java.lang.String align, java.lang.String valign, int w, int h, boolean wrap, java.lang.String overflow, boolean clip)` Creates a HTML document around the given markup.
    `protected java.awt.Graphics2D` | `createImageGraphics(double x, double y, double w, double h, boolean flipH, boolean flipV)` Creates a graphic instance for rendering an image.
    `protected java.awt.Graphics2D` | `createTextGraphics(double x, double y, double w, double h, double rotation, boolean clip, java.lang.String align, java.lang.String valign)` Returns a new graphics instance with the correct color and font for text rendering.
    `void` | `curveTo(double x1, double y1, double x2, double y2, double x3, double y3)` Draws a bezier curve to the given point.
    `protected void` | `drawImage(java.awt.Graphics2D graphics, java.awt.Image image, int x, int y)`
    `void` | `ellipse(double x, double y, double w, double h)` Next fill or stroke should draw an ellipse.
    `void` | `fill()` Fills the current path.
    `void` | `fillAndStroke()` Fills and paints the outline of the current path.
    `protected java.lang.String` | `getFontName(java.lang.String family)` Returns a font name for the given CSS values for font-family.
    `java.awt.Graphics2D` | `getGraphics()` Returns the graphics instance.
    `protected java.awt.Rectangle` | `getImageBounds(java.awt.Image img, double x, double y, double w, double h, boolean aspect)`
    `protected java.awt.Dimension` | `getImageSize(java.awt.Image image)` Returns the size for the given image.
    `protected java.awt.geom.Point2D` | `getMargin(java.lang.String align, java.lang.String valign)`
    `protected javax.swing.JLabel` | `getTextRenderer()` Hook to return the renderer for HTML formatted text.
    `protected void` | `htmlText(double x, double y, double w, double h, java.lang.String str, java.lang.String align, java.lang.String valign, boolean wrap, java.lang.String format, java.lang.String overflow, boolean clip, double rotation)` Draws the given HTML text.
    `void` | `image(double x, double y, double w, double h, java.lang.String src, boolean aspect, boolean flipH, boolean flipV)` Draws the given image.
    `boolean` | `isTextEnabled()` Returns true if text should be rendered.
    `void` | `lineTo(double x, double y)` Draws a line to the given path.
    `protected java.awt.Image` | `loadImage(java.lang.String src)` Hook for image caching.
    `void` | `moveTo(double x, double y)` Moves to the given path.
    `protected void` | `paintCurrentPath(boolean filled, boolean stroked)`
    `protected void` | `paintShadow(boolean filled, boolean stroked)`
    `protected java.awt.Color` | `parseColor(java.lang.String hex)` Helper method that uses `mxUtils.parseColor(String)`.
    `protected java.awt.Color` | `parseColor(java.lang.String hex, double alpha)` Helper method that uses `mxUtils.parseColor(String)`.
    `void` | `plainText(double x, double y, double w, double h, java.lang.String str, java.lang.String align, java.lang.String valign, boolean wrap, java.lang.String format, java.lang.String overflow, boolean clip, double rotation)` Draws the given text.
    `void` | `quadTo(double x1, double y1, double x2, double y2)` Draws a quadratic curve to the given point.
    `void` | `rect(double x, double y, double w, double h)` Next fill or stroke should draw a rectangle.
    `void` | `restore()` Restores the last canvas state.
    `void` | `rotate(double theta, boolean flipH, boolean flipV, double cx, double cy)` Rotates the canvas by the given angle around the given center.
    `void` | `roundrect(double x, double y, double w, double h, double dx, double dy)` Implements a rounded rectangle using a path.
    `void` | `save()` Saves the current canvas state.
    `void` | `scale(double value)` Uniformaly scales the canvas by the given amount.
    `protected java.awt.Image` | `scaleImage(java.awt.Image img, int w, int h)` Uses `IMAGE_SCALING` to scale the given image.
    `void` | `setAlpha(double value)` Default value 1.
    `void` | `setDashed(boolean value)` Sets the dashed state.
    `void` | `setDashPattern(java.lang.String value)` Sets the dash pattern.
    `void` | `setFillAlpha(double value)` Default value 1.
    `void` | `setFillColor(java.lang.String value)` Default value `mxConstants.NONE`.
    `void` | `setFontBackgroundColor(java.lang.String value)` Default value "#000000".
    `void` | `setFontBorderColor(java.lang.String value)` Default value "#000000".
    `void` | `setFontColor(java.lang.String value)` Default value "#000000".
    `void` | `setFontFamily(java.lang.String value)` Default value `mxConstants.DEFAULT_FONTFAMILY`.
    `void` | `setFontSize(double value)` Default value `mxConstants.DEFAULT_FONTSIZE`.
    `void` | `setFontStyle(int value)` Default value 0.
    `void` | `setGradient(java.lang.String color1, java.lang.String color2, double x, double y, double w, double h, java.lang.String direction, double alpha1, double alpha2)` Prepares the canvas to draw a gradient.
    `void` | `setGraphics(java.awt.Graphics2D value)` Sets the graphics instance.
    `void` | `setLineCap(java.lang.String value)` Sets the linecap.
    `void` | `setLineJoin(java.lang.String value)` Sets the linejoin.
    `void` | `setMiterLimit(double value)` Sets the miterlimit.
    `void` | `setShadow(boolean value)` Enables or disables the painting of shadows.
    `void` | `setShadowAlpha(double value)` Default value `mxConstants.NONE`.
    `void` | `setShadowColor(java.lang.String value)` Default value `mxConstants.NONE`.
    `void` | `setShadowOffset(double dx, double dy)` Default value `mxConstants.NONE`.
    `void` | `setStrokeAlpha(double value)` Default value 1.
    `void` | `setStrokeColor(java.lang.String value)` Caches color conversion as it is expensive.
    `void` | `setStrokeWidth(double value)` Sets the stroke width.
    `void` | `setTextEnabled(boolean value)` Disables or enables text rendering.
    `void` | `stroke()` Paints the outline of the current path.
    `void` | `text(double x, double y, double w, double h, java.lang.String str, java.lang.String align, java.lang.String valign, boolean wrap, java.lang.String format, java.lang.String overflow, boolean clip, double rotation, java.lang.String textDirection)` Draws the given text.
    `void` | `translate(double dx, double dy)` Translates the canvas by the given amount.
    `protected void` | `updateFont()`
    `protected void` | `updateStroke()`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### IMAGE_SCALING

          public static int IMAGE_SCALING

      Specifies the image scaling quality. Default is Image.SCALE_SMOOTH. See `scaleImage(Image, int, int)`

    - #### JAVA_TEXT_WIDTH_DELTA

          public static int JAVA_TEXT_WIDTH_DELTA

      Specifies the additional pixels when computing the text width for HTML labels. Default is 2.

    - #### COLOR_CACHE_SIZE

          public static int COLOR_CACHE_SIZE

      Specifies the size of the cache used to store parsed colors

    - #### graphics

          protected java.awt.Graphics2D graphics

      Reference to the graphics instance for painting.

    - #### textEnabled

          protected boolean textEnabled

      Specifies if text output should be rendered. Default is true.

    - #### state

          protected transient mxGraphicsCanvas2D.CanvasState state

      Represents the current state of the canvas.

    - #### stack

          protected transient java.util.Stack<mxGraphicsCanvas2D.CanvasState> stack

      Stack of states for save/restore.

    - #### currentPath

          protected transient java.awt.geom.GeneralPath currentPath

      Holds the current path.

    - #### rendererPane

          protected javax.swing.CellRendererPane rendererPane

      Optional renderer pane to be used for HTML label rendering.

    - #### lastFont

          protected transient java.awt.Font lastFont

      Font caching.

    - #### lastFontStyle

          protected transient int lastFontStyle

      Font caching.

    - #### lastFontSize

          protected transient int lastFontSize

      Font caching.

    - #### lastFontFamily

          protected transient java.lang.String lastFontFamily

      Font caching.

    - #### lastStroke

          protected transient java.awt.Stroke lastStroke

      Stroke caching.

    - #### lastStrokeWidth

          protected transient float lastStrokeWidth

      Stroke caching.

    - #### lastCap

          protected transient int lastCap

      Stroke caching.

    - #### lastJoin

          protected transient int lastJoin

      Stroke caching.

    - #### lastMiterLimit

          protected transient float lastMiterLimit

      Stroke caching.

    - #### lastDashed

          protected transient boolean lastDashed

      Stroke caching.

    - #### lastDashPattern

          protected transient java.lang.Object lastDashPattern

      Stroke caching.

    - #### colorCache

          protected transient java.util.LinkedHashMap<java.lang.String,java.awt.Color> colorCache

      Caches parsed colors.

  - ### Constructor Detail

    - #### mxGraphicsCanvas2D

          public mxGraphicsCanvas2D(java.awt.Graphics2D g)

      Constructs a new graphics export canvas.

  - ### Method Detail

    - #### setGraphics

          public void setGraphics(java.awt.Graphics2D value)

      Sets the graphics instance.

    - #### getGraphics

          public java.awt.Graphics2D getGraphics()

      Returns the graphics instance.

    - #### isTextEnabled

          public boolean isTextEnabled()

      Returns true if text should be rendered.

    - #### setTextEnabled

          public void setTextEnabled(boolean value)

      Disables or enables text rendering.

    - #### save

          public void save()

      Saves the current canvas state.
      Specified by:
        `save` in interface `mxICanvas2D`

    - #### restore

          public void restore()

      Restores the last canvas state.
      Specified by:
        `restore` in interface `mxICanvas2D`

    - #### cloneState

          protected mxGraphicsCanvas2D.CanvasState cloneState(mxGraphicsCanvas2D.CanvasState state)

      Returns a clone of thec given state.

    - #### scale

          public void scale(double value)

      Description copied from interface: `mxICanvas2D`
      Uniformaly scales the canvas by the given amount.
      Specified by:
        `scale` in interface `mxICanvas2D`
      Parameters:
        `value` - The new scale value.

    - #### translate

          public void translate(double dx,
                       double dy)

      Description copied from interface: `mxICanvas2D`
      Translates the canvas by the given amount.
      Specified by:
        `translate` in interface `mxICanvas2D`
      Parameters:
        `dx` - X-coordinate of the translation.
        `dy` - Y-coordinate of the translation.

    - #### rotate

          public void rotate(double theta,
                    boolean flipH,
                    boolean flipV,
                    double cx,
                    double cy)

      Description copied from interface: `mxICanvas2D`
      Rotates the canvas by the given angle around the given center. This method may add rendering overhead and should be used with care.
      Specified by:
        `rotate` in interface `mxICanvas2D`
      Parameters:
        `theta` - Rotation angle in degrees (0 - 360).
        `flipH` - Specifies if drawing should be flipped horizontally.
        `flipV` - Specifies if drawing should be flipped vertically.
        `cx` - X-coordinate of the center point.
        `cy` - Y-coordinate of the center point.

    - #### setStrokeWidth

          public void setStrokeWidth(double value)

      Description copied from interface: `mxICanvas2D`
      Sets the stroke width. This should default to 1 if unset.
      Specified by:
        `setStrokeWidth` in interface `mxICanvas2D`
      Parameters:
        `value` - Width of the stroke. The value should be multiplied by the current scale.

    - #### setStrokeColor

          public void setStrokeColor(java.lang.String value)

      Caches color conversion as it is expensive.
      Specified by:
        `setStrokeColor` in interface `mxICanvas2D`
      Parameters:
        `value` - Hex representation of the color or `mxConstants.NONE`.

    - #### setDashed

          public void setDashed(boolean value)

      Description copied from interface: `mxICanvas2D`
      Sets the dashed state. This should default to false if unset.
      Specified by:
        `setDashed` in interface `mxICanvas2D`
      Parameters:
        `value` - Boolean representing the dashed state.

    - #### setDashPattern

          public void setDashPattern(java.lang.String value)

      Description copied from interface: `mxICanvas2D`
      Sets the dash pattern. This should default to "3 3" if unset.
      Specified by:
        `setDashPattern` in interface `mxICanvas2D`
      Parameters:
        `value` - Space separated list of floats representing the dash pattern. The value should be multiplied by the current scale.

    - #### setLineCap

          public void setLineCap(java.lang.String value)

      Description copied from interface: `mxICanvas2D`
      Sets the linecap. This should default to "flat" if unset.
      Specified by:
        `setLineCap` in interface `mxICanvas2D`
      Parameters:
        `value` - "flat", "square" or "round".

    - #### setLineJoin

          public void setLineJoin(java.lang.String value)

      Description copied from interface: `mxICanvas2D`
      Sets the linejoin. This should default to "miter" if unset.
      Specified by:
        `setLineJoin` in interface `mxICanvas2D`
      Parameters:
        `value` - "miter", "round" or "bevel".

    - #### setMiterLimit

          public void setMiterLimit(double value)

      Description copied from interface: `mxICanvas2D`
      Sets the miterlimit. This should default to 10 if unset.
      Specified by:
        `setMiterLimit` in interface `mxICanvas2D`

    - #### setFontSize

          public void setFontSize(double value)

      Description copied from interface: `mxICanvas2D`
      Default value `mxConstants.DEFAULT_FONTSIZE`.
      Specified by:
        `setFontSize` in interface `mxICanvas2D`

    - #### setFontColor

          public void setFontColor(java.lang.String value)

      Description copied from interface: `mxICanvas2D`
      Default value "#000000".
      Specified by:
        `setFontColor` in interface `mxICanvas2D`
      Parameters:
        `value` - Hex representation of the color or `mxConstants.NONE`.

    - #### setFontBackgroundColor

          public void setFontBackgroundColor(java.lang.String value)

      Description copied from interface: `mxICanvas2D`
      Default value "#000000".
      Specified by:
        `setFontBackgroundColor` in interface `mxICanvas2D`
      Parameters:
        `value` - Hex representation of the color or `mxConstants.NONE`.

    - #### setFontBorderColor

          public void setFontBorderColor(java.lang.String value)

      Description copied from interface: `mxICanvas2D`
      Default value "#000000".
      Specified by:
        `setFontBorderColor` in interface `mxICanvas2D`
      Parameters:
        `value` - Hex representation of the color or `mxConstants.NONE`.

    - #### setFontFamily

          public void setFontFamily(java.lang.String value)

      Description copied from interface: `mxICanvas2D`
      Default value `mxConstants.DEFAULT_FONTFAMILY`.
      Specified by:
        `setFontFamily` in interface `mxICanvas2D`

    - #### setFontStyle

          public void setFontStyle(int value)

      Description copied from interface: `mxICanvas2D`
      Default value 0. See `mxConstants.STYLE_FONTSTYLE`.
      Specified by:
        `setFontStyle` in interface `mxICanvas2D`

    - #### setAlpha

          public void setAlpha(double value)

      Description copied from interface: `mxICanvas2D`
      Default value 1. This method may add rendering overhead and should be used with care.
      Specified by:
        `setAlpha` in interface `mxICanvas2D`

    - #### setFillAlpha

          public void setFillAlpha(double value)

      Description copied from interface: `mxICanvas2D`
      Default value 1. This method may add rendering overhead and should be used with care.
      Specified by:
        `setFillAlpha` in interface `mxICanvas2D`

    - #### setStrokeAlpha

          public void setStrokeAlpha(double value)

      Description copied from interface: `mxICanvas2D`
      Default value 1. This method may add rendering overhead and should be used with care.
      Specified by:
        `setStrokeAlpha` in interface `mxICanvas2D`

    - #### setFillColor

          public void setFillColor(java.lang.String value)

      Description copied from interface: `mxICanvas2D`
      Default value `mxConstants.NONE`.
      Specified by:
        `setFillColor` in interface `mxICanvas2D`
      Parameters:
        `value` - Hex representation of the color or `mxConstants.NONE`.

    - #### setGradient

          public void setGradient(java.lang.String color1,
                         java.lang.String color2,
                         double x,
                         double y,
                         double w,
                         double h,
                         java.lang.String direction,
                         double alpha1,
                         double alpha2)

      Description copied from interface: `mxICanvas2D`
      Prepares the canvas to draw a gradient.
      Specified by:
        `setGradient` in interface `mxICanvas2D`
        `direction` - Direction may be null. Use default value `mxConstants.DIRECTION_SOUTH`.

    - #### parseColor

          protected java.awt.Color parseColor(java.lang.String hex)

      Helper method that uses `mxUtils.parseColor(String)`.

    - #### parseColor

          protected java.awt.Color parseColor(java.lang.String hex,
                                  double alpha)

      Helper method that uses `mxUtils.parseColor(String)`.

    - #### rect

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

      Description copied from interface: `mxICanvas2D`
      Next fill or stroke should draw a rectangle.
      Specified by:
        `rect` in interface `mxICanvas2D`

    - #### roundrect

          public void roundrect(double x,
                       double y,
                       double w,
                       double h,
                       double dx,
                       double dy)

      Implements a rounded rectangle using a path.
      Specified by:
        `roundrect` in interface `mxICanvas2D`

    - #### ellipse

          public void ellipse(double x,
                     double y,
                     double w,
                     double h)

      Description copied from interface: `mxICanvas2D`
      Next fill or stroke should draw an ellipse.
      Specified by:
        `ellipse` in interface `mxICanvas2D`

    - #### image

          public void image(double x,
                   double y,
                   double w,
                   double h,
                   java.lang.String src,
                   boolean aspect,
                   boolean flipH,
                   boolean flipV)

      Description copied from interface: `mxICanvas2D`
      Draws the given image.
      Specified by:
        `image` in interface `mxICanvas2D`

    - #### drawImage

          protected void drawImage(java.awt.Graphics2D graphics,
                       java.awt.Image image,
                       int x,
                       int y)

    - #### loadImage

          protected java.awt.Image loadImage(java.lang.String src)

      Hook for image caching.

    - #### getImageBounds

          protected final java.awt.Rectangle getImageBounds(java.awt.Image img,
                                          double x,
                                          double y,
                                          double w,
                                          double h,
                                          boolean aspect)

    - #### getImageSize

          protected java.awt.Dimension getImageSize(java.awt.Image image)

      Returns the size for the given image.

    - #### scaleImage

          protected java.awt.Image scaleImage(java.awt.Image img,
                                  int w,
                                  int h)

      Uses `IMAGE_SCALING` to scale the given image.

    - #### createImageGraphics

          protected final java.awt.Graphics2D createImageGraphics(double x,
                                                double y,
                                                double w,
                                                double h,
                                                boolean flipH,
                                                boolean flipV)

      Creates a graphic instance for rendering an image.

    - #### createHtmlDocument

          protected java.lang.String createHtmlDocument(java.lang.String text,
                                            java.lang.String align,
                                            java.lang.String valign,
                                            int w,
                                            int h,
                                            boolean wrap,
                                            java.lang.String overflow,
                                            boolean clip)

      Creates a HTML document around the given markup.

    - #### createHtmlDocument

          protected java.lang.String createHtmlDocument(java.lang.String text,
                                            java.lang.String style)

      Creates a HTML document for the given text and CSS style.

    - #### getTextRenderer

          protected javax.swing.JLabel getTextRenderer()

      Hook to return the renderer for HTML formatted text. This implementation returns the shared instance of mxLighweightLabel.

    - #### getMargin

          protected java.awt.geom.Point2D getMargin(java.lang.String align,
                                        java.lang.String valign)

    - #### htmlText

          protected void htmlText(double x,
                      double y,
                      double w,
                      double h,
                      java.lang.String str,
                      java.lang.String align,
                      java.lang.String valign,
                      boolean wrap,
                      java.lang.String format,
                      java.lang.String overflow,
                      boolean clip,
                      double rotation)

      Draws the given HTML text.

    - #### text

          public void text(double x,
                  double y,
                  double w,
                  double h,
                  java.lang.String str,
                  java.lang.String align,
                  java.lang.String valign,
                  boolean wrap,
                  java.lang.String format,
                  java.lang.String overflow,
                  boolean clip,
                  double rotation,
                  java.lang.String textDirection)

      Draws the given text.
      Specified by:
        `text` in interface `mxICanvas2D`

    - #### plainText

          public void plainText(double x,
                       double y,
                       double w,
                       double h,
                       java.lang.String str,
                       java.lang.String align,
                       java.lang.String valign,
                       boolean wrap,
                       java.lang.String format,
                       java.lang.String overflow,
                       boolean clip,
                       double rotation)

      Draws the given text.

    - #### createTextGraphics

          protected final java.awt.Graphics2D createTextGraphics(double x,
                                               double y,
                                               double w,
                                               double h,
                                               double rotation,
                                               boolean clip,
                                               java.lang.String align,
                                               java.lang.String valign)

      Returns a new graphics instance with the correct color and font for text rendering.

    - #### begin

          public void begin()

      Description copied from interface: `mxICanvas2D`
      Begins a new path.
      Specified by:
        `begin` in interface `mxICanvas2D`

    - #### moveTo

          public void moveTo(double x,
                    double y)

      Description copied from interface: `mxICanvas2D`
      Moves to the given path.
      Specified by:
        `moveTo` in interface `mxICanvas2D`

    - #### lineTo

          public void lineTo(double x,
                    double y)

      Description copied from interface: `mxICanvas2D`
      Draws a line to the given path.
      Specified by:
        `lineTo` in interface `mxICanvas2D`

    - #### quadTo

          public void quadTo(double x1,
                    double y1,
                    double x2,
                    double y2)

      Description copied from interface: `mxICanvas2D`
      Draws a quadratic curve to the given point.
      Specified by:
        `quadTo` in interface `mxICanvas2D`

    - #### curveTo

          public void curveTo(double x1,
                     double y1,
                     double x2,
                     double y2,
                     double x3,
                     double y3)

      Description copied from interface: `mxICanvas2D`
      Draws a bezier curve to the given point.
      Specified by:
        `curveTo` in interface `mxICanvas2D`

    - #### close

          public void close()

      Closes the current path.
      Specified by:
        `close` in interface `mxICanvas2D`

    - #### stroke

          public void stroke()

      Description copied from interface: `mxICanvas2D`
      Paints the outline of the current path.
      Specified by:
        `stroke` in interface `mxICanvas2D`

    - #### fill

          public void fill()

      Description copied from interface: `mxICanvas2D`
      Fills the current path.
      Specified by:
        `fill` in interface `mxICanvas2D`

    - #### fillAndStroke

          public void fillAndStroke()

      Description copied from interface: `mxICanvas2D`
      Fills and paints the outline of the current path.
      Specified by:
        `fillAndStroke` in interface `mxICanvas2D`

    - #### paintCurrentPath

          protected void paintCurrentPath(boolean filled,
                              boolean stroked)

    - #### paintShadow

          protected void paintShadow(boolean filled,
                         boolean stroked)

    - #### setShadow

          public void setShadow(boolean value)

      Description copied from interface: `mxICanvas2D`
      Enables or disables the painting of shadows.
      Specified by:
        `setShadow` in interface `mxICanvas2D`
      Parameters:
        `value` - Whether the shadow should be enabled.

    - #### setShadowColor

          public void setShadowColor(java.lang.String value)

      Description copied from interface: `mxICanvas2D`
      Default value `mxConstants.NONE`.
      Specified by:
        `setShadowColor` in interface `mxICanvas2D`
      Parameters:
        `value` - Hex representation of the color or `mxConstants.NONE`.

    - #### setShadowAlpha

          public void setShadowAlpha(double value)

      Description copied from interface: `mxICanvas2D`
      Default value `mxConstants.NONE`.
      Specified by:
        `setShadowAlpha` in interface `mxICanvas2D`
      Parameters:
        `value` - Hex representation of the color or `mxConstants.NONE`.

    - #### setShadowOffset

          public void setShadowOffset(double dx,
                             double dy)

      Description copied from interface: `mxICanvas2D`
      Default value `mxConstants.NONE`.
      Specified by:
        `setShadowOffset` in interface `mxICanvas2D`

    - #### updateFont

          protected void updateFont()

    - #### createFont

          protected java.awt.Font createFont(java.lang.String family,
                                 int style,
                                 int size)

      Hook for subclassers to implement font caching.

    - #### getFontName

          protected java.lang.String getFontName(java.lang.String family)

      Returns a font name for the given CSS values for font-family. This implementation returns the first entry for comma-separated lists of entries.

    - #### updateStroke

          protected void updateStroke()

Copyright (c) 2010 Gaudenz Alder. All rights reserved.