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 #define AlignFlags_AUTO (AlignFlags){ .bits = 0 }
15 #define AlignFlags_NORMAL (AlignFlags){ .bits = 1 }
16 #define AlignFlags_START (AlignFlags){ .bits = 1 << 1 }
17 #define AlignFlags_END (AlignFlags){ .bits = 1 << 2 }
18 #define AlignFlags_FLEX_START (AlignFlags){ .bits = 1 << 3 }
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif // __cplusplus
23 
24 void root(AlignFlags flags);
25 
26 #ifdef __cplusplus
27 } // extern "C"
28 #endif // __cplusplus
29