From: Minep Date: Sun, 25 Aug 2024 12:24:25 +0000 (+0100) Subject: optimize the menuconfig redrawing X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/commitdiff_plain/47c4e0c19ae8526b14ce4e0d7b243f7a4dc6fafd?ds=sidebyside optimize the menuconfig redrawing --- diff --git a/lunaix-os/scripts/build-tools/integration/libtui.py b/lunaix-os/scripts/build-tools/integration/libtui.py index 30e28f6..1441836 100644 --- a/lunaix-os/scripts/build-tools/integration/libtui.py +++ b/lunaix-os/scripts/build-tools/integration/libtui.py @@ -538,15 +538,13 @@ class TuiScrollable(TuiObject): if not self.__content: return - self.__pad.erase() - self.__pad_panel.top() self.__content.on_draw() wminy, wminx = self._pos.yx() wmaxy, wmaxx = self._size.yx() wmaxy, wmaxx = wmaxy + wminy, wmaxx + wminx - self.__pad.touchwin() + self.__pad.refresh(*self.__spos.yx(), wminy, wminx, wmaxy - 1, wmaxx - 1) @@ -718,7 +716,7 @@ class TuiPanel(TuiContainerObject): def on_draw(self): win = self.__swin.window() - win.erase() + win.noutrefresh() if self.__use_border: win.border() @@ -733,8 +731,6 @@ class TuiPanel(TuiContainerObject): super().on_draw() - win.touchwin() - class TuiLabel(TuiWidget): def __init__(self, context, id): super().__init__(context, id) @@ -1135,17 +1131,11 @@ class TuiSession: ctx.dispatch_event(EventType.E_QUIT, None) def __redraw(self): - self.stdsc.erase() - self.__win.erase() + self.__win.noutrefresh() self.active().redraw(self.__win) self.__panbg.bottom() - self.__win.touchwin() - self.__winbg.touchwin() - - self.__win.refresh() - self.__winbg.refresh() cpanel.update_panels() curses.doupdate()