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 #include "container.h"
30 #include "object.h"
31
32 void ui_end_new(UiObject *obj) {
33 if(!obj->container_end) {
34 return;
35 }
36 UiContainerX *rm = obj->container_end;
37 uic_object_pop_container(obj);
38 ui_free(obj->ctx, rm);
39 }
40
41 void ui_newline(UiObject *obj) {
42 UiContainerX *container = obj->container_end;
43 if(container) {
44 container->newline =
TRUE;
45 }
46 }
47
48 void uic_layout_setup_expand_fill(
49 UiLayout *layout,
50 UiBool def_hexpand,
51 UiBool def_vexpand,
52 UiBool def_hfill,
53 UiBool def_vfill)
54 {
55 if(layout->fill) {
56 layout->hfill =
TRUE;
57 layout->vfill =
TRUE;
58 layout->hexpand =
TRUE;
59 layout->vexpand =
TRUE;
60 return;
61 }
62
63 if(!layout->override_defaults) {
64 if(def_hexpand) {
65 layout->hexpand =
TRUE;
66 }
67 if(def_hfill) {
68 layout->hfill =
TRUE;
69 }
70 if(def_vexpand) {
71 layout->vexpand =
TRUE;
72 }
73 if(def_vfill) {
74 layout->vfill =
TRUE;
75 }
76 }
77 }
78
79 void uic_layout_setup_margin(UiLayout *layout) {
80 int margin = layout->margin;
81 if(margin >
0) {
82 layout->margin_left = margin;
83 layout->margin_right = margin;
84 layout->margin_top = margin;
85 layout->margin_bottom = margin;
86 }
87 }
88