SVGGeometryElement: isPointInFill() method
The SVGGeometryElement.isPointInFill()
method 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. The point
argument is
interpreted as a point in the local coordinate system of the element.
Syntax
js
isPointInFill(point)
Parameters
point
-
A DOMPointInit object interpreted as a point in the local coordinate system of the element.
Return value
A boolean indicating whether the given point is within the fill or not.
Examples
SVG
html
<svg
viewBox="0 0 100 100"
width="150"
height="150"
xmlns="http://www.w3.org/2000/svg">
<circle
id="circle"
cx="50"
cy="50"
r="45"
fill="white"
stroke="black"
stroke-width="10" />
<circle cx="10" cy="10" r="5" fill="seagreen" />
<circle cx="40" cy="30" r="5" fill="seagreen" />
</svg>
JavaScript
js
const circle = document.getElementById("circle");
try {
// Point is outside
console.log("Point at 10,10:", circle.isPointInFill(new DOMPoint(10, 10)));
// Point is inside
console.log("Point at 40,30:", circle.isPointInFill(new DOMPoint(40, 30)));
} catch (e) {
// for the browsers that still support the deprecated interface SVGPoint
const svg = document.getElementsByTagName("svg")[0];
const point = svg.createSVGPoint();
// Point is outside
point.x = 10;
point.y = 10;
console.log("Point at 10,10: ", circle.isPointInFill(point));
// Point is inside
point.x = 40;
point.y = 30;
console.log("Point at 40,30: ", circle.isPointInFill(point));
}
Result
Specifications
Specification |
---|
Scalable Vector Graphics (SVG) 2 # __svg__SVGGeometryElement__isPointInFill |
Browser compatibility
BCD tables only load in the browser