The SVGGeometryElement
interface represents SVG elements whose rendering is defined by geometry with an equivalent path, and which can be filled and stroked. This includes paths and the basic shapes.
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 23.333333333333332%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 140" preserveAspectRatio="xMinYMin meet"><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/EventTarget" target="_top"><rect x="1" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="56" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">EventTarget</text></a><polyline points="111,25 121,20 121,30 111,25" stroke="#D4DDE4" fill="none"/><line x1="121" y1="25" x2="151" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/Node" target="_top"><rect x="151" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="188.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Node</text></a><polyline points="226,25 236,20 236,30 226,25" stroke="#D4DDE4" fill="none"/><line x1="236" y1="25" x2="266" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/Element" target="_top"><rect x="266" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="303.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Element</text></a><polyline points="341,25 351,20 351,30 341,25" stroke="#D4DDE4" fill="none"/><line x1="351" y1="25" x2="381" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/SVGElement" target="_top"><rect x="381" y="1" width="100" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="431" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">SVGElement</text></a><polyline points="481,25 491,20 491,30 481,25" stroke="#D4DDE4" fill="none"/><line x1="491" y1="25" x2="499" y2="25" stroke="#D4DDE4"/><line x1="499" y1="25" x2="499" y2="90" stroke="#D4DDE4"/><line x1="499" y1="90" x2="482" y2="90" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/SVGGraphicsElement" target="_top"><rect x="301" y="65" width="180" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="391" y="94" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">SVGGraphicsElement</text></a><polyline points="301,89 291,84 291,94 301,89" stroke="#D4DDE4" fill="none"/><line x1="291" y1="89" x2="261" y2="89" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/SVGGeometryElement" target="_top"><rect x="81" y="65" width="180" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="171" y="94" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">SVGGeometryElement</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
Note: The pathLength
property and the getTotalLength()
and getPointAtLength()
methods were originally part of the SVGPathElement
interface. In SVG 2 they were moved to this interface.
Properties
This interface also inherits properties from its parent, SVGGraphicsElement
.
SVGGeometryElement.pathLength
Read only- This property reflects the
pathLength
attribute.
Methods
This interface also inherits methods from its parent, SVGGraphicsElement
.
SVGGeometryElement.isPointInFill()
- Determines whether a given point is within the fill shape of an element. Normal hit testing rules apply; the value of the
pointer-events
property on the element determines whether a point is considered to be within the fill. SVGGeometryElement.isPointInStroke()
- Determines whether a given point is within the stroke shape of an element. Normal hit testing rules apply; the value of the
pointer-events
property on the element determines whether a point is considered to be within the stroke. SVGGeometryElement.getTotalLength()
- Returns the user agent's computed value for the total length of the path in user units.
SVGGeometryElement.getPointAtLength()
- Returns the point at a given distance along the path.
Specifications
Specification | Status | Comment |
---|---|---|
Scalable Vector Graphics (SVG) 2 The definition of 'SVGGeometryElement' in that specification. |
Candidate Recommendation | Initial definition |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | (Yes) | ? | 53.0 (53.0) | ? | ? | ? |
Support for elements other than <path> |
? | ? | No support[1] | ? | ? | ? |
isPointInFill() and isPointInStroke() |
(Yes) | ? | No support[2] | ? | ? | ? |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | ? | (Yes) | 53.0 (53.0) | ? | ? | ? | (Yes) |
Support for elements other than <path> |
? | ? | No support[1] | ? | ? | ? | ? |
isPointInFill() and isPointInStroke() |
? | (Yes) | No support[2] | ? | ? | ? | (Yes) |
[1] Support for other elements than <path>
is not implemented yet. See bug 1325320.
[2] Support of isPointInFill()
and isPointInStroke()
is not implemented yet. See bug 1325319.
Document Tags and Contributors
Tags:
Contributors to this page:
Sebastianz,
jpmedley
Last updated by:
Sebastianz,