#ifndef GUI_H #define GUI_H #include #include #include #ifdef __cplusplus extern "C" { #endif struct gui_common { const struct gui_common_cb { void (*add_child)(struct gui_common *parent, struct gui_common *child); int (*update)(struct gui_common *, const union peripheral *, const struct camera *); int (*render)(const struct gui_common *); void (*get_dim)(const struct gui_common *, short *w, short *h); } *cb; short x, y; bool hcentered, vcentered; struct gui_common *parent, *child, *sibling; }; void gui_add_child(struct gui_common *parent, struct gui_common *child); void gui_add_sibling(struct gui_common *g, struct gui_common *sibling); int gui_update(struct gui_common *g, const union peripheral *p, const struct camera *c); int gui_render(const struct gui_common *g); #ifdef __cplusplus } #endif #endif /* GUI_H */