import { EventBase, LocalEvent } from '../event/event_base'; import { Point, Vector } from '../common/interface'; export declare const enum GESTRUE_EVENT_TYPE { GESTURE = 0 } export interface GestureEvent extends LocalEvent { gestrueType: GESTURE_TYPE; position: Point; motion: Vector; distance: number; } export declare enum GESTURE_TYPE { SINGLE_FINGER_TOUCH_START = 1, SINGLE_FINGER_TAP = 2, SINGLE_FINGER_TAP_DOWN = 3, SINGLE_FINGER_TAP_UP = 4, SINGLE_FINGER_SWIPE = 5, SINGLE_FINGER_SWIPE_START = 6, SINGLE_FINGER_SWIPE_END = 7, DOUBLE_FINGER_TAP = 8, DOUBLE_FINGER_TAP_DOWN = 9, DOUBLE_FINGER_TAP_UP = 10, DOUBLE_FINGER_SWIPE = 11, DOUBLE_FINGER_SWIPE_START = 12, DOUBLE_FINGER_SWIPE_END = 13, DOUBLE_FINGER_EXPAND = 14, DOUBLE_FINGER_SHRINK = 15, DOUBLE_FINGER_SPIN = 16, TRIPLE_FINGER_TAP = 17, TRIPLE_FINGER_TAP_DOWN = 18, TRIPLE_FINGER_TAP_UP = 19, TRIPLE_FINGER_SWIPE = 20, TRIPLE_FINGER_SWIPE_START = 21, TRIPLE_FINGER_SWIPE_END = 22, RELEASE = 23, NONE = 24, TEST = 25 } export default class Gesture extends EventBase { private root; private touchStatus; private touchStartTime; private touchStartPoints; private touchChangedPoins; private tapStart; setTapLimitRadius(radius: number): void; setTapLimitTimeout(timeout: number): void; private tapLimit; private lastTap; private tapPressTimeout; private touchMoveList; private lastMidPoint; constructor(root?: HTMLElement); startListening(): void; stopListening(): void; private createGestureEvent; /** * 0ms----------------------->start touch * touchend------------------>touch tap * 200ms--------------------->touch tap down * touchend------------------>touch tap up */ private onTouch; private multiFingerGesture; private checkTouchPointMove; private getTouchStartPointsFromNativeEvent; private getTouchChangedPoinsFromNativeEvent; private releaseTouchTap; private initTouchStatus; private singlePointRelativePosition; private multiPointRelativePosition; }