Files
game-cards-poker-design/frontend/node_modules/fabric/src/util/dom_event.ts

30 lines
922 B
TypeScript
Raw Normal View History

import type { TPointerEvent } from '../EventTypeDefs';
import { Point } from '../Point';
import { getScrollLeftTop } from './dom_misc';
const touchEvents = ['touchstart', 'touchmove', 'touchend'];
function getTouchInfo(event: TouchEvent | MouseEvent): MouseEvent | Touch {
const touchProp = (event as TouchEvent).changedTouches;
if (touchProp && touchProp[0]) {
return touchProp[0];
}
return event as MouseEvent;
}
export const getPointer = (event: TPointerEvent): Point => {
const element = event.target as HTMLElement,
scroll = getScrollLeftTop(element),
_evt = getTouchInfo(event);
return new Point(_evt.clientX + scroll.left, _evt.clientY + scroll.top);
};
export const isTouchEvent = (event: TPointerEvent) =>
touchEvents.includes(event.type) ||
(event as PointerEvent).pointerType === 'touch';
export const stopEvent = (e: Event) => {
e.preventDefault();
e.stopPropagation();
};