cross-gesture
Version:
Gesture lib for the modern browsers
79 lines (78 loc) • 4.96 kB
TypeScript
import { GestureDetailPinch, GestureDetailPinchAndRotate, GestureDetailPressMove, GestureDetailRotate, GestureDetailSwipe, GestureEventType, Listener, Options } from './types';
export declare class CrossGesture {
element: HTMLElement;
options: Options;
listenersMap: Map<GestureEventType, Listener<any, any>[]>;
singleTapTimer?: ReturnType<typeof setTimeout>;
longTapTimer?: ReturnType<typeof setTimeout>;
lastTapTime?: number;
longTapPoint?: Touch;
touchPrePoints: {
points?: Touch[];
time?: number;
};
touchPointsPath: Map<number, {
time: number;
pageX: number;
pageY: number;
}[]>;
isMouseDown: boolean;
constructor(el: HTMLElement | string);
private updatePathOfPoint;
private onWheel;
private onPointerDown;
private onPointerUp;
private onPointerMove;
private onMouseDown;
private onMouseMove;
private onMouseUp;
private onTouchStart;
private onTouchMove;
private onTouchEnd;
private onTouchCancel;
private dispatch;
private moveOutDistance;
private clearPrePoints;
private dispatchPressMove;
addListener(eventType: 'pointerdown', listener: Listener<undefined, PointerEvent>): void;
addListener(eventType: 'pointerup', listener: Listener<undefined, PointerEvent>): void;
addListener(eventType: 'pointermove', listener: Listener<undefined, PointerEvent>): void;
addListener(eventType: 'mousedown', listener: Listener<undefined, MouseEvent>): void;
addListener(eventType: 'mouseup', listener: Listener<undefined, MouseEvent>): void;
addListener(eventType: 'mousemove', listener: Listener<undefined, MouseEvent>): void;
addListener(eventType: 'touchstart', listener: Listener<undefined, TouchEvent>): void;
addListener(eventType: 'touchmove', listener: Listener<undefined, TouchEvent>): void;
addListener(eventType: 'touchend', listener: Listener<undefined, TouchEvent>): void;
addListener(eventType: 'touchcancel', listener: Listener<undefined, TouchEvent>): void;
addListener(eventType: 'tap', listener: Listener<undefined, TouchEvent>): void;
addListener(eventType: 'singleTap', listener: Listener<undefined, TouchEvent>): void;
addListener(eventType: 'doubleTap', listener: Listener<undefined, TouchEvent>): void;
addListener(eventType: 'longTap', listener: Listener<undefined, TouchEvent>): void;
addListener(eventType: 'rotate', listener: Listener<GestureDetailRotate, TouchEvent>): void;
addListener(eventType: 'pinch', listener: Listener<GestureDetailPinch, TouchEvent>): void;
addListener(eventType: 'pinchAndRotate', listener: Listener<GestureDetailPinchAndRotate, TouchEvent>): void;
addListener(eventType: 'swipe', listener: Listener<GestureDetailSwipe, TouchEvent>): void;
addListener(eventType: 'pressMove', listener: Listener<GestureDetailPressMove, TouchEvent | MouseEvent>): void;
addListener(eventType: 'wheel', listener: Listener<undefined, WheelEvent>): void;
removeListener(eventType: 'pointerdown', listener: Listener<undefined, PointerEvent>): void;
removeListener(eventType: 'pointerup', listener: Listener<undefined, PointerEvent>): void;
removeListener(eventType: 'pointermove', listener: Listener<undefined, PointerEvent>): void;
removeListener(eventType: 'mousedown', listener: Listener<undefined, MouseEvent>): void;
removeListener(eventType: 'mouseup', listener: Listener<undefined, MouseEvent>): void;
removeListener(eventType: 'mousemove', listener: Listener<undefined, MouseEvent>): void;
removeListener(eventType: 'touchstart', listener: Listener<undefined, TouchEvent>): void;
removeListener(eventType: 'touchmove', listener: Listener<undefined, TouchEvent>): void;
removeListener(eventType: 'touchend', listener: Listener<undefined, TouchEvent>): void;
removeListener(eventType: 'touchcancel', listener: Listener<undefined, TouchEvent>): void;
removeListener(eventType: 'tap', listener: Listener<undefined, TouchEvent>): void;
removeListener(eventType: 'singleTap', listener: Listener<undefined, TouchEvent>): void;
removeListener(eventType: 'doubleTap', listener: Listener<undefined, TouchEvent>): void;
removeListener(eventType: 'longTap', listener: Listener<undefined, TouchEvent>): void;
removeListener(eventType: 'rotate', listener: Listener<GestureDetailRotate, TouchEvent>): void;
removeListener(eventType: 'pinch', listener: Listener<GestureDetailPinch, TouchEvent>): void;
removeListener(eventType: 'pinchAndRotate', listener: Listener<GestureDetailPinchAndRotate, TouchEvent>): void;
removeListener(eventType: 'swipe', listener: Listener<GestureDetailSwipe, TouchEvent>): void;
removeListener(eventType: 'pressMove', listener: Listener<GestureDetailPressMove, TouchEvent | MouseEvent>): void;
removeListener(eventType: 'wheel', listener: Listener<undefined, WheelEvent>): void;
destroy(): void;
}