aboutsummaryrefslogtreecommitdiff
path: root/src/types.ts
blob: cc5de25ac1fe4010e4cb34aaf10089b3045a07b4 (plain)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
export class TolNode {
	name: string;
	children: TolNode[];
	constructor(name: string, children: TolNode[] = []){
		this.name = name;
		this.children = children;
	}
}
export class LayoutNode {
	//set by TileTree and LayoutFn funcs, eventually used by Tile
	tolNode: TolNode;
	children: LayoutNode[];
	pos: [number, number];
	dims: [number, number];
	headerSz: number;
	//set by layoutInfoHooks, used by LayoutFn funcs
	tileCount: number;
	//set_by/internal_to LayoutFn funcs
	usedDims: [number, number];
	empSpc: number;
	//set by LayoutFn funcs, eventually used by Tile
	sepSweptArea: SepSweptArea | null;
	//
	constructor(
		tolNode: TolNode, children: LayoutNode[], pos:[number,number]=[0,0], dims:[number,number]=[0,0],
		{headerSz=0, tileCount=0, usedDims=[0,0] as [number,number],
			empSpc=0, sepSweptArea=null as SepSweptArea|null} = {}){
		this.tolNode = tolNode;
		this.children = children;
		this.pos = pos;
		this.dims = dims;
		this.headerSz = headerSz;
		this.tileCount = tileCount;
		this.usedDims = usedDims;
		this.empSpc = empSpc;
		this.sepSweptArea = sepSweptArea;
	}
}
export class SepSweptArea {
	pos: [number, number];
	dims: [number, number];
	sweptLeft: boolean;
	tileSpacing: number;
	constructor(pos: [number, number], dims: [number, number], sweptLeft: boolean, tileSpacing: number){
		this.pos = pos;
		this.dims = dims;
		this.sweptLeft = sweptLeft;
		this.tileSpacing = tileSpacing;
	}
}