pointer support check

This commit is contained in:
Anton Lavrenov 2019-08-08 22:12:18 +07:00
parent 0975848dd7
commit c4be177c9d
5 changed files with 1359 additions and 2857 deletions

1390
konva.js

File diff suppressed because it is too large Load Diff

2
konva.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -201,7 +201,7 @@ export const Konva = {
// user agent
UA: _parseUA((glob.navigator && glob.navigator.userAgent) || ''),
document: glob.document,
// insert Konva into global namaspace (window)
// insert Konva into global namespace (window)
// it is required for npm packages
_injectGlobal(Konva) {
glob.Konva = Konva;

View File

@ -1,10 +1,15 @@
import { KonvaEventObject } from './Node';
import { Konva } from './Global';
import { Shape } from './Shape';
import { Stage } from './Stage';
const Captures = new Map<number, Shape | Stage>();
// we may use this module for capturing touch events too
// so make sure we don't do something super specific to pointer
const SUPPORT_POINTER_EVENTS = Konva._global['PointerEvent'] !== undefined;
export interface KonvaPointerEvent extends KonvaEventObject<PointerEvent> {
pointerId: number;
}
@ -32,10 +37,12 @@ export function setPointerCapture(pointerId: number, shape: Shape | Stage) {
Captures.set(pointerId, shape);
shape._fire(
'gotpointercapture',
createEvent(new PointerEvent('gotpointercapture'))
);
if (SUPPORT_POINTER_EVENTS) {
shape._fire(
'gotpointercapture',
createEvent(new PointerEvent('gotpointercapture'))
);
}
}
export function releaseCapture(pointerId: number, target?: Shape | Stage) {
@ -51,8 +58,10 @@ export function releaseCapture(pointerId: number, target?: Shape | Stage) {
Captures.delete(pointerId);
shape._fire(
'lostpointercapture',
createEvent(new PointerEvent('lostpointercapture'))
);
if (SUPPORT_POINTER_EVENTS) {
shape._fire(
'lostpointercapture',
createEvent(new PointerEvent('lostpointercapture'))
);
}
}

File diff suppressed because it is too large Load Diff