#ifndef TERMINAL_TERMINAL_H #define TERMINAL_TERMINAL_H #include #include #include #include struct terminal { _window_handle_t window; uint8_t *pixbuf; uint32_t window_width; uint32_t window_height; struct font_info *font; uint32_t cols; uint32_t rows; char *charbuf; uint32_t cursor_y; uint32_t cursor_x; uint8_t fg; uint8_t bg; }; struct terminal *make_term(struct font_info *font, uint32_t cols, uint32_t rows); void del_term(struct terminal *term); extern struct terminal *active_term; void paint_term(); void set_color(uint8_t fg, uint8_t bg); void clear_term(); void move_cursor(uint32_t new_y, uint32_t new_x); void cursor_left(); void cursor_right(); void cursor_up(); void cursor_down(); void term_newline(); void term_add_char(char ch); void term_add_sz_no_ww(const char *sz); void term_add_sz(const char *sz); void term_addf_no_ww_v(const char *fmt, va_list args); void term_addf_no_ww(const char *fmt, ...); void term_addf_v(const char *fmt, va_list args); void term_addf(const char *fmt, ...); #endif