From 25b3356b926e71d25fddef998021e66d7c1a7557 Mon Sep 17 00:00:00 2001 From: NPScript Date: Mon, 20 Dec 2021 18:19:17 +0100 Subject: init commit --- tui.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tui.h (limited to 'tui.h') diff --git a/tui.h b/tui.h new file mode 100644 index 0000000..d625478 --- /dev/null +++ b/tui.h @@ -0,0 +1,52 @@ +#ifndef TUI_H +#define TUI_H + +#include + +#define VLINE "│" +#define HLINE "─" +#define TLCORNER "┌" +#define BLCORNER "└" +#define TRCORNER "┐" +#define BRCORNER "┘" +#define LTEE "├" +#define RTEE "┤" +#define BTEE "┴" +#define TTEE "┬" +#define PLUS "─" +#define RGB(t, r, g, b) "\033[38;2;" #r ";" #g ";" #b "m" t "\033[0m" +#define SET_COLOR(r, g, b) printf("\033[38;2;" #r ";" #g ";" #b "m") +#define RESET_VIDEO() printf("\033[0m") +#define INVERT() printf("\033[7m") +#define BOLD() printf("\033[1m") +#define SET_BG(r, g, b) printf("\033[48;2;" #r ";" #g ";" #b "m") + +typedef struct { + unsigned width; + unsigned height; + unsigned x; + unsigned y; + unsigned has_borders; +} Window; + +unsigned get_term_width(); +unsigned get_term_height(); + +unsigned get_cursor_x_position(); +unsigned get_cursor_y_position(); + +void inittui(); +void endtui(); + +char getch(); + +void printfxy(unsigned x, unsigned y, const char * fmt, ...); + +void printfxy_to_window(Window * win, int x, int y, const char * fmt, ...); +void draw_window(Window * win); + +int is_echo(); +void showecho(int echo); +void showcursor(int show); + +#endif -- cgit v1.2.3-70-g09d2