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.

128 lines (127 loc) 5.84 kB
import { Collection } from "@aurigma/design-atoms-model/Collection"; import { RotatedRectangleF, ILtrb, RectangleF, PointF } from "@aurigma/design-atoms-model/Math"; import { ManipulationPermissions } from "@aurigma/design-atoms-model/Product/Items"; import { AnyFunction } from "@aurigma/design-atoms-model/Utils/Types"; import { IRotateByPointParams, IMoveByPointParams, IResizeByPointParams, IMoveParams } from "./SelectionRectangleHandler"; import { SelectionHitTestManager } from "../SelectionHitTestManager"; import { BaseRectangleItemHandler } from "../../ItemHandlers"; import { HitTestManager } from "../HitTestManager"; import { Canvas } from "../../Canvas"; import { InputState } from "../../Input/InputManager/IInputManager"; import { ISelectionOptions } from "./ISelectionOptions"; import { SnapLinesHandler } from "../../Viewer/SnapLinesHandler"; import { IInteractiveZonesHandler } from "../../Viewer/Interfaces/IInteractiveZonesHandler"; import { ISelectionHandler, RectangleSignsType } from "./ISelectionHandler"; export declare class SelectionHandler implements ISelectionHandler { private _canvas; private _snapLinesHandler; private _interactiveZonesHandler; private _selectionRectangleHandler; private _selectionProcessModifier; private _selectionHitTestManager; private _itemHandlers; private _rectangle; private _parentSelectionRectangle; private _multipleSelectionEnabled; private _currentItemHandler; private _parentItemHandler; private _enabled; private _border; private _skipUpdate; private _locked; private _state; private _region; private _ignoreSimpleMode; private _manipulationPermissions; private _resizeIndex?; private _rectangleSigns; static readonly cw: number[]; static readonly ch: number[]; constructor(hitTestManager: HitTestManager, _canvas: Canvas, _snapLinesHandler: SnapLinesHandler, _interactiveZonesHandler: IInteractiveZonesHandler); get enabled(): boolean; get selectedItemHandlers(): Collection<BaseRectangleItemHandler>; get currentItemHandler(): BaseRectangleItemHandler; get selectionHitTestManager(): SelectionHitTestManager; get locked(): boolean; get border(): ILtrb; get rectangle(): RotatedRectangleF; get parentRectangle(): RotatedRectangleF; get region(): RectangleF; get resizeIndex(): number; set ignoreSimpleMode(value: boolean); private _setRectangle; get multipleSelectionEnabled(): boolean; set multipleSelectionEnabled(value: boolean); lock(saveSelectedItems?: boolean): void; unlock(): void; enable(): void; disable(): void; rotateByPoint(args: IRotateByPointParams, state: InputState, startPoint?: PointF): void; moveByPoint(args: IMoveByPointParams, state: InputState, ignoreSnapLines: boolean, startPoint?: PointF): void; resizeByPoint(args: IResizeByPointParams, state: InputState, startPoint?: PointF): void; private _notifyItemHandlersChanged; move(args: IMoveParams, state: InputState): void; isItemHandlerSelected(itemHandler: BaseRectangleItemHandler): boolean; isOnlyThisItemHandlerSelected(itemHandler: BaseRectangleItemHandler): boolean; setSelectedItemHandlers(itemHandlers: BaseRectangleItemHandler[], dontClean?: boolean): void; private _cancelEditMode; clearSelectedItemHandlers(): void; addSelectedItemHandler(itemHandler: BaseRectangleItemHandler): void; removeSelectedItemHandler(itemHandler: BaseRectangleItemHandler): void; update(force?: boolean): void; private _update; private _updateParentSelectionRectangle; private _getRegion; getSelectionDrawingParams(): ISelectionOptions; getHighlightRectangles(): RotatedRectangleF[]; get visibleRectangle(): RotatedRectangleF; get rectangleSigns(): RectangleSignsType; private _getVisibleSelectionRectangle; private _updatePermissions; get manipulationPermissions(): ManipulationPermissions; get allowManipulation(): boolean; get allowMove(): boolean; private get _allowNegativeResize(); private _selectionChanged; addOnSelectionChanged(handler: () => any): void; removeOnSelectionChanged(handler: () => any): void; private _onSelectionItemHandlersChanged; private _updateParentItemHandler; private _onParentHandlerPropertyChanged; private _selectionRectangleChanged; private _selectionStateChanged; private _selectionAngleChanged; private _selectionMoved; private _selectionResized; private _getHistoryUpdateMode; private get _items(); private _onItemHandlersItemAdded; private _onItemHandlersItemRemoved; private _onSelectedItemHandlerChanged; addSelectedItemHandlersChanged: (handler: AnyFunction) => void; removeSelectedItemHandlersChanged: (handler: AnyFunction) => void; private _fillSnapData; dispose(): void; private _currentItemChangedEvent; addCurrentItemChanged(listener: (item: BaseRectangleItemHandler) => void): void; removeCurrentItemChanged(listener: (item: BaseRectangleItemHandler) => void): void; get isIdle(): boolean; get isResizing(): boolean; get isRotating(): boolean; get isDragging(): boolean; } export declare enum SelectionState { Idle = 0, Select = 1, Drag = 2, Resize = 3, Rotate = 4 } export declare class ResizeHelper { static isLeftResizeGrip(index: number): boolean; static isTopResizeGrip(index: number): boolean; static isRightResizeGrip(index: number): boolean; static isBottomResizeGrip(index: number): boolean; static isCornerResizeGrip(index: number): boolean; static isEdgeResizeGrip(index: number): boolean; }