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.

46 lines (45 loc) 1.75 kB
import { ILtrb, PointF, RotatedRectangleF } from "@aurigma/design-atoms-model/Math"; import { BaseRectangleItemHandler } from "../../ItemHandlers"; export interface ISelectionProcessModifier { /** Returns delta between startPoint and currentPoint */ beforeMovePerformed(data: IMoveData): PointF; /** Returns target rectangle */ beforeResizePerformed(data: IResizeData): RotatedRectangleF; /** Returns target rectangle */ beforeRotatePerformed(data: IRotateData): RotatedRectangleF; } export interface IMoveData { /** Point of mousedown or touchstart in workspace coordinates */ startPoint: PointF; /** Delta between startPoint and currentPoint */ delta: PointF; /** Delta between currentPoint and previousPoint */ momentDelta: PointF; /** Rectangle state when move was started */ startRectangle?: RotatedRectangleF; border?: ILtrb; } export interface IItemHandlerRectData { itemType: string; startRectangle: RotatedRectangleF; } export interface IResizeData { /** Current rectangle state */ currentRect: RotatedRectangleF; /** Rectangle state when resize was started */ startRectangle: RotatedRectangleF; /** Previous rectangle state */ previousRectangle: RotatedRectangleF; /** Availability of arbitrary resize */ arbitraryResize: boolean; /** Index of grips is being resized now */ resizeIndex: number; startItemHandlersRects: IItemHandlerRectData[]; rectangleItemHandlers?: BaseRectangleItemHandler[]; } export interface IRotateData { /** Current rectangle state */ currentRect: RotatedRectangleF; /** Previous rectangle state */ previousRectangle: RotatedRectangleF; }