From ed821bde456eefb08c8c04a4d24186aa2032f6cf Mon Sep 17 00:00:00 2001 From: "G.K.MacGregor" Date: Sun, 14 May 2023 17:39:08 +0100 Subject: [PATCH] Use proper composition mode when copying lines to flash buffers --- render.cpp | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/render.cpp b/render.cpp index 85a0949..20cc23a 100644 --- a/render.cpp +++ b/render.cpp @@ -295,9 +295,7 @@ void TeletextPageRender::renderRow(int r, int ph, bool force) // the flashing cells in those buffers if (rowRefreshed && m_flashBuffersHz > 0) { pixmapPainter.begin(m_pagePixmap[3]); - pixmapPainter.setCompositionMode(QPainter::CompositionMode_Clear); - pixmapPainter.eraseRect(0, r*10, 864, 10); - pixmapPainter.setCompositionMode(QPainter::CompositionMode_SourceOver); + pixmapPainter.setCompositionMode(QPainter::CompositionMode_Source); pixmapPainter.drawPixmap(0, r*10, *m_pagePixmap[0], 0, r*10, 864, 10); pixmapPainter.end(); @@ -305,27 +303,19 @@ void TeletextPageRender::renderRow(int r, int ph, bool force) if (m_flashBuffersHz == 2) { pixmapPainter.begin(m_pagePixmap[1]); - pixmapPainter.setCompositionMode(QPainter::CompositionMode_Clear); - pixmapPainter.eraseRect(0, r*10, 864, 10); - pixmapPainter.setCompositionMode(QPainter::CompositionMode_SourceOver); + pixmapPainter.setCompositionMode(QPainter::CompositionMode_Source); pixmapPainter.drawPixmap(0, r*10, *m_pagePixmap[0], 0, r*10, 864, 10); pixmapPainter.end(); pixmapPainter.begin(m_pagePixmap[2]); - pixmapPainter.setCompositionMode(QPainter::CompositionMode_Clear); - pixmapPainter.eraseRect(0, r*10, 864, 10); - pixmapPainter.setCompositionMode(QPainter::CompositionMode_SourceOver); + pixmapPainter.setCompositionMode(QPainter::CompositionMode_Source); pixmapPainter.drawPixmap(0, r*10, *m_pagePixmap[0], 0, r*10, 864, 10); pixmapPainter.end(); pixmapPainter.begin(m_pagePixmap[4]); - pixmapPainter.setCompositionMode(QPainter::CompositionMode_Clear); - pixmapPainter.eraseRect(0, r*10, 864, 10); - pixmapPainter.setCompositionMode(QPainter::CompositionMode_SourceOver); + pixmapPainter.setCompositionMode(QPainter::CompositionMode_Source); pixmapPainter.drawPixmap(0, r*10, *m_pagePixmap[3], 0, r*10, 864, 10); pixmapPainter.end(); pixmapPainter.begin(m_pagePixmap[5]); - pixmapPainter.setCompositionMode(QPainter::CompositionMode_Clear); - pixmapPainter.eraseRect(0, r*10, 864, 10); - pixmapPainter.setCompositionMode(QPainter::CompositionMode_SourceOver); + pixmapPainter.setCompositionMode(QPainter::CompositionMode_Source); pixmapPainter.drawPixmap(0, r*10, *m_pagePixmap[3], 0, r*10, 864, 10); pixmapPainter.end();