46 lines
1.5 KiB
JavaScript
46 lines
1.5 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.releaseCapture = exports.setPointerCapture = exports.hasPointerCapture = exports.createEvent = exports.getCapturedShape = void 0;
|
|
const Global_1 = require("./Global");
|
|
const Captures = new Map();
|
|
const SUPPORT_POINTER_EVENTS = Global_1.Konva._global['PointerEvent'] !== undefined;
|
|
function getCapturedShape(pointerId) {
|
|
return Captures.get(pointerId);
|
|
}
|
|
exports.getCapturedShape = getCapturedShape;
|
|
function createEvent(evt) {
|
|
return {
|
|
evt,
|
|
pointerId: evt.pointerId,
|
|
};
|
|
}
|
|
exports.createEvent = createEvent;
|
|
function hasPointerCapture(pointerId, shape) {
|
|
return Captures.get(pointerId) === shape;
|
|
}
|
|
exports.hasPointerCapture = hasPointerCapture;
|
|
function setPointerCapture(pointerId, shape) {
|
|
releaseCapture(pointerId);
|
|
const stage = shape.getStage();
|
|
if (!stage)
|
|
return;
|
|
Captures.set(pointerId, shape);
|
|
if (SUPPORT_POINTER_EVENTS) {
|
|
shape._fire('gotpointercapture', createEvent(new PointerEvent('gotpointercapture')));
|
|
}
|
|
}
|
|
exports.setPointerCapture = setPointerCapture;
|
|
function releaseCapture(pointerId, target) {
|
|
const shape = Captures.get(pointerId);
|
|
if (!shape)
|
|
return;
|
|
const stage = shape.getStage();
|
|
if (stage && stage.content) {
|
|
}
|
|
Captures.delete(pointerId);
|
|
if (SUPPORT_POINTER_EVENTS) {
|
|
shape._fire('lostpointercapture', createEvent(new PointerEvent('lostpointercapture')));
|
|
}
|
|
}
|
|
exports.releaseCapture = releaseCapture;
|