diff options
Diffstat (limited to 'ui.h')
-rw-r--r-- | ui.h | 51 |
1 files changed, 51 insertions, 0 deletions
@@ -0,0 +1,51 @@ +#ifndef UI_H +#define UI_H + +#include <stdbool.h> +#include <inttypes.h> + +#include "list.h" + +enum ui_align { + UI_ALIGN_LEFT, + UI_ALIGN_RIGHT, +}; + +struct ui_col { + struct list_head entry; + uint32_t id; + char *name; + uint32_t len; + int pos; + int color; + enum ui_align align; +}; + +struct ui_table { + int y; + int x; + int rows_y; + struct list_head cols; + int hdr_color; + int col_pad; + int width; +}; + +extern void ui_table_init(struct ui_table *tbl); +extern void ui_table_uninit(struct ui_table *tbl); +extern void ui_table_pos_set(struct ui_table *tbl, int y, int x); +extern void ui_table_clear(struct ui_table *tbl); + +extern void ui_table_col_add(struct ui_table *tbl, uint32_t id, char *name, + uint32_t len); +extern void ui_table_col_color_set(struct ui_table *tbl, int col_id, int color); +extern void ui_table_col_align_set(struct ui_table *tbl, int col_id, enum ui_align align); + +extern void ui_table_row_add(struct ui_table *tbl); +extern void ui_table_row_print(struct ui_table *tbl, uint32_t col_id, + const char *str); + +extern void ui_table_header_color_set(struct ui_table *tbl, int color); +extern void ui_table_header_print(struct ui_table *tbl); + +#endif /* UI_H */ |