com.mxgraph.shape

## Class mxStencilShape

- java.lang.Object
- - com.mxgraph.shape.mxBasicShape
  - - com.mxgraph.shape.mxStencilShape

- All Implemented Interfaces:
    mxIShape

      public class mxStencilShape
      extends mxBasicShape

  Stencil shape drawing that takes an XML definition of the shape and renders it. See http://projects.gnome.org/dia/custom-shapes for specs. See http://dia-installer.de/shapes_de.html for shapes.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `mxStencilShape.svgShape`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.awt.geom.Rectangle2D` | `boundingBox`
    `protected java.awt.geom.AffineTransform` | `cachedTransform` Transform cached to save instance created.
    `protected java.lang.String` | `iconPath`
    `protected java.lang.String` | `name`
    `protected org.w3c.dom.Node` | `root` Reference to the root node of the Dia shape description.
    `protected mxStencilShape.svgShape` | `rootShape`
    `protected java.awt.geom.GeneralPath` | `shapePath`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `mxStencilShape()`
    `mxStencilShape(org.w3c.dom.Document document)`
    `mxStencilShape(java.lang.String shapeXml)` Constructs a new stencil for the given Dia shape description.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `mxStencilShape.svgShape` | `createElement(org.w3c.dom.Node root)` Forms an internal representation of the specified SVG element and returns that representation
    `void` | `createShape(org.w3c.dom.Node root, mxStencilShape.svgShape shape)`
    `java.awt.geom.Rectangle2D` | `getBoundingBox()`
    `java.lang.String` | `getIconPath()`
    `java.lang.String` | `getName()`
    `protected static java.util.Map<java.lang.String,java.lang.Object>` | `getStylenames(java.lang.String style)` Returns the stylenames in a style of the form stylename[;key=value] or an empty array if the given style does not contain any stylenames.
    `void` | `paintNode(mxGraphics2DCanvas canvas, mxCellState state, mxStencilShape.svgShape shape, double widthRatio, double heightRatio)`
    `void` | `paintShape(mxGraphics2DCanvas canvas, mxCellState state)`
    `void` | `setBoundingBox(java.awt.geom.Rectangle2D boundingBox)`
    `void` | `setIconPath(java.lang.String iconPath)`
    `void` | `setName(java.lang.String name)`
    `protected void` | `transformShape(java.awt.Shape shape, double transX, double transY, double widthRatio, double heightRatio)` Scales the points composing this shape by the x and y ratios specified

    - ### Methods inherited from class com.mxgraph.shape.mxBasicShape

      `configureGraphics, createShape, getFillColor, getGradientBounds, getStrokeColor, hasGradient, hasShadow`

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

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

- - ### Field Detail

    - #### shapePath

          protected java.awt.geom.GeneralPath shapePath

    - #### root

          protected org.w3c.dom.Node root

      Reference to the root node of the Dia shape description.

    - #### rootShape

          protected mxStencilShape.svgShape rootShape

    - #### boundingBox

          protected java.awt.geom.Rectangle2D boundingBox

    - #### name

          protected java.lang.String name

    - #### iconPath

          protected java.lang.String iconPath

    - #### cachedTransform

          protected java.awt.geom.AffineTransform cachedTransform

      Transform cached to save instance created. Used to scale the internal path of shapes where possible

  - ### Constructor Detail

    - #### mxStencilShape

          public mxStencilShape()

    - #### mxStencilShape

          public mxStencilShape(java.lang.String shapeXml)

      Constructs a new stencil for the given Dia shape description.

    - #### mxStencilShape

          public mxStencilShape(org.w3c.dom.Document document)

  - ### Method Detail

    - #### paintShape

          public void paintShape(mxGraphics2DCanvas canvas,
                        mxCellState state)

      Specified by:
        `paintShape` in interface `mxIShape`
      Overrides:
        `paintShape` in class `mxBasicShape`

    - #### paintNode

          public void paintNode(mxGraphics2DCanvas canvas,
                       mxCellState state,
                       mxStencilShape.svgShape shape,
                       double widthRatio,
                       double heightRatio)

    - #### transformShape

          protected void transformShape(java.awt.Shape shape,
                            double transX,
                            double transY,
                            double widthRatio,
                            double heightRatio)

      Scales the points composing this shape by the x and y ratios specified
      Parameters:
        `shape` - the shape to scale
        `transX` - the x translation
        `transY` - the y translation
        `widthRatio` - the x co-ordinate scale
        `heightRatio` - the y co-ordinate scale

    - #### createShape

          public void createShape(org.w3c.dom.Node root,
                         mxStencilShape.svgShape shape)

    - #### createElement

          public mxStencilShape.svgShape createElement(org.w3c.dom.Node root)

      Forms an internal representation of the specified SVG element and returns that representation
      Parameters:
        `root` - the SVG element to represent
      Returns:
        the internal representation of the element, or null if an error occurs

    - #### getStylenames

          protected static java.util.Map<java.lang.String,java.lang.Object> getStylenames(java.lang.String style)

      Returns the stylenames in a style of the form stylename[;key=value] or an empty array if the given style does not contain any stylenames.
      Parameters:
        `style` - String of the form stylename[;stylename][;key=value].
      Returns:
        Returns the stylename from the given formatted string.

    - #### getName

          public java.lang.String getName()

    - #### setName

          public void setName(java.lang.String name)

    - #### getIconPath

          public java.lang.String getIconPath()

    - #### setIconPath

          public void setIconPath(java.lang.String iconPath)

    - #### getBoundingBox

          public java.awt.geom.Rectangle2D getBoundingBox()

    - #### setBoundingBox

          public void setBoundingBox(java.awt.geom.Rectangle2D boundingBox)

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