7
8
9
10
11
12
13
14
15
16
17
18
19
20
22#include "gimbal/meta/classes/gimbal_primitives.h"
27
28
29
30#define GUM_CONTAINER_TYPE (GBL_TYPEID (GUM_Container))
31#define GUM_CONTAINER(self) (GBL_CAST (GUM_Container, self))
32#define GUM_CONTAINER_CLASS(klass) (GBL_CLASS_CAST (GUM_Container, klass))
33#define GUM_CONTAINER_CLASSOF(self) (GBL_CLASSOF (GUM_Container, self))
36#define GBL_SELF_TYPE GUM_Container
39GBL_FORWARD_DECLARE_STRUCT(GUM_Container);
43
44
45
46
47
48
49GBL_CLASS_DERIVE(GUM_Container, GUM_Widget)
50 GBL_RESULT (*pFnUpdateContent)(GBL_SELF);
55
56
57
58
61
62
63
64
65
70
82GBL_PROPERTIES(GUM_Container,
83 (padding, GBL_GENERIC, (READ, WRITE), GBL_FLOAT_TYPE),
84 (margin, GBL_GENERIC, (READ, WRITE), GBL_FLOAT_TYPE),
85 (minChildSize, GBL_GENERIC, (READ, WRITE), GBL_FLOAT_TYPE),
86 (orientation, GBL_GENERIC, (READ, WRITE), GBL_CHAR_TYPE ),
87 (resizeWidgets, GBL_GENERIC, (READ, WRITE), GBL_BOOL_TYPE ),
88 (alignWidgets, GBL_GENERIC, (READ, WRITE), GBL_BOOL_TYPE ),
89 (scrollable, GBL_GENERIC, (READ, WRITE), GBL_BOOL_TYPE )
92GblType GUM_Container_type(
void);
95#define GUM_Container_create( ...) GBL_NEW(GUM_Container __VA_OPT__(,) __VA_ARGS__)
bool resizeWidgets
If child widgets should be resized to take an equal amount of space.
Definition gumball_container.h:72
char orientation
The minimum amount of space a child widget should take, in percentage of the container's size.
Definition gumball_container.h:71
bool scrollable
If the container should become scrollable when its content is bigger than itself Default value is tru...
Definition gumball_container.h:74
float margin
The space between child widgets.
Definition gumball_container.h:68
bool alignWidgets
If child widgets should be aligned.
Definition gumball_container.h:73