43 lines
789 B
Cython
43 lines
789 B
Cython
from libc.stdint cimport int8_t, int16_t, int32_t, int64_t, intptr_t
|
|
from libc.stdint cimport uint8_t, uint16_t, uint32_t, uint64_t, uintptr_t
|
|
cdef extern from *:
|
|
ctypedef bint bool
|
|
ctypedef struct va_list
|
|
|
|
cdef extern from *:
|
|
|
|
ctypedef struct Rect:
|
|
float x;
|
|
float y;
|
|
float w;
|
|
float h;
|
|
|
|
ctypedef struct Color:
|
|
uint8_t r;
|
|
uint8_t g;
|
|
uint8_t b;
|
|
uint8_t a;
|
|
|
|
cdef enum:
|
|
Fill,
|
|
Image,
|
|
ClearScreen,
|
|
ctypedef uint8_t DisplayItem_Tag;
|
|
|
|
ctypedef struct Fill_Body:
|
|
DisplayItem_Tag tag;
|
|
Rect _0;
|
|
Color _1;
|
|
|
|
ctypedef struct Image_Body:
|
|
DisplayItem_Tag tag;
|
|
uint32_t id;
|
|
Rect bounds;
|
|
|
|
ctypedef union DisplayItem:
|
|
DisplayItem_Tag tag;
|
|
Fill_Body fill;
|
|
Image_Body image;
|
|
|
|
bool push_item(DisplayItem item);
|