From 52b3388062899225fd9a42e63340ea82fd986ce9 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Sat, 22 May 2021 12:40:14 +0200 Subject: [PATCH] lcdRefresh() already does switch the layers, no need to do it 2 steps --- radio/src/thirdparty/libopenui/src/bitmapbuffer.h | 4 ++++ radio/src/thirdparty/libopenui/src/mainwindow.cpp | 5 +---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/radio/src/thirdparty/libopenui/src/bitmapbuffer.h b/radio/src/thirdparty/libopenui/src/bitmapbuffer.h index 6d661ff16..93b88a1e5 100755 --- a/radio/src/thirdparty/libopenui/src/bitmapbuffer.h +++ b/radio/src/thirdparty/libopenui/src/bitmapbuffer.h @@ -430,5 +430,9 @@ class BitmapBuffer: public BitmapBufferBase bool liangBarskyClipper(coord_t& x1, coord_t& y1, coord_t& x2, coord_t& y2); }; +// Back buffer to draw extern BitmapBuffer * lcd; +// Buffer currently on display +extern BitmapBuffer * lcdFront; + diff --git a/radio/src/thirdparty/libopenui/src/mainwindow.cpp b/radio/src/thirdparty/libopenui/src/mainwindow.cpp index 03c761bd2..d535fdafc 100644 --- a/radio/src/thirdparty/libopenui/src/mainwindow.cpp +++ b/radio/src/thirdparty/libopenui/src/mainwindow.cpp @@ -104,13 +104,10 @@ bool MainWindow::refresh() if (invalidatedRect.w) { if (invalidatedRect.x > 0 || invalidatedRect.y > 0 || invalidatedRect.w < LCD_W || invalidatedRect.h < LCD_H) { TRACE_WINDOWS("Refresh rect: left=%d top=%d width=%d height=%d", invalidatedRect.left(), invalidatedRect.top(), invalidatedRect.w, invalidatedRect.h); - const BitmapBuffer * previous = lcd; - lcdNextLayer(); - lcdCopy(lcd->getData(), previous->getData()); + lcdCopy(lcd->getData(), lcdFront->getData()); } else { TRACE_WINDOWS("Refresh full screen"); - lcdNextLayer(); } lcd->setOffset(0, 0); lcd->setClippingRect(invalidatedRect.left(), invalidatedRect.right(), invalidatedRect.top(), invalidatedRect.bottom());