summaryrefslogtreecommitdiff
path: root/src/widget/layout.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/widget/layout.c')
-rw-r--r--src/widget/layout.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/widget/layout.c b/src/widget/layout.c
new file mode 100644
index 0000000..c529c56
--- /dev/null
+++ b/src/widget/layout.c
@@ -0,0 +1,25 @@
1#include "widget.h"
2
3static uiStretch StretchFromDirection(uiLayoutDirection direction) {
4 switch (direction) {
5 case uiHorizontal:
6 return uiStretchX;
7 case uiVertical:
8 return uiStretchY;
9 }
10 assert(false);
11 return uiStretchNone;
12}
13
14uiLayout* uiMakeLayout(uiPtr parent, uiLayoutDirection direction) {
15 uiLayout* layout = UI_NEW(uiLayout);
16
17 *layout = (uiLayout){
18 .widget = (uiWidget){.type = uiTypeLayout,
19 .stretch = StretchFromDirection(direction)},
20 .direction = direction,
21 };
22 WidgetSetParent(uiMakeLayoutPtr(layout), parent);
23
24 return layout;
25}