Class mxStencil

java.lang.Object
com.mxgraph.shape.mxStencil
All Implemented Interfaces:
mxIShape

public class mxStencil extends Object implements mxIShape
Implements a stencil for the given XML definition. This class implements the mxGraph stencil schema.
  • Field Details

    • desc

      protected Element desc
      Holds the top-level node of the stencil definition.
    • aspect

      protected String aspect
      Holds the aspect of the shape. Default is "auto".
    • w0

      protected double w0
      Holds the width of the shape. Default is 100.
    • h0

      protected double h0
      Holds the height of the shape. Default is 100.
    • bgNode

      protected Element bgNode
      Holds the XML node with the stencil description.
    • fgNode

      protected Element fgNode
      Holds the XML node with the stencil description.
    • strokewidth

      protected String strokewidth
      Holds the strokewidth direction from the description.
    • lastMoveX

      protected double lastMoveX
      Holds the last x-position of the cursor.
    • lastMoveY

      protected double lastMoveY
      Holds the last y-position of the cursor.
  • Constructor Details

    • mxStencil

      public mxStencil(Element description)
      Constructs a new stencil for the given mxGraph shape description.
  • Method Details

    • getDescription

      public Element getDescription()
      Returns the description.
    • setDescription

      public void setDescription(Element value)
      Sets the description.
    • createCanvas

      protected mxGraphicsCanvas2D createCanvas(mxGraphics2DCanvas gc)
      Creates the canvas for rendering the stencil.
    • paintShape

      public void paintShape(mxGraphics2DCanvas gc, mxCellState state)
      Paints the stencil for the given state.
      Specified by:
      paintShape in interface mxIShape
    • drawShadow

      protected void drawShadow(mxGraphicsCanvas2D canvas, mxCellState state, double rotation, boolean flipH, boolean flipV, mxRectangle bounds, double alpha, boolean filled, mxRectangle aspect)
      Draws the shadow.
    • drawShape

      public boolean drawShape(mxGraphicsCanvas2D canvas, mxCellState state, mxRectangle bounds, mxRectangle aspect, boolean background)
      Draws this stencil inside the given bounds.
    • computeAspect

      protected mxRectangle computeAspect(mxCellState state, mxRectangle bounds, String direction)
      Returns a rectangle that contains the offset in x and y and the horizontal and vertical scale in width and height used to draw this shape inside the given rectangle.
    • drawElement

      protected void drawElement(mxGraphicsCanvas2D canvas, mxCellState state, Element node, mxRectangle aspect)
      Drawsthe given element.
    • getInt

      protected int getInt(Element elt, String attribute, int defaultValue)
      Returns the given attribute or the default value.
    • getDouble

      protected double getDouble(Element elt, String attribute)
      Returns the given attribute or 0.
    • getDouble

      protected double getDouble(Element elt, String attribute, double defaultValue)
      Returns the given attribute or the default value.
    • getString

      protected String getString(Element elt, String attribute, String defaultValue)
      Returns the given attribute or the default value.
    • parseDescription

      protected void parseDescription()
      Parses the description of this shape.
    • evaluateAttribute

      public String evaluateAttribute(Element elt, String attribute, mxCellState state)
      Gets the attribute for the given name from the given node. If the attribute does not exist then the text content of the node is evaluated and if it is a function it is invoked with as the only argument and the return value is used as the attribute value to be returned.