_intersectAndDispatch (callbackName, mouseEvent) { const event = SyntheticMouseEvent.getPooled(null, null, mouseEvent, mouseEvent.target) const intersections = this._getIntersections( tempVector2.set(event.clientX, event.clientY)) ReactUpdates.batchedUpdates(() => { for (let i = 0; i < intersections.length; ++i) { const intersection = intersections[i] if (event.isDefaultPrevented() || event.isPropagationStopped()) { return } const object = intersection.object this.dispatchEvent(object, callbackName, event, intersection) } }) return { event, intersections, } }
_createSyntheticMouseEvent (eventType, prototype) { return SyntheticMouseEvent.getPooled(null, null, new MouseEvent(eventType, prototype), prototype.target) }