3.3 API Specification

/* Font management */
d3tui_font_t *d3tui_font_load(const char *path);
void d3tui_font_free(d3tui_font_t *font);

/* Render context */
d3tui_render_ctx_t *d3tui_render_create(uint16_t screen_w, uint16_t screen_h);
void d3tui_render_destroy(d3tui_render_ctx_t *ctx);

/* Configuration */
void d3tui_render_set_font(d3tui_render_ctx_t *ctx, d3tui_font_t *font);
void d3tui_render_set_colors(d3tui_render_ctx_t *ctx, 
                             uint32_t fg, uint32_t bg);
void d3tui_render_set_cell_size(d3tui_render_ctx_t *ctx, 
                                 uint16_t w, uint16_t h);

/* Drawing */
void d3tui_render_clear(d3tui_render_ctx_t *ctx);
void d3tui_render_char(d3tui_render_ctx_t *ctx, 
                        uint16_t x, uint16_t y, 
                        uint32_t codepoint);
void d3tui_render_text(d3tui_render_ctx_t *ctx, 
                        uint16_t x, uint16_t y, 
                        const char *text);
void d3tui_render_move_cursor(d3tui_render_ctx_t *ctx, 
                               uint16_t x, uint16_t y);

/* Flush */
void d3tui_render_flush(d3tui_render_ctx_t *ctx);