diff options
author | gabrielgio <gabrielgio@workstation.lan> | 2024-02-17 21:55:15 +0100 |
---|---|---|
committer | gabrielgio <gabrielgio@workstation.lan> | 2024-02-17 21:55:15 +0100 |
commit | f2200e22b05c3801b722cd46617e7bcf64538d17 (patch) | |
tree | c3b6c53b39953cecbb316858c767dfde981051bb /lib/ui.c | |
parent | 0a2e62f57734f820cd20e151d1150342408552ed (diff) | |
download | dict-f2200e22b05c3801b722cd46617e7bcf64538d17.tar.gz dict-f2200e22b05c3801b722cd46617e7bcf64538d17.tar.bz2 dict-f2200e22b05c3801b722cd46617e7bcf64538d17.zip |
feat: Add a more "refined" UI
Diffstat (limited to 'lib/ui.c')
-rw-r--r-- | lib/ui.c | 20 |
1 files changed, 18 insertions, 2 deletions
@@ -56,6 +56,7 @@ TEXT_BOX* new_text_box(WINDOW* scr, int length) text->current = 0; text->text = malloc(sizeof(char)*(length+1)); memset(text->text, '\0', length); + box(scr, 0,0); return text; } @@ -82,8 +83,23 @@ void get_char(TEXT_BOX* text, void (*sch)(char*, int)) wcstombs(str, text->text, sizeof(text->text)); sch(str, (int)strlen(str)); - move(0,0); - wrefresh(text->scr); + wmove(text->scr,1,1); wprintw(text->scr, "%*ls", text->current,text->text); + wrefresh(text->scr); } } + +PANEL* new_panel(WINDOW* scr) +{ + PANEL *panel = (PANEL*)malloc(sizeof(PANEL)); + panel->scr = scr; + box(scr, 0,0); + return panel; +} +void write_char(PANEL* panel, int l, char *text) +{ + int x = getmaxx(panel->scr); + wmove(panel->scr, l+1, 1); + wprintw(panel->scr, "%.*s", x-3, text); + wrefresh(panel->scr); +} |