付延余
2022-12-16 f0f8ee8c4a945adbc742d9bab69382b28ad311fb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
 * Modified version of Jake Gordon's Bin Packing algorithm used for Filterizr's 'packed' layout
 * @see {@link https://github.com/jakesgordon/bin-packing}
 */
interface PackerRoot {
    x: number;
    y: number;
    w: number;
    h?: number;
    used?: boolean;
    down?: PackerRoot;
    right?: PackerRoot;
}
interface PackerBlock {
    x?: number;
    y?: number;
    w?: number;
    h?: number;
    fit?: PackerRoot | void;
}
export default class Packer {
    root: PackerRoot;
    constructor(w: number);
    init(w: number): void;
    fit(blocks: PackerBlock[]): void;
    findNode(root: PackerRoot, w: number, h: number): PackerRoot | void;
    splitNode(node: PackerRoot, w: number, h: number): PackerRoot;
    growDown(w: number, h: number): PackerRoot | void;
}
export {};