Rendering hint for configuring the canvas.
Contains the bounding box of the shape, that is, the smallest rectangle that includes all pixels of the shape.
Holds the Rectangle that specifies the bounds of this shape.
Holds the dialect in which the shape is to be painted. This can be one of the DIALECT constants in Constants.
Minimum stroke width for SVG output.
Holds the outermost DOM node that represents this shape.
Specifies if the shape should be drawn as an outline. This disables all
fill colors and can be used to disable other drawing states that should
not be painted for outlines. Default is false. This should be set before
calling
Specifies if pointer events should be handled. Default is true.
Holds the array of
Holds the scale in which the shape is being painted.
Specifies if pointer events outside of shape should be handled. Default is false.
Optional reference to the corresponding
Holds the StencilShape that defines the shape.
Specifies if pointer events outside of stencils should be handled. Default is false. Set this to true for backwards compatibility with the 1.x branch.
Optional reference to the style of the corresponding
Specifies if pointer events should be handled. Default is true.
Event-tolerance for SVG strokes (in px).
This is only passed to the canvas in createSvgCanvas if pointerEvents is true
.
Allows to use the SVG bounding box in SVG. Default is false for performance reasons.
Specifies if the shape is visible. Default is true.
Paints the given points with rounded corners.
Applies the style of the given
This keeps a reference to the
Base class for all shapes. A shape in mxGraph is a separate implementation for SVG, VML and HTML. Which implementation to use is controlled by the dialect property which is assigned from within the mxCellRenderer when the shape is created. The dialect must be assigned for a shape, and it does normally depend on the browser and the configuration of the graph (see mxGraph rendering hint).
For each supported shape in SVG and VML, a corresponding shape exists in mxGraph, namely for text, image, rectangle, rhombus, ellipse and polyline. The other shapes are a combination of these shapes (eg. label and swimlane) or they consist of one or more (filled) path objects (eg. actor and cylinder). The HTML implementation is optional but may be required for a HTML-only view of the graph.
Custom Shapes
To extend from this class, the basic code looks as follows. In the special case where the custom shape consists only of one filled region or one filled region and an additional stroke the mxActor and mxCylinder should be subclassed, respectively.
To register a custom shape in an existing graph instance, one must register the shape under a new name in the graph’s cell renderer as follows:
The second argument is the name of the constructor. In order to use the shape you can refer to the given name above in a stylesheet. For example, to change the shape for the default vertex style, the following code is used: