6 enum { TUI_INFO, TUI_WARN, TUI_ERROR };
9 typedef void (*tui_callback)(struct tui_widget*, void*);
12 enum { TUI_UNKNOWN, TUI_WINDOW, TUI_BUTTON, TUI_LIST };
21 void tui_shutdown(void);
23 struct tui_widget *tui_widget(int type);
24 void tui_free(struct tui_widget *w);
26 void tui_add_widget(struct tui_widget *par, struct tui_widget *w);
27 void tui_remove_widget(struct tui_widget *par, struct tui_widget *w);
28 struct tui_widget *tui_parent(struct tui_widget *w);
30 void tui_draw(struct tui_widget *w);
32 void tui_set_callback(struct tui_widget *w, int type, tui_callback func, void *cls);
34 struct tui_widget *tui_window(const char *title, int x, int y, int w, int h);
35 struct tui_widget *tui_button(const char *title, int x, int y, tui_callback cbfunc, void *cbdata);
36 struct tui_widget *tui_list(const char *title, int x, int y, int w, int h, tui_callback cbfunc, void *cbdata);
38 void tui_clear_list(struct tui_widget *w);
39 void tui_add_list_item(struct tui_widget *w, const char *text);
41 void tui_wtoscr(struct tui_widget *w, int x, int y, int *retx, int *rety);
42 void tui_scrtow(struct tui_widget *w, int x, int y, int *retx, int *rety);
44 void tui_status(int type, const char *fmt, ...);
45 void tui_vstatus(int type, const char *fmt, va_list ap);
46 void tui_msgbox(int type, const char *title, const char *msg, ...);
47 void tui_vmsgbox(int type, const char *title, const char *msg, va_list ap);