summaryrefslogtreecommitdiff
path: root/tui/layout/vlayout.ha
blob: 8a6a0a64565c79543986704e1d0f5f0f9101b46f (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
use tui::widget;

export type vlayout = struct {
	layout: layout,
};

export fn newvlayout(widgets: *widget::widget...) vlayout = {
	return vlayout {
		layout = layout {
			widgets = widgets,
			print = &printvlayout,
			finish = &finishvlayout,
		},
	};
};

fn printvlayout(l: *layout) void = {
	for (let widget .. l.widgets) {
		widget.print(widget);
	};
};

export fn finishvlayout(l: *layout) void = {
	let vl = l: *vlayout;
	finish(&vl.layout);
};