UNPKG

@mescius/dspdfviewer

Version:
54 lines (53 loc) 2.11 kB
export type DispatcherMode = 'None' | 'Viewer' | 'Layer'; export type PointerEventsListener = { start: (event: TouchEvent | MouseEvent) => boolean; move: (event: TouchEvent | MouseEvent) => boolean; end: (event: TouchEvent | MouseEvent) => boolean; multipleStart?: (event: TouchEvent) => void; }; /** * Utility used to listen pointer and zoom gesture events for mobile devices. * */ export declare class GestureEventsDispatcher { _active: boolean; private _pointerListener?; _hostElement?: HTMLElement; _onGestureStartHandler: any; _onGestureStopHandler: any; _onMouseDownHandler: any; _onMouseMoveHandler: any; _onMouseUpHandler: any; _registeredElements: any; _docViewerId: string; private _lastEventKey; /** * Last clicked point, absolute coordinates related to browser viewport. Format [clientX, clientY] * @ignore exclude from docs. **/ constructor(docViewerId: string); /** * GcPinchZoomGesture class constructor * @param hostElement DOM element, target container, used to listen touch events and used for zoom distance calculations */ initialize(hostElement: HTMLElement): void; static instance(docViewerId: string): GestureEventsDispatcher; setPointerEvents(dispatcherMode: DispatcherMode, pointerListener: PointerEventsListener): void; clearPointerEvents(dispatcherMode?: DispatcherMode): void; registerForEvents(key: string, element: Document | HTMLElement): void; unregisterForEvents(key: string): void; private _registerEvents; get hasTouchNoPointerEvents(): boolean; get moveEventKey(): string; private _unregisterEvents; private _onGestureStart; private _onGestureStop; private _onMouseDown; private _onMouseMove; private _onMouseUp; _isEventDispatched(e: TouchEvent | MouseEvent): boolean; /** * The method can be called directly by any child instance to handle the touchend event as usual. * @param event */ notifyTouchEnd(event: TouchEvent): void; }