aboutsummaryrefslogtreecommitdiffstats
path: root/Library/UefiShellUfmCommandLib/tbi/win.c
diff options
context:
space:
mode:
authorJoursoir <chat@joursoir.net>2021-12-10 21:14:43 +0300
committerJoursoir <chat@joursoir.net>2021-12-10 21:14:43 +0300
commit0fbd4f2423d3f09764d0f0b31131683dc7522092 (patch)
treefee162033fc2881d642e4e863f6b48dbe702a399 /Library/UefiShellUfmCommandLib/tbi/win.c
parent235d3f2db54d1f745dca618ed2ca236cf6e84245 (diff)
downloadufm-0fbd4f2423d3f09764d0f0b31131683dc7522092.tar.gz
ufm-0fbd4f2423d3f09764d0f0b31131683dc7522092.tar.bz2
ufm-0fbd4f2423d3f09764d0f0b31131683dc7522092.zip
tbi/win: make waddch(), mvwaddch()
Diffstat (limited to 'Library/UefiShellUfmCommandLib/tbi/win.c')
-rw-r--r--Library/UefiShellUfmCommandLib/tbi/win.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/Library/UefiShellUfmCommandLib/tbi/win.c b/Library/UefiShellUfmCommandLib/tbi/win.c
index bada79e..13183b2 100644
--- a/Library/UefiShellUfmCommandLib/tbi/win.c
+++ b/Library/UefiShellUfmCommandLib/tbi/win.c
@@ -216,6 +216,37 @@ BOOLEAN whline(struct window *w, INT32 x, INT32 y, CHAR16 ch, INT32 attr, UINTN
return TRUE;
}
+VOID waddch(struct window *w, CHAR16 ch, INT32 attr)
+{
+ INT32 x = w->curx
+ INT32 y = w->cury;
+
+ if(x >= w->width) {
+ w->curx = 0;
+ if(++w->cury >= w->height)
+ w->cury = 0;
+ }
+ else
+ w->curx += 1;
+
+ if(ch != 0)
+ w->text[y][x] = ch;
+ if(attr != -1)
+ w->attr[y][x] = attr;
+}
+
+BOOLEAN mvwaddch(struct window *w, INT32 x, INT32 y, CHAR16 ch, INT32 attr)
+{
+ BOOLEAN moved;
+
+ moved = wmove(w, x, y);
+ if(moved == FALSE)
+ return FALSE;
+
+ waddch(w, ch, attr);
+ return TRUE;
+}
+
UINTN EFIAPI wprintf(struct window *w, CONST CHAR16 *fmt, ...)
{
VA_LIST arg;