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