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.

90 lines (89 loc) 3.96 kB
import { RotatedRectangleF, PointF } from "@aurigma/design-atoms-model/Math"; import { SelectionState } from "./SelectionHandler"; import { ISelectionProcessModifier } from "./ISelectionProcessModifier"; import { BaseRectangleItemHandler } from "../../ItemHandlers/BaseRectangleItemHandler"; export declare class SelectionRectangleHandler { private _selectionModifier; constructor(_selectionModifier?: ISelectionProcessModifier); private _rectangle; private _startRectangle; private _cumulativeDelta; private _startPoint; private _lastPoint; private _resizeIndex; private _resizeOrigin; private _allowNegativeResize; private _itemHandlerResizeStartRects; private _state; get rectangle(): RotatedRectangleF; startRotatingByPoint(startPoint: PointF, startRectangle: RotatedRectangleF): void; updateRotatingByPoint(params: IRotateByPointParams): void; startMovingByPoint: (startPoint: PointF, startRectangle: RotatedRectangleF) => void; updateMovingByPoint: (args: IMoveByPointParams) => void; startResizingByPoint: (startPoint: PointF, startRectangle: RotatedRectangleF, resizeIndex: number, allowNegativeResize: boolean, itemHandlers: BaseRectangleItemHandler[]) => void; private _getItemHandlersRects; updateResizingByPoint(args: IResizeByPointParams, itemHandlers?: BaseRectangleItemHandler[]): void; startMove(startRectangle: RotatedRectangleF): void; move(params: IMoveParams): void; private _updateRectangle; private _setState; private _reset; private _rectangleChanged; addRectangleChanged(handler: (args: ISelectionRectangleEventArgs) => any): void; removeRectangleChanged(handler: (args: ISelectionRectangleEventArgs) => any): void; private _rectangleAngleChanged; addRectangleAngleChanged(handler: (args: IRectangleRotatedEventArgs) => any): void; removeRectangleAngleChanged(handler: (args: IRectangleRotatedEventArgs) => any): void; private _rectangleResized; addRectangleResized(handler: (args: IRectangleResizedEventArgs) => any): void; removeRectangleResized(handler: (args: IRectangleResizedEventArgs) => any): void; private _rectangleCenterChanged; addRectangleMoved(handler: (args: IRectangleMovedEventArgs) => any): void; removeRectangleMoved(handler: (args: IRectangleMovedEventArgs) => any): void; private _stateChanged; addStateChanged(handler: (state: SelectionState) => any): void; removeStateChanged(handler: (state: SelectionState) => any): void; private _checkStartArguments; private _checkUpdateArguments; private _setStartParams; } export interface ISelectionRectangleEventArgs { rectangle: RotatedRectangleF; finished: boolean; } export interface IRectangleRotatedEventArgs extends ISelectionRectangleOperationParams { angle: number; origin: PointF; } export interface IRectangleResizedEventArgs extends ISelectionRectangleOperationParams { origin: PointF; scaleX: number; scaleY: number; angle?: number; } export interface IRectangleMovedEventArgs extends ISelectionRectangleOperationParams { delta: PointF; } export interface ISelectionRectangleOperationParams { finished: boolean; } export interface IRotateByPointParams extends ISelectionRectangleOperationParams { tolerance: number; rotationStep: number; point: PointF; } export interface IMoveByPointParams extends ISelectionRectangleOperationParams { point: PointF; allowMoveHorizontal?: boolean; allowMoveVertical?: boolean; } export interface IMoveParams extends ISelectionRectangleOperationParams { delta: PointF; allowMoveHorizontal?: boolean; allowMoveVertical?: boolean; } export interface IResizeByPointParams extends ISelectionRectangleOperationParams { point: PointF; arbitraryResize: boolean; resizeIndex: number; }