@mescius/dspdfviewer
Version:
Document Solutions PDF Viewer
85 lines (84 loc) • 3.06 kB
TypeScript
import { IGCEventBus } from "../Models/ViewerTypes";
/**
* Utility class to manage the two-finger scrolling state globally.
* This ensures that the two-finger scrolling state is isolated and won't conflict with other global variables.
*/
export declare class TwoFingerScrollState {
private static stateNamespace;
private static ensureNamespace;
/**
* Gets the two-finger scrolling state.
* @returns {boolean} True if two-finger scrolling is active, otherwise false.
*/
static get isTwoFingerScrolling(): boolean;
/**
* Sets the two-finger scrolling state.
* @param {boolean} val - True to activate two-finger scrolling, false to deactivate.
*/
static set isTwoFingerScrolling(val: boolean);
}
/**
* Class representing a two-finger scrolling feature.
* Allows the user to scroll an element using a two-finger gesture on touch devices.
*/
export declare class TwoFingerScroll {
private element;
private scrollSpeed;
private initialTouchPositions;
private isEnabled;
disabled: boolean;
eventBus: IGCEventBus;
/**
* Creates an instance of TwoFingerScroll.
* @param {HTMLElement} element - The HTML element to apply the two-finger scrolling.
* @param {Object} [opts] - Configuration options for two-finger scrolling.
* @param {Object|boolean} [opts.scrollWhileEditing] - Scrolling behavior options or boolean to enable/disable.
*/
constructor(element: HTMLElement, eventBus: IGCEventBus, opts?: {
scrollWhileEditing: {
eventsMode?: "Touch" | "Pointer" | "All";
scrollSpeed: number;
} | boolean;
});
/**
* Initializes event listeners for two-finger scrolling.
*/
private initEventListeners;
/**
* Removes event listeners to stop two-finger scrolling.
*/
private removeEventListeners;
/**
* Handles the pointer down or touch event to track touch points.
* @param {PointerEvent | TouchEvent} event - The event object, which could be either a pointer event or a touch event.
*/
private onPointerDown;
/**
* Helper method to determine if the event is a touch event.
* @param {Event} event - The event to check.
* @returns {boolean} True if the event is a TouchEvent, otherwise false.
*/
private isTouchEvent;
/**
* Handles the pointer move event to perform scrolling.
* @param {PointerEvent} event - The pointer event object.
*/
private onPointerMove;
/**
* Handles the pointer up event to stop tracking touch points.
* @param {PointerEvent} event - The pointer event object.
*/
private onPointerUp;
/**
* Enables two-finger scrolling functionality.
*/
enable(): void;
/**
* Disables two-finger scrolling functionality.
*/
disable(): void;
/**
* Completely removes all event listeners and disables two-finger scrolling.
*/
dispose(): void;
}