From 9c85afa285764742bea4e26d45b64a0587ff5c55 Mon Sep 17 00:00:00 2001 From: Eugenio Parodi Date: Tue, 19 Sep 2023 17:21:48 +0100 Subject: [PATCH] Added environment variable to enable the new drawing routine --- TermTk/TTkCore/canvas.py | 2 +- TermTk/TTkCore/cfg.py | 1 + TermTk/TTkCore/helper.py | 2 ++ TermTk/TTkCore/ttk.py | 4 ++++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/TermTk/TTkCore/canvas.py b/TermTk/TTkCore/canvas.py index b91cb177..eab9dbfb 100644 --- a/TermTk/TTkCore/canvas.py +++ b/TermTk/TTkCore/canvas.py @@ -760,7 +760,7 @@ class TTkCanvas: self._bufferedData, self._bufferedColors = data, colors self._data, self._colors = oldData, oldColors - def pushToTerminalBufferedOld(self, x, y, w, h): + def pushToTerminalBufferedNew(self, x, y, w, h): # TTkLog.debug("pushToTerminal") data, colors = self._data, self._colors oldData, oldColors = self._bufferedData, self._bufferedColors diff --git a/TermTk/TTkCore/cfg.py b/TermTk/TTkCore/cfg.py index 92400da3..59caa440 100644 --- a/TermTk/TTkCore/cfg.py +++ b/TermTk/TTkCore/cfg.py @@ -33,6 +33,7 @@ class TTkCfg: toolTipTime = 1 maxFps = 65 doubleBuffer = True + doubleBufferNew = False scrollDelta = 5 theme = None diff --git a/TermTk/TTkCore/helper.py b/TermTk/TTkCore/helper.py index 94162a14..4ac70cf8 100644 --- a/TermTk/TTkCore/helper.py +++ b/TermTk/TTkCore/helper.py @@ -329,6 +329,8 @@ class TTkHelper: TTkTerm.Cursor.hide() if TTkCfg.doubleBuffer: TTkHelper._rootCanvas.pushToTerminalBuffered(0, 0, TTkGlbl.term_w, TTkGlbl.term_h) + elif TTkCfg.doubleBufferNew: + TTkHelper._rootCanvas.pushToTerminalBufferedNew(0, 0, TTkGlbl.term_w, TTkGlbl.term_h) else: TTkHelper._rootCanvas.pushToTerminal(0, 0, TTkGlbl.term_w, TTkGlbl.term_h) if TTkHelper._cursor: diff --git a/TermTk/TTkCore/ttk.py b/TermTk/TTkCore/ttk.py index 8bb0c0fa..fe0347cf 100644 --- a/TermTk/TTkCore/ttk.py +++ b/TermTk/TTkCore/ttk.py @@ -113,6 +113,10 @@ class TTk(TTkContainer): w,h = TTkTerm.getTerminalSize() self.setGeometry(0,0,w,h) + if 'TERMTK_NEWRENDERER' in os.environ: + TTkCfg.doubleBuffer = False + TTkCfg.doubleBufferNew = True + TTkHelper.registerRootWidget(self) frame = 0