void draw_rect(drawable_t *draw, const rect_t *rect, pixel_t pixel)
Draw a filled rectangle.
void draw_text(drawable_t *draw, const rect_t *rect, const font_t *font, align_t xAlign, align_t yAlign, pixel_t pixel, const char *text)
Draw text to a drawable.
void draw_frame(drawable_t *draw, const rect_t *rect, uint64_t width, pixel_t foreground, pixel_t background)
Draw a skeuomorphic frame.
theme_t * element_get_theme(element_t *elem)
Get the theme of an element.
void element_draw_end(element_t *elem, drawable_t *draw)
End drawing to an element.
element_t * element_new(element_t *parent, element_id_t id, const rect_t *rect, const char *text, element_flags_t flags, procedure_t procedure, void *private)
Allocate and initialize a new element.
rect_t element_get_content_rect(element_t *elem)
Get the element's rectangle in local coordinates.
uint64_t element_flags_t
Element flags type.
void element_draw_begin(element_t *elem, drawable_t *draw)
Begin drawing to an element.
uint64_t element_id_t
Element identifier type.
#define NULL
Pointer error value.
static uint64_t label_procedure(window_t *win, element_t *elem, const event_t *event)
#define RECT_SHRINK(rect, margin)
Opaque element structure.