import sourceEvent from "./sourceEvent.js"; | |
export default function(event, node) { | |
event = sourceEvent(event); | |
if (node === undefined) node = event.currentTarget; | |
if (node) { | |
var svg = node.ownerSVGElement || node; | |
if (svg.createSVGPoint) { | |
var point = svg.createSVGPoint(); | |
point.x = event.clientX, point.y = event.clientY; | |
point = point.matrixTransform(node.getScreenCTM().inverse()); | |
return [point.x, point.y]; | |
} | |
if (node.getBoundingClientRect) { | |
var rect = node.getBoundingClientRect(); | |
return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop]; | |
} | |
} | |
return [event.pageX, event.pageY]; | |
} | |