#include #include #include #include typedef struct { float x; float y; float w; float h; } Rect; typedef struct { uint8_t r; uint8_t g; uint8_t b; uint8_t a; } Color; enum DisplayItem_Tag #ifdef __cplusplus : uint8_t #endif // __cplusplus { Fill, Image, ClearScreen, }; #ifndef __cplusplus typedef uint8_t DisplayItem_Tag; #endif // __cplusplus typedef struct { DisplayItem_Tag tag; Rect _0; Color _1; } Fill_Body; typedef struct { DisplayItem_Tag tag; uint32_t id; Rect bounds; } Image_Body; typedef union { DisplayItem_Tag tag; Fill_Body fill; Image_Body image; } DisplayItem; #ifdef __cplusplus extern "C" { #endif // __cplusplus bool push_item(DisplayItem item); #ifdef __cplusplus } // extern "C" #endif // __cplusplus