UNPKG

@mescius/dspdfviewer

Version:
85 lines (84 loc) 3.06 kB
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; }