amis-model-design
Version:
amis模型设计器
25 lines (24 loc) • 1.11 kB
TypeScript
/**
* @file 模型布局算法
*/
import { Rect } from './Rect';
type PositionPlacement = 'left-top' | 'left-middle' | 'left-bottom' | 'center-top' | 'center-middle' | 'center-bottom' | 'right-top' | 'right-middle' | 'right-bottom';
export declare class Packer {
width: number;
height: number;
x: number;
y: number;
spaces: Array<Rect>;
center: Rect;
constructor(width?: number, height?: number, x?: number, y?: number);
setCenterRect(rect: Rect): void;
reset(): void;
packWithGutter(rect: Rect, position?: PositionPlacement | ((rect: Rect, space: Rect) => PositionPlacement), gutter?: number): boolean;
pack(rect: Rect, position?: PositionPlacement | ((rect: Rect, space: Rect) => PositionPlacement)): boolean;
placeInSpace(rect: Rect, space: Rect, position?: PositionPlacement | ((rect: Rect, space: Rect) => PositionPlacement)): void;
placed(rect: Rect, gutter?: number): void;
mergeSortSpaces(): void;
static getDistance(x1: number, y1: number, x2: number, y2: number): number;
static mergeRects(rects: Array<Rect>): Rect[];
}
export {};