Variable: antiAlias
Rendering hint for configuring the canvas.
Variable: boundingBox
Contains the bounding box of the shape, that is, the smallest rectangle that includes all pixels of the shape.
Variable: bounds
Holds the
Variable: dialect
Holds the dialect in which the shape is to be painted.
This can be one of the DIALECT constants in
Specify the direction of certain shapes (eg. mxTriangle). Possible values are mxConstants.DIRECTION_EAST (default),
mxConstants.DIRECTION_WEST, mxConstants.DIRECTION_NORTH, and mxConstants.DIRECTION_SOUTH.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Possible values are all constants with an ARROW-prefix.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Size of the end marker in pixels.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Fill color.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Fill opacity. Possible range is 0-100
.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply implementation).
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply implementation).
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Gradient color.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Gradient direction.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
For edges this determines whether or not joins between edges segments are smoothed to a rounded finish.
For vertices that have the rectangle shape, this determines whether or not the rectangle is rounded.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Variable: minSvgStrokeWidth
Minimum stroke width for SVG output.
Variable: node
Holds the outermost DOM node that represents this shape.
Opacity. Possible range is 0-100
.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Variable: outline
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
Variable: pointerEvents
Specifies if pointer events should be handled. Default is true.
Variable: points
Holds the array of
Possible range is 0-360.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Variable: scale
Holds the scale in which the shape is being painted.
Variable: shapePointerEvents
Specifies if pointer events outside of shape should be handled. Default is false.
The value represents the spacing, in pixels, added to each side of a label in a vertex (style applies to vertices only).
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Possible values are all constants with an ARROW-prefix.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Size of the start marker or the size of the swimlane title region depending on the shape it is used for.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Variable: state
Optional reference to the corresponding
Variable: stencil
Holds the
Variable: stencilPointerEvents
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.
Stroke color.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Stroke opacity. Possible range is 0-100
.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Stroke width.
Note: this property is not documented in the JavaScript API but it does exist and is necessary (see apply).
Variable: style
Optional reference to the style of the corresponding
Variable: svgPointerEvents
Specifies if pointer events should be handled. Default is true.
Variable: svgStrokeTolerance
Event-tolerance for SVG strokes (in px). Default is 8. This is only passed
to the canvas in
Variable: useSvgBoundingBox
Allows to use the SVG bounding box in SVG. Default is false for performance reasons.
Variable: visible
Specifies if the shape is visible. Default is true.
Variable: vmlScale
Scale for improving the precision of VML rendering. Default is 1.
Paints the given points with rounded corners.
Function: apply
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: