1 #include <stdarg.h>
2 #include <stdbool.h>
3 #include <stdint.h>
4 #include <stdlib.h>
5 
6 /**
7  * Constants shared by multiple CSS Box Alignment properties
8  *
9  * These constants match Gecko's `NS_STYLE_ALIGN_*` constants.
10  */
11 typedef struct AlignFlags {
12   uint8_t bits;
13 } AlignFlags;
14 /**
15  * 'auto'
16  */
17 #define AlignFlags_AUTO (AlignFlags){ .bits = 0 }
18 /**
19  * 'normal'
20  */
21 #define AlignFlags_NORMAL (AlignFlags){ .bits = 1 }
22 /**
23  * 'start'
24  */
25 #define AlignFlags_START (AlignFlags){ .bits = (1 << 1) }
26 /**
27  * 'end'
28  */
29 #define AlignFlags_END (AlignFlags){ .bits = (1 << 2) }
30 /**
31  * 'flex-start'
32  */
33 #define AlignFlags_FLEX_START (AlignFlags){ .bits = (1 << 3) }
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif // __cplusplus
38 
39 void root(AlignFlags flags);
40 
41 #ifdef __cplusplus
42 } // extern "C"
43 #endif // __cplusplus
44