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 {};
|
|