summaryrefslogtreecommitdiff
path: root/tui/layout/vlayout.ha
diff options
context:
space:
mode:
Diffstat (limited to 'tui/layout/vlayout.ha')
-rw-r--r--tui/layout/vlayout.ha26
1 files changed, 26 insertions, 0 deletions
diff --git a/tui/layout/vlayout.ha b/tui/layout/vlayout.ha
new file mode 100644
index 0000000..0381a9f
--- /dev/null
+++ b/tui/layout/vlayout.ha
@@ -0,0 +1,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);
+ };
+};
+
+fn finishvlayout(l: *layout) void = {
+ let vl = l: *vlayout;
+ finish(&vl.layout);
+};