diff options
author | Joursoir <chat@joursoir.net> | 2021-11-29 16:19:22 +0300 |
---|---|---|
committer | Joursoir <chat@joursoir.net> | 2021-11-29 16:19:22 +0300 |
commit | 16c83b50e88a3f4bb344a918c4ebe4cae5a38e31 (patch) | |
tree | fb5c9d283e1c1f0d31b00ec8c94bd11f842fcaf0 | |
parent | fc34983b91dcababe019ca63721ea2bcd2ac1b6a (diff) | |
download | ufm-16c83b50e88a3f4bb344a918c4ebe4cae5a38e31.tar.gz ufm-16c83b50e88a3f4bb344a918c4ebe4cae5a38e31.tar.bz2 ufm-16c83b50e88a3f4bb344a918c4ebe4cae5a38e31.zip |
menu-bar: not use a global variable
-rw-r--r-- | Library/UefiShellUfmCommandLib/menu-bar.c | 27 | ||||
-rw-r--r-- | Library/UefiShellUfmCommandLib/menu-bar.h | 6 |
2 files changed, 20 insertions, 13 deletions
diff --git a/Library/UefiShellUfmCommandLib/menu-bar.c b/Library/UefiShellUfmCommandLib/menu-bar.c index ff1ac7e..0503388 100644 --- a/Library/UefiShellUfmCommandLib/menu-bar.c +++ b/Library/UefiShellUfmCommandLib/menu-bar.c @@ -4,22 +4,27 @@ #include "tbi/win.h" #include "menu-bar.h" -struct window *menubar = NULL; - -BOOLEAN init_menubar(struct screen *scr) +struct window *init_menubar(struct screen *scr) { - menubar = newwin(scr, scr->columns, 1, 0, 0); + struct window *menubar = newwin(scr, scr->columns, 1, 0, 0); if(!menubar) - return FALSE; + return NULL; - wrefresh(menubar); - return TRUE; + mvwprintf(menubar, 0, 0, L"Menu bar"); + menubar_refresh(menubar); + return menubar; } -VOID free_menubar(VOID) +VOID free_menubar(struct window *w) { - ASSERT(menubar != NULL); + ASSERT(w != NULL); + + delwin(w); +} - delwin(menubar); - menubar = NULL; +VOID menubar_refresh(struct window *w) +{ + ASSERT(w != NULL); + + wrefresh(w); } diff --git a/Library/UefiShellUfmCommandLib/menu-bar.h b/Library/UefiShellUfmCommandLib/menu-bar.h index 9012f9f..85e1ce7 100644 --- a/Library/UefiShellUfmCommandLib/menu-bar.h +++ b/Library/UefiShellUfmCommandLib/menu-bar.h @@ -10,8 +10,10 @@ #include <Uefi.h> struct screen; +struct window; -BOOLEAN init_menubar(struct screen *scr); -VOID free_menubar(VOID); +struct window *init_menubar(struct screen *scr); +VOID free_menubar(struct window *w); +VOID menubar_refresh(struct window *w); #endif /* UFM_MENU_BAR_H */ |