@image/packer
Version:
image packer
43 lines (42 loc) • 1.1 kB
TypeScript
export interface ISize {
width: number;
height: number;
}
export interface IRect {
x: number;
y: number;
width: number;
height: number;
data: ISize;
}
export interface INode {
x: number;
y: number;
width: number;
height: number;
children?: INode[];
}
export declare class MultiBinPacker {
readonly maxWidth: number;
readonly maxHeight: number;
readonly padding?: number;
readonly bins: BinaryTreeBin[];
readonly oversizedElements: ISize[];
constructor(maxWidth: number, maxHeight: number, padding?: number);
add(data: ISize): void;
private sort(rects);
addArray(rects: ISize[]): void;
}
export declare class BinaryTreeBin {
private maxWidth;
private maxHeight;
private padding;
private rootNode;
width: number;
height: number;
rects: IRect[];
constructor(maxWidth: number, maxHeight: number, padding?: number);
add(data: ISize): IRect | undefined;
private findNode(node, width, height);
private createChildren(node, width, height);
}