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