lcdRefresh() already does switch the layers, no need to do it 2 steps

This commit is contained in:
Raphael Coeffic
2021-05-22 18:18:25 +02:00
parent 67ede465aa
commit 52b3388062
2 changed files with 5 additions and 4 deletions
+4
View File
@@ -430,5 +430,9 @@ class BitmapBuffer: public BitmapBufferBase<pixel_t>
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;
+1 -4
View File
@@ -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());