<divid=Content><divclass="CClass"><divclass=CTopicid=MainTopic><h1class=CTitle><aname="mxShape"></a>mxShape</h1><divclass=CBody><p>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 <ahref="#mxShape.dialect"class=LVariableid=link94onMouseOver="ShowTip(event, 'tt4', 'link94')"onMouseOut="HideTip('tt4')">dialect</a> property which is assigned from within the <ahref="../view/mxCellRenderer-js.html#mxCellRenderer"class=LClassid=link95onMouseOver="ShowTip(event, 'tt75', 'link95')"onMouseOut="HideTip('tt75')">mxCellRenderer</a> when the shape is created. The dialect must be assigned for a shape, and it does normally depend on the browser and the confiuration of the graph (see <ahref="../view/mxGraph-js.html#mxGraph"class=LClassid=link96onMouseOver="ShowTip(event, 'tt76', 'link96')"onMouseOut="HideTip('tt76')">mxGraph</a> rendering hint).</p><p>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.</p><h4class=CHeading>Custom Shapes</h4><p>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 <ahref="mxActor-js.html#mxActor"class=LClassid=link97onMouseOver="ShowTip(event, 'tt77', 'link97')"onMouseOut="HideTip('tt77')">mxActor</a> and <ahref="mxCylinder-js.html#mxCylinder"class=LClassid=link98onMouseOver="ShowTip(event, 'tt78', 'link98')"onMouseOut="HideTip('tt78')">mxCylinder</a> should be subclassed, respectively. These implement <ahref="#mxShape.redrawPath"class=LFunctionid=link99onMouseOver="ShowTip(event, 'tt74', 'link99')"onMouseOut="HideTip('tt74')">redrawPath</a> in order to create the path expression for VML and SVG via a unified API (see <ahref="../util/mxPath-js.html#mxPath"class=LClassid=link100onMouseOver="ShowTip(event, 'tt73', 'link100')"onMouseOut="HideTip('tt73')">mxPath</a>). <ahref="mxCylinder-js.html#mxCylinder.redrawPath"class=LFunctionid=link101onMouseOver="ShowTip(event, 'tt79', 'link101')"onMouseOut="HideTip('tt79')">mxCylinder.redrawPath</a> has an additional boolean argument to draw the foreground and background separately.</p><blockquote><preclass="prettyprint">function CustomShape() { }
CustomShape.prototype.constructor = CustomShape;</pre></blockquote><p>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:</p><blockquote><preclass="prettyprint">graph.cellRenderer.registerShape('customShape', CustomShape);</pre></blockquote><p>The second argument is the name of the constructor.</p><p>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:</p><blockquote><preclass="prettyprint">var style = graph.getStylesheet().getDefaultVertexStyle();
style[mxConstants.STYLE_SHAPE] = 'customShape';</pre></blockquote><!--START_ND_SUMMARY--><divclass=Summary><divclass=STitle>Summary</div><divclass=SBorder><tableborder=0cellspacing=0cellpadding=0class=STable><trclass="SMain"><tdclass=SEntry><ahref="#mxShape">mxShape</a></td><tdclass=SDescription>Base class for all shapes. </td></tr><trclass="SGroup SIndent1"><tdclass=SEntry><ahref="#mxShape.Functions">Functions</a></td><tdclass=SDescription></td></tr><trclass="SFunction SIndent2 SMarked"><tdclass=SEntry><ahref="#mxShape.mxShape"id=link1onMouseOver="ShowTip(event, 'tt1', 'link1')"onMouseOut="HideTip('tt1')">mxShape</a></td><tdclass=SDescription>Constructs a new shape.</td></tr><trclass="SGroup SIndent1"><tdclass=SEntry><ahref="#mxShape.Variables">Variables</a></td><tdclass=SDescription></td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxShape.SVG_STROKE_TOLERANCE"id=link2onMouseOver="ShowTip(event, 'tt2', 'link2')"onMouseOut="HideTip('tt2')">SVG_STROKE_TOLERANCE</a></td><tdclass=SDescription>Event-tolerance for SVG strokes (in px). </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxShape.scale"id=link3onMouseOver="ShowTip(event, 'tt3', 'link3')"onMouseOut="HideTip('tt3')">scale</a></td><tdclass=SDescription>Holds the scale in which the shape is being painted.</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxShape.dialect"id=link4onMouseOver="ShowTip(event, 'tt4', 'link4')"onMouseOut="HideTip('tt4')">dialect</a></td><tdclass=SDescription>Holds the dialect in which the shape is to be painted. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxShape.crisp"id=link5onMouseOver="ShowTip(event, 'tt5', 'link5')"onMouseOut="HideTip('tt5')">crisp</a></td><tdclass=SDescription>Special attribute for SVG rendering to set the shape-rendering attribute to crispEdges in the output. </td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxShape.roundedCrispSvg"id=link6onMouseOver="ShowTip(event, 'tt6', 'link6')"onMouseOut="HideTip('tt6')">roundedCrispSvg</a></td><tdclass=SDescription>Specifies if crisp rendering should be enabled for rounded shapes. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxShape.mixedModeHtml"id=link7onMouseOver="ShowTip(event, 'tt7', 'link7')"onMouseOut="HideTip('tt7')">mixedModeHtml</a></td><tdclass=SDescription>Specifies if <ahref="#mxShape.createHtml"class=LFunctionid=link8onMouseOver="ShowTip(event, 'tt8', 'link8')"onMouseOut="HideTip('tt8')">createHtml</a> should be used in mixed Html mode. </td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxShape.preferModeHtml"id=link9onMouseOver="ShowTip(event, 'tt9', 'link9')"onMouseOut="HideTip('tt9')">preferModeHtml</a></td><tdclass=SDescription>Specifies if <ahref="#mxShape.createHtml"class=LFunctionid=link10onMouseOver="ShowTip(event, 'tt8', 'link10')"onMouseOut="HideTip('tt8')">createHtml</a> should be used in prefer Html mode. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxShape.bounds"id=link11onMouseOver="ShowTip(event, 'tt10', 'link11')"onMouseOut="HideTip('tt10')">bounds</a></td><tdclass=SDescription>Holds the <ahref="../util/mxRectangle-js.html#mxRectangle"class=LClassid=link12onMouseOver="ShowTip(event, 'tt11', 'link12')"onMouseOut="HideTip('tt11')">mxRectangle</a> that specifies the bounds of this shape.</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxShape.points"id=link13onMouseOver="ShowTip(event, 'tt12', 'link13')"onMouseOut="HideTip('tt12')">points</a></td><tdclass=SDescription>Holds the array of <ahref="../util/mxPoint-js.html#mxPoint"class=LClassid=link14onMouseOver="ShowTip(event, 'tt13', 'link14')"onMouseOut="HideTip('tt13')">mxPoints</a> that specify the points of this shape.</td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxShape.node"id=link15onMouseOver="ShowTip(event, 'tt14', 'link15')"onMouseOut="HideTip('tt14')">node</a></td><td
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.mxShape"></a>mxShape</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>function mxShape()</td></tr></table></blockquote><p>Constructs a new shape.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.SVG_STROKE_TOLERANCE"></a>SVG_STROKE_TOLERANCE</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.SVG_STROKE_TOLERANCE</td></tr></table></blockquote><p>Event-tolerance for SVG strokes (in px). Default is 8.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.scale"></a>scale</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.scale</td></tr></table></blockquote><p>Holds the scale in which the shape is being painted.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.dialect"></a>dialect</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.dialect</td></tr></table></blockquote><p>Holds the dialect in which the shape is to be painted. This can be one of the DIALECT constants in <ahref="../util/mxConstants-js.html#mxConstants"class=LClassid=link102onMouseOver="ShowTip(event, 'tt80', 'link102')"onMouseOut="HideTip('tt80')">mxConstants</a>.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.crisp"></a>crisp</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.crisp</td></tr></table></blockquote><p>Special attribute for SVG rendering to set the shape-rendering attribute to crispEdges in the output. This is ignored in IE. Default is false. To disable antialias in IE, the explorer.css file can be changed as follows:</p><p>[code] v\:* { behavior: url(#default#VML); antialias: false; } [/code]</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.roundedCrispSvg"></a>roundedCrispSvg</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.roundedCrispSvg</td></tr></table></blockquote><p>Specifies if crisp rendering should be enabled for rounded shapes. Default is true.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.mixedModeHtml"></a>mixedModeHtml</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.mixedModeHtml</td></tr></table></blockquote><p>Specifies if <ahref="#mxShape.createHtml"class=LFunctionid=link103onMouseOver="ShowTip(event, 'tt8', 'link103')"onMouseOut="HideTip('tt8')">createHtml</a> should be used in mixed Html mode. Default is true.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.preferModeHtml"></a>preferModeHtml</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.preferModeHtml</td></tr></table></blockquote><p>Specifies if <ahref="#mxShape.createHtml"class=LFunctionid=link104onMouseOver="ShowTip(event, 'tt8', 'link104')"onMouseOut="HideTip('tt8')">createHtml</a> should be used in prefer Html mode. Default is true.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.bounds"></a>bounds</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.bounds</td></tr></table></blockquote><p>Holds the <ahref="../util/mxRectangle-js.html#mxRectangle"class=LClassid=link105onMouseOver="ShowTip(event, 'tt11', 'link105')"onMouseOut="HideTip('tt11')">mxRectangle</a> that specifies the bounds of this shape.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.points"></a>points</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.points</td></tr></table></blockquote><p>Holds the array of <ahref="../util/mxPoint-js.html#mxPoint"class=LClassid=link106onMouseOver="ShowTip(event, 'tt13', 'link106')"onMouseOut="HideTip('tt13')">mxPoints</a> that specify the points of this shape.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.node"></a>node</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.node</td></tr></table></blockquote><p>Holds the outermost DOM node that represents this shape.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.label"></a>label</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.label</td></tr></table></blockquote><p>Reference to the DOM node that should contain the label. This is null if the label should be placed inside <ahref="#mxShape.node"class=LVariableid=link107onMouseOver="ShowTip(event, 'tt14', 'link107')"onMouseOut="HideTip('tt14')">node</a> or <ahref="#mxShape.innerNode"class=LVariableid=link108onMouseOver="ShowTip(event, 'tt16', 'link108')"onMouseOut="HideTip('tt16')">innerNode</a>.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.innerNode"></a>innerNode</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.innerNode</td></tr></table></blockquote><p>Holds the DOM node that graphically represents this shape. This may be null if the outermost DOM <ahref="#mxShape.node"class=LVariableid=link109onMouseOver="ShowTip(event, 'tt14', 'link109')"onMouseOut="HideTip('tt14')">node</a> represents this shape.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.style"></a>style</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.style</td></tr></table></blockquote><p>Holds the style of the cell state that corresponds to this shape. This may be null if the shape is used directly, without a cell state.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.startOffset"></a>startOffset</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.startOffset</td></tr></table></blockquote><p>Specifies the offset in pixels from the first point in <ahref="#mxShape.points"class=LVariableid=link110onMouseOver="ShowTip(event, 'tt12', 'link110')"onMouseOut="HideTip('tt12')">points</a> and the actual start of the shape.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.endOffset"></a>endOffset</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.endOffset</td></tr></table></blockquote><p>Specifies the offset in pixels from the last point in <ahref="#mxShape.points"class=LVariableid=link111onMouseOver="ShowTip(event, 'tt12', 'link111')"onMouseOut="HideTip('tt12')">points</a> and the actual start of the shape.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.boundingBox"></a>boundingBox</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.boundingBox</td></tr></table></blockquote><p>Contains the bounding box of the shape, that is, the smallest rectangle that includes all pixels of the shape.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.vmlNodes"></a>vmlNodes</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.vmlNodes</td></tr></table></blockquote><p>Array if VML node names to fix in IE8 standards mode.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.vmlScale"></a>vmlScale</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.vmlScale</td></tr></table></blockquote><p>Internal scaling for VML using coordsize for better precision.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxShape.strokewidth"></a>strokewidth</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.strokewidth</td></tr></table></blockquote><p>Holds the current strokewidth. Default is 1.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.setCursor"></a>setCursor</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.setCursor = function(</td><tdclass=PParameternowrap>cursor</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the cursor on the given shape.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>cursor</td><tdclass=CDLDescription>The cursor to be used.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.getCursor"></a>getCursor</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.getCursor = function()</td></tr></table></blockquote><p>Returns the current cursor.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.init"></a>init</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.init = function(</td><tdclass=PParameternowrap>container</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Initializes the shape by creaing the DOM node using <ahref="#mxShape.create"class=LFunctionid=link112onMouseOver="ShowTip(event, 'tt27', 'link112')"onMouseOut="HideTip('tt27')">create</a> and adding it into the given container.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>container</td><tdclass=CDLDescription>DOM node that will contain the shape.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.reparseVml"></a>reparseVml</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.reparseVml = function()</td></tr></table></blockquote><p>Forces a parsing of the outerHTML of this node and restores all references specified in <ahref="#mxShape.vmlNodes"class=LVariableid=link113onMouseOver="ShowTip(event, 'tt21', 'link113')"onMouseOut="HideTip('tt21')">vmlNodes</a>. This is a workaround for the VML rendering bug in IE8 standards mode.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.insertGradient"></a>insertGradient</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.insertGradient = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Inserts the given gradient node.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.isMixedModeHtml"></a>isMixedModeHtml</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.isMixedModeHtml = function()</td></tr></table></blockquote><p>Used to determine if a shape can be rendered using <ahref="#mxShape.createHtml"class=LFunctionid=link114onMouseOver="ShowTip(event, 'tt8', 'link114')"onMouseOut="HideTip('tt8')">createHtml</a> in mixed mode Html without compromising the display accuracy. The default implementation will check if the shape is not rounded or rotated and has no gradient, and will use a DIV if that is the case. It will also check if <ahref="#mxShape.mixedModeHtml"class=LVariableid=link115onMouseOver="ShowTip(event, 'tt7', 'link115')"onMouseOut="HideTip('tt7')">mxShape.mixedModeHtml</a> is true, which is the default settings. Subclassers can either override <ahref="#mxShape.mixedModeHtml"class=LVariableid=link116onMouseOver="ShowTip(event, 'tt7', 'link116')"onMouseOut="HideTip('tt7')">mixedModeHtml</a> or this function if the result depends on dynamic values. The graph’s dialect is available via <ahref="#mxShape.dialect"class=LVariableid=link117onMouseOver="ShowTip(event, 'tt4', 'link117')"onMouseOut="HideTip('tt4')">dialect</a>.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.create"></a>create</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.create = function(</td><tdclass=PParameternowrap>container</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates and returns the DOM node(s) for the shape in the given container. This implementation invokes <createSvg>, <ahref="#mxShape.createHtml"class=LFunctionid=link118onMouseOver="ShowTip(event, 'tt8', 'link118')"onMouseOut="HideTip('tt8')">createHtml</a> or <createVml> depending on the <ahref="#mxShape.dialect"class=LVariableid=link119onMouseOver="ShowTip(event, 'tt4', 'link119')"onMouseOut="HideTip('tt4')">dialect</a> and style settings.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>container</td><tdclass=CDLDescription>DOM node that will contain the shape.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.createHtml"></a>createHtml</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.createHtml = function()</td></tr></table></blockquote><p>Creates and returns the HTML DOM node(s) to represent this shape. This implementation falls back to <createVml> so that the HTML creation is optional.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.destroy"></a>destroy</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.destroy = function()</td></tr></table></blockquote><p>Destroys the shape by removing it from the DOM and releasing the DOM node associated with the shape using <ahref="../util/mxEvent-js.html#mxEvent.release"class=LFunctionid=link120onMouseOver="ShowTip(event, 'tt32', 'link120')"onMouseOut="HideTip('tt32')">mxEvent.release</a>.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.createSvgGroup"></a>createSvgGroup</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.createSvgGroup = function(</td><tdclass=PParameternowrap>shape</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a SVG group element and adds the given shape as a child of the element. The child is stored in <ahref="#mxShape.innerNode"class=LVariableid=link141onMouseOver="ShowTip(event, 'tt16', 'link141')"onMouseOut="HideTip('tt16')">innerNode</a> for later access.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.createSvgShadow"></a>createSvgShadow</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.createSvgShadow = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a clone of the given node and configures the node’s color to use <ahref="../util/mxConstants-js.html#mxConstants.SHADOWCOLOR"class=LVariableid=link142onMouseOver="ShowTip(event, 'tt37', 'link142')"onMouseOut="HideTip('tt37')">mxConstants.SHADOWCOLOR</a>.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.configureHtmlShape"></a>configureHtmlShape</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.configureHtmlShape = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Configures the specified HTML node by applying the current color, bounds, shadow, opacity etc.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateVmlFill"></a>updateVmlFill</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.updateVmlFill = function(</td><tdclass=PParameternowrap>node,</td></tr><tr><td></td><tdclass=PParameternowrap>c1,</td></tr><tr><td></td><tdclass=PParameternowrap>c2,</td></tr><tr><td></td><tdclass=PParameternowrap>dir,</td></tr><tr><td></td><tdclass=PParameternowrap>alpha</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the given VML fill node.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateVmlStrokeNode"></a>updateVmlStrokeNode</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.updateVmlStrokeNode = function(</td><tdclass=PParameternowrap>parent</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates the stroke node for VML.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateVmlStrokeColor"></a>updateVmlStrokeColor</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.updateVmlStrokeColor = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the VML stroke color for the given node.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.configureVmlShape"></a>configureVmlShape</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.configureVmlShape = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Configures the specified VML node by applying the current color, bounds, shadow, opacity etc.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.createVmlShadow"></a>createVmlShadow</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.createVmlShadow = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates the VML shadow node.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.configureTransparentBackground"></a>configureTransparentBackground</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.configureTransparentBackground = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Hook to make the background of a shape transparent. This hook was added as a workaround for the “display non secure items” warning dialog in IE which appears if the background:url(transparent.gif) is used in the overlay pane of a diagram. Since only mxImageShapes currently exist in the overlay pane this function is only overridden in mxImageShape.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.configureSvgShape"></a>configureSvgShape</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.configureSvgShape = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Configures the specified SVG node by applying the current color, bounds, shadow, opacity etc.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.getGradientId"></a>getGradientId</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.getGradientId = function(</td><tdclass=PParameternowrap>start,</td></tr><tr><td></td><tdclass=PParameternowrap>end</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a unique ID for the gradient of this shape.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.createSvgPipe"></a>createSvgPipe</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.createSvgPipe = function(</td><tdclass=PParameternowrap>id,</td></tr><tr><td></td><tdclass=PParameternowrap>start,</td></tr><tr><td></td><tdclass=PParameternowrap>end,</td></tr><tr><td></td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates an invisible path which is used to increase the hit detection for edges in SVG.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.createSvgGradient"></a>createSvgGradient</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.createSvgGradient = function(</td><tdclass=PParameternowrap>id,</td></tr><tr><td></td><tdclass=PParameternowrap>start,</td></tr><tr><td></td><tdclass=PParameternowrap>end,</td></tr><tr><td></td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a gradient object for SVG using the specified startcolor, endcolor and opacity.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.createPoints"></a>createPoints</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.createPoints = function(</td><tdclass=PParameternowrap>moveCmd,</td></tr><tr><td></td><tdclass=PParameternowrap>lineCmd,</td></tr><tr><td></td><tdclass=PParameternowrap>curveCmd,</td></tr><tr><td></td><tdclass=PParameternowrap>isRelative</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a path expression using the specified commands for this.points. If <isRounded> is true, then the path contains curves for the corners.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.createCurvedPoints"></a>createCurvedPoints</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.createCurvedPoints = function(</td><tdclass=PParameternowrap>isVml</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a path expression using the specified commands for this.points.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.createVmlQuad"></a>createVmlQuad</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.createVmlQuad = function(</td><tdclass=PParameternowrap>lastX,</td></tr><tr><td></td><tdclass=PParameternowrap>lastY,</td></tr><tr><td></td><tdclass=PParameternowrap>x1,</td></tr><tr><td></td><tdclass=PParameternowrap>y1,</td></tr><tr><td></td><tdclass=PParameternowrap>x2,</td></tr><tr><td></td><tdclass=PParameternowrap>y2</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a quadratic curve via a bezier curve in VML.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateHtmlShape"></a>updateHtmlShape</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.updateHtmlShape = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the bounds or points of the specified HTML node and updates the inner children to reflect the changes.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateVmlDashStyle"></a>updateVmlDashStyle</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.updateVmlDashStyle = function()</td></tr></table></blockquote><p>Updates the dashstyle in the stroke node.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateVmlShape"></a>updateVmlShape</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.updateVmlShape = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the bounds or points of the specified VML node and updates the inner children to reflect the changes.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateSvgBounds"></a>updateSvgBounds</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.updateSvgBounds = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the bounds of the given node using <ahref="#mxShape.bounds"class=LVariableid=link143onMouseOver="ShowTip(event, 'tt10', 'link143')"onMouseOut="HideTip('tt10')">bounds</a>.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateSvgPath"></a>updateSvgPath</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.updateSvgPath = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the path of the given node using <ahref="#mxShape.points"class=LVariableid=link144onMouseOver="ShowTip(event, 'tt12', 'link144')"onMouseOut="HideTip('tt12')">points</a>.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateSvgScale"></a>updateSvgScale</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.updateSvgScale = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the properties of the given node that depend on the scale and checks the crisp rendering attribute.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateSvgShape"></a>updateSvgShape</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.updateSvgShape = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the bounds or points of the specified SVG node and updates the inner children to reflect the changes.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.getSvgShadowTransform"></a>getSvgShadowTransform</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.getSvgShadowTransform = function(</td><tdclass=PParameternowrap>node,</td></tr><tr><td></td><tdclass=PParameternowrap>shadow</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the current transformation for SVG shadows.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateSvgTransform"></a>updateSvgTransform</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.updateSvgTransform = function(</td><tdclass=PParameternowrap>node,</td></tr><tr><td></td><tdclass=PParameternowrap>shadow</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the tranform of the given node.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.reconfigure"></a>reconfigure</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.reconfigure = function()</td></tr></table></blockquote><p>Reconfigures this shape. This will update the colors etc in addition to the bounds or points.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.redraw"></a>redraw</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.redraw = function()</td></tr></table></blockquote><p>Invokes <ahref="#mxShape.redrawSvg"class=LFunctionid=link145onMouseOver="ShowTip(event, 'tt63', 'link145')"onMouseOut="HideTip('tt63')">redrawSvg</a>, <ahref="#mxShape.redrawVml"class=LFunctionid=link146onMouseOver="ShowTip(event, 'tt64', 'link146')"onMouseOut="HideTip('tt64')">redrawVml</a> or <ahref="#mxShape.redrawHtml"class=LFunctionid=link147onMouseOver="ShowTip(event, 'tt65', 'link147')"onMouseOut="HideTip('tt65')">redrawHtml</a> depending on the dialect of the shape.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateBoundingBox"></a>updateBoundingBox</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.updateBoundingBox = function()</td></tr></table></blockquote><p>Updates the <ahref="#mxShape.boundingBox"class=LVariableid=link148onMouseOver="ShowTip(event, 'tt20', 'link148')"onMouseOut="HideTip('tt20')">boundingBox</a> for this shape using <ahref="#mxShape.createBoundingBox"class=LFunctionid=link149onMouseOver="ShowTip(event, 'tt67', 'link149')"onMouseOut="HideTip('tt67')">createBoundingBox</a> and <ahref="#mxShape.augmentBoundingBox"class=LFunctionid=link150onMouseOver="ShowTip(event, 'tt68', 'link150')"onMouseOut="HideTip('tt68')">augmentBoundingBox</a> and stores the result in <ahref="#mxShape.boundingBox"class=LVariableid=link151onMouseOver="ShowTip(event, 'tt20', 'link151')"onMouseOut="HideTip('tt20')">boundingBox</a>.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.createBoundingBox"></a>createBoundingBox</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.createBoundingBox = function()</td></tr></table></blockquote><p>Returns a new rectangle that represents the bounding box of the bare shape with no shadows or strokewidths.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.augmentBoundingBox"></a>augmentBoundingBox</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.augmentBoundingBox = function(</td><tdclass=PParameternowrap>bbox</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Augments the bounding box with the strokewidth and shadow offsets.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.redrawSvg"></a>redrawSvg</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.redrawSvg = function()</td></tr></table></blockquote><p>Redraws this SVG shape by invoking <ahref="#mxShape.updateSvgShape"class=LFunctionid=link152onMouseOver="ShowTip(event, 'tt58', 'link152')"onMouseOut="HideTip('tt58')">updateSvgShape</a> on this.node, this.innerNode and this.shadowNode.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateVmlGlassPane"></a>updateVmlGlassPane</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.updateVmlGlassPane = function()</td></tr></table></blockquote><p>Draws the glass overlay if mxConstants.STYLE_GLASS is 1.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.updateSvgGlassPane"></a>updateSvgGlassPane</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.updateSvgGlassPane = function()</td></tr></table></blockquote><p>Draws the glass overlay if mxConstants.STYLE_GLASS is 1.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.redrawVml"></a>redrawVml</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.redrawVml = function()</td></tr></table></blockquote><p>Redraws this VML shape by invoking <ahref="#mxShape.updateVmlShape"class=LFunctionid=link153onMouseOver="ShowTip(event, 'tt54', 'link153')"onMouseOut="HideTip('tt54')">updateVmlShape</a> on this.node.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.redrawHtml"></a>redrawHtml</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.redrawHtml = function()</td></tr></table></blockquote><p>Redraws this HTML shape by invoking <ahref="#mxShape.updateHtmlShape"class=LFunctionid=link154onMouseOver="ShowTip(event, 'tt52', 'link154')"onMouseOut="HideTip('tt52')">updateHtmlShape</a> on this.node.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.getRotation"></a>getRotation</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.getRotation = function()</td></tr></table></blockquote><p>Returns the current rotation including direction.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.createPath"></a>createPath</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.createPath = function(</td><tdclass=PParameternowrap>arg</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates an <ahref="../util/mxPath-js.html#mxPath"class=LClassid=link155onMouseOver="ShowTip(event, 'tt73', 'link155')"onMouseOut="HideTip('tt73')">mxPath</a> for the specified format and origin. The path object is then passed to <ahref="#mxShape.redrawPath"class=LFunctionid=link156onMouseOver="ShowTip(event, 'tt74', 'link156')"onMouseOut="HideTip('tt74')">redrawPath</a> and <ahref="../util/mxPath-js.html#mxPath.getPath"class=LFunctionid=link157onMouseOver="ShowTip(event, 'tt97', 'link157')"onMouseOut="HideTip('tt97')">mxPath.getPath</a> is returned.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxShape.redrawPath"></a>redrawPath</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxShape.prototype.redrawPath = function(</td><tdclass=PParameternowrap>path,</td></tr><tr><td></td><tdclass=PParameternowrap>x,</td></tr><tr><td></td><tdclass=PParameternowrap>y,</td></tr><tr><td></td><tdclass=PParameternowrap>w,</td></tr><tr><td></td><tdclass=PParameternowrap>h</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws the path for this shape. This implementation is empty. See <ahref="mxActor-js.html#mxActor"class=LClassid=link158onMouseOver="ShowTip(event, 'tt77', 'link158')"onMouseOut="HideTip('tt77')">mxActor</a> and <ahref="mxCylinder-js.html#mxCylinder"class=LClassid=link159onMouseOver="ShowTip(event, 'tt78', 'link159')"onMouseOut="HideTip('tt78')">mxCylinder</a> for implementations.</p></div></div></div>
<divclass=CToolTipid="tt1"><divclass=CFunction><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>function mxShape()</td></tr></table></blockquote>Constructs a new shape.</div></div><divclass=CToolTipid="tt2"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.SVG_STROKE_TOLERANCE</td></tr></table></blockquote>Event-tolerance for SVG strokes (in px). </div></div><divclass=CToolTipid="tt3"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.scale</td></tr></table></blockquote>Holds the scale in which the shape is being painted.</div></div><divclass=CToolTipid="tt4"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.dialect</td></tr></table></blockquote>Holds the dialect in which the shape is to be painted. </div></div><divclass=CToolTipid="tt5"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.crisp</td></tr></table></blockquote>Special attribute for SVG rendering to set the shape-rendering attribute to crispEdges in the output. </div></div><divclass=CToolTipid="tt6"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.roundedCrispSvg</td></tr></table></blockquote>Specifies if crisp rendering should be enabled for rounded shapes. </div></div><divclass=CToolTipid="tt7"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.mixedModeHtml</td></tr></table></blockquote>Specifies if createHtml should be used in mixed Html mode. </div></div><divclass=CToolTipid="tt8"><divclass=CFunction><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.createHtml = function()</td></tr></table></blockquote>Creates and returns the HTML DOM node(s) to represent this shape. </div></div><divclass=CToolTipid="tt9"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.preferModeHtml</td></tr></table></blockquote>Specifies if createHtml should be used in prefer Html mode. </div></div><divclass=CToolTipid="tt10"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.bounds</td></tr></table></blockquote>Holds the mxRectangle that specifies the bounds of this shape.</div></div><divclass=CToolTipid="tt11"><divclass=CClass>Extends mxPoint to implement a 2-dimensional rectangle with double precision coordinates.</div></div><divclass=CToolTipid="tt12"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.points</td></tr></table></blockquote>Holds the array of mxPoints that specify the points of this shape.</div></div><divclass=CToolTipid="tt13"><divclass=CClass>Implements a 2-dimensional vector with double precision coordinates.</div></div><divclass=CToolTipid="tt14"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.node</td></tr></table></blockquote>Holds the outermost DOM node that represents this shape.</div></div><divclass=CToolTipid="tt15"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.label</td></tr></table></blockquote>Reference to the DOM node that should contain the label. </div></div><divclass=CToolTipid="tt16"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxShape.prototype.innerNode</td></tr></table></blockquote>Holds the DOM node that graphically represents this shape