UNPKG

@aurigma/design-atoms

Version:

Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.

64 lines 3.1 kB
import { PointerInputHandlerHelper } from "./PointerInputHandlerHelper"; import { InputState } from "./../../../Input/InputManager/IInputManager"; import { PanHandler } from "./PanHandler"; import { PointF } from "@aurigma/design-atoms-model/Math"; import { ItemsCommand, ViewerCommand, ZoomCommand } from "@aurigma/design-atoms-interfaces"; export class DefaultTouchInputHandler { constructor(_commandManager, _selectionHandler, eventManager, hitTestManager, _dndHandler, _canvas, rotateHandler) { this._commandManager = _commandManager; this._selectionHandler = _selectionHandler; this._dndHandler = _dndHandler; this._canvas = _canvas; this._pointerInputHandler = new PointerInputHandlerHelper(_canvas, _commandManager, _selectionHandler, hitTestManager, eventManager, _dndHandler, rotateHandler); this._panHandler = new PanHandler(this._commandManager); } async onTap(params) { await this._pointerInputHandler.onPointerClick(params, false); } async onMove(params) { await this._pointerInputHandler.onPointerMove(params, true); if (params.state !== InputState.Finished && this._selectionHandler.isIdle && !this._dndHandler.isDragStarted()) { this._panHandler.process(params); } } async onLongTap(params) { params.preventDefault(); await this._pointerInputHandler.onPointerClick(params, true); } async onDoubleClick(params) { await this._pointerInputHandler.onDoubleClick(params); } async onPointerDown(params) { await this._pointerInputHandler.onPointerDown(params); } async onTransform(params) { var _a, _b; if (this._dndHandler.isDragStarted()) return; if (this._canvas.contentEditingPlaceholderItemHandler != null) { const handler = this._canvas.contentEditingPlaceholderItemHandler; const args = { scale: handler.getContentScale() * params.scale, forceQualityChangeInfoBar: params.state !== InputState.Finished, items: [handler.item] }; await this._commandManager.execute(ItemsCommand.placeholderContentScale, args); } else { if (!this._selectionHandler.isIdle) return; if (!((_b = (_a = this._canvas) === null || _a === void 0 ? void 0 : _a.viewer) === null || _b === void 0 ? void 0 : _b.pinchZoomEnabled)) return; const moveArgs = { delta: new PointF(-params.translate.x, -params.translate.y) }; await this._commandManager.execute(ZoomCommand.setZoom, { zoom: this._canvas.viewer.zoom * params.scale, withoutUpdate: params.state !== InputState.Finished, preventEvent: false }); await this._commandManager.execute(ViewerCommand.moveViewPort, moveArgs); } } } //# sourceMappingURL=DefaultTouchInputHandler.js.map