aboutsummaryrefslogtreecommitdiff
path: root/lib/ui.c
diff options
context:
space:
mode:
authorgabrielgio <gabrielgio@workstation.lan>2024-02-17 21:55:15 +0100
committergabrielgio <gabrielgio@workstation.lan>2024-02-17 21:55:15 +0100
commitf2200e22b05c3801b722cd46617e7bcf64538d17 (patch)
treec3b6c53b39953cecbb316858c767dfde981051bb /lib/ui.c
parent0a2e62f57734f820cd20e151d1150342408552ed (diff)
downloaddict-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.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/ui.c b/lib/ui.c
index 3eae201..cd54cd4 100644
--- a/lib/ui.c
+++ b/lib/ui.c
@@ -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);
+}