From 6dd0c4747aa57227b5898fc639e3f2b643ce013c Mon Sep 17 00:00:00 2001 From: "Gabriel A. Giovanini" Date: Mon, 15 Apr 2024 22:16:28 +0200 Subject: feat: Remove C implementation --- lib/ui.c | 105 --------------------------------------------------------------- 1 file changed, 105 deletions(-) delete mode 100644 lib/ui.c (limited to 'lib/ui.c') diff --git a/lib/ui.c b/lib/ui.c deleted file mode 100644 index cd54cd4..0000000 --- a/lib/ui.c +++ /dev/null @@ -1,105 +0,0 @@ -#define NCURSES_WIDECHAR 1 - -#include -#include -#include -#include -#include -#include "ui.h" - -const char *uload = "█"; - -PROGRESS_BAR* new_progress_bar(WINDOW* scr, float total) -{ - PROGRESS_BAR *bar = (PROGRESS_BAR*)malloc(sizeof(PROGRESS_BAR)); - bar->scr = scr; - bar->total = total; - bar->current = 0; - return bar; -} - -void bar_step(PROGRESS_BAR* bar, float step) -{ - bar->current += step; - - int x, y; - int hx, hy; - - getmaxyx(bar->scr, y, x); - - hx = x/2; - hy = y/2; - - float total = (bar->current/bar->total); - - wmove(bar->scr, hy-1, 0); - for (int i = 0; i < ((float)x*total); i++) - wprintw(bar->scr, uload); - - wmove(bar->scr, hy, hx-4); - wprintw(bar->scr,"%03.0f%% ", total*100); - - int len = floor(log10(abs((int)bar->total))) + 3; - - wmove(bar->scr, hy+1, hx - len); - wprintw(bar->scr, "%.0f/%.0f", bar->current, bar->total); - - wmove(bar->scr,0,0); - wrefresh(bar->scr); -} - -TEXT_BOX* new_text_box(WINDOW* scr, int length) -{ - TEXT_BOX *text = (TEXT_BOX*)malloc(sizeof(TEXT_BOX)); - text->scr = scr; - text->length = length; - text->current = 0; - text->text = malloc(sizeof(char)*(length+1)); - memset(text->text, '\0', length); - box(scr, 0,0); - return text; -} - -void get_char(TEXT_BOX* text, void (*sch)(char*, int)) -{ - while(1) { - wchar_t c; - get_wch((wint_t*)&c); - - switch(c) { - case KEY_BACKSPACE: - if (text->current > 0) { - text->text[text->current--] = '\0'; - } - break; - default: - if (text->current < (text->length-2)) { - text->text[text->current] = c; - text->text[++text->current] = '\0'; - } - } - - char str[text->length]; - wcstombs(str, text->text, sizeof(text->text)); - sch(str, (int)strlen(str)); - - 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); -} -- cgit v1.2.3