/** * @license * Copyright 2024 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import { ReactiveControllerHost } from 'lit'; import { BaseCanvasController } from './base.controller.js'; import { CanvasHost } from '../interfaces/index.js'; import { ViewportController } from './viewport.controller.js'; import { DragController } from './drag.controller.js'; import { SelectionController } from './selection.controller.js'; /** * Controller for handling touch interactions on the canvas. * Detects gestures (pan, pinch-zoom, drag, tap, double-tap) and * delegates to existing controllers using synthetic MouseEvent objects. */ export declare class TouchController extends BaseCanvasController { private readonly viewportController; private readonly dragController; private readonly selectionController; private readonly activeTouches; private gestureType; private initialPinchDistance; private initialPinchZoom; private lastTapTime; private lastTapPosition; private touchStartPos; private touchTargetNode; constructor(host: CanvasHost & ReactiveControllerHost, viewportController: ViewportController, dragController: DragController, selectionController: SelectionController); hostConnected(): void; hostDisconnected(): void; private readonly handleTouchStart; private readonly handleTouchMove; private readonly handleTouchEnd; private startPinchGesture; private promoteGesture; private handleTap; private handlePinchEnd; private updateActiveTouches; private updateCursorPosition; private handlePinchMove; /** * Check if a touch event targets a UI overlay element (toolbar, sidebar, etc.) * that should receive normal browser touch/click handling. */ private isTouchOnUIOverlay; private createSyntheticMouseEvent; private getDistance; private getMidpoint; private findNodeFromTouch; private findNodeElementFromTouch; private isDoubleTap; private resetGesture; } //# sourceMappingURL=touch.controller.d.ts.map