@mescius/dspdfviewer
Version:
Document Solutions PDF Viewer
54 lines (53 loc) • 2.11 kB
TypeScript
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;
}