@plait/draw
Version:
Implementation of the core logic of the flowchart drawing tool plugin.
25 lines (24 loc) • 1.21 kB
TypeScript
import { PlaitBoard, Point, RectangleClient } from '@plait/core';
export interface BulkRotationRef {
angle: number;
offsetX: number;
offsetY: number;
newCenterPoint: Point;
}
export declare function withDrawResize(board: PlaitBoard): PlaitBoard;
export declare const getResizeOriginPointAndHandlePoint: (board: PlaitBoard, handleIndex: number, rectangle: RectangleClient) => {
originPoint: Point;
handlePoint: Point;
};
export declare const getResizeZoom: (resizeStartAndEnd: [Point, Point], resizeOriginPoint: Point, resizeHandlePoint: Point, isFromCorner: boolean, isAspectRatio: boolean) => {
xZoom: number;
yZoom: number;
};
export declare const movePointByZoomAndOriginPoint: (p: Point, resizeOriginPoint: Point, xZoom: number, yZoom: number) => Point;
/**
* 1. Rotate 90°
* 2. Scale based on the rotated points
* 3. Reverse rotate the scaled points by 90°
*/
export declare const getResizePointsByOtherwiseAxis: (board: PlaitBoard, points: Point[], resizeOriginPoint: Point, xZoom: number, yZoom: number) => Point[];
export declare const generatorResizeHandles: (board: PlaitBoard, resizeActivePoints?: Point[], needCustomActiveRectangle?: boolean) => SVGGElement;