From a16c10ab464648e616923ca217c11c48b6e18ceb Mon Sep 17 00:00:00 2001 From: "G.K.MacGregor" Date: Tue, 19 Jan 2021 18:27:30 +0000 Subject: [PATCH] Move CLUTtoQColor to inside levelonepage class --- levelonepage.cpp | 12 +++++++----- levelonepage.h | 3 +-- palettedockwidget.cpp | 2 +- render.cpp | 20 ++++++++++---------- 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/levelonepage.cpp b/levelonepage.cpp index 1ee2f2a..88ff72c 100644 --- a/levelonepage.cpp +++ b/levelonepage.cpp @@ -377,6 +377,13 @@ void LevelOnePage::setCLUT(int index, int newColour) m_CLUT[index] = newColour; } +QColor LevelOnePage::CLUTtoQColor(int index, int renderLevel) const +{ + int colour12Bit = CLUT(index, renderLevel); + + return QColor(((colour12Bit & 0xf00) >> 8) * 17, ((colour12Bit & 0x0f0) >> 4) * 17, (colour12Bit & 0x00f) * 17); +} + bool LevelOnePage::isPaletteDefault(int colour) const { return m_CLUT[colour] == m_defaultCLUT[colour]; @@ -486,8 +493,3 @@ void LevelOnePage::setComposeLinkSubPageCodes(int linkNumber, int newSubPageCode { m_composeLink[linkNumber].subPageCodes = newSubPageCodes; } - -QColor CLUTtoQColor(int myColour) -{ - return QColor(((myColour & 0xf00) >> 8) * 17, ((myColour & 0x0f0) >> 4) * 17, (myColour & 0x00f) * 17); -} diff --git a/levelonepage.h b/levelonepage.h index 2711e03..98cbc5b 100644 --- a/levelonepage.h +++ b/levelonepage.h @@ -28,8 +28,6 @@ #include "pagex26base.h" #include "x26triplets.h" -QColor CLUTtoQColor(int myColour); - class LevelOnePage : public PageX26Base //: public QObject { //Q_OBJECT @@ -81,6 +79,7 @@ public: void setBlackBackgroundSubst(bool); int CLUT(int index, int renderLevel=3) const; void setCLUT(int, int); + QColor CLUTtoQColor(int index, int renderlevel=3) const; bool isPaletteDefault(int) const; bool isPaletteDefault(int, int) const; int levelRequired() const; diff --git a/palettedockwidget.cpp b/palettedockwidget.cpp index a8de98a..8387a5c 100644 --- a/palettedockwidget.cpp +++ b/palettedockwidget.cpp @@ -96,7 +96,7 @@ void PaletteDockWidget::showEvent(QShowEvent *event) void PaletteDockWidget::selectColour(int colourIndex) { - const QColor newColour = QColorDialog::getColor(CLUTtoQColor(m_parentMainWidget->document()->currentSubPage()->CLUT(colourIndex)), this, "Select Colour"); + const QColor newColour = QColorDialog::getColor(m_parentMainWidget->document()->currentSubPage()->CLUTtoQColor(colourIndex), this, "Select Colour"); if (newColour.isValid()) { QUndoCommand *setColourCommand = new SetColourCommand(m_parentMainWidget->document(), colourIndex, ((newColour.red() & 0xf0) << 4) | (newColour.green() & 0xf0) | ((newColour.blue() & 0xf0) >> 4)); diff --git a/render.cpp b/render.cpp index 0cb8bc1..a3b2f28 100644 --- a/render.cpp +++ b/render.cpp @@ -474,11 +474,11 @@ void TeletextPageRender::renderPage(int r) m_cell[r][c].rightHalf = applyRightHalf; if (!resultAttributes.display.invert) { - foreQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.foreColour, m_renderLevel)); - backQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.backColour, m_renderLevel)); + foreQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.foreColour, m_renderLevel); + backQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.backColour, m_renderLevel); } else { - foreQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.backColour, m_renderLevel)); - backQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.foreColour, m_renderLevel)); + foreQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.backColour, m_renderLevel); + backQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.foreColour, m_renderLevel); } renderCharacter(); @@ -557,11 +557,11 @@ void TeletextPageRender::renderPage(int r) underlined = false; } if (!resultAttributes.display.invert) { - foreQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.foreColour, m_renderLevel)); - backQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.backColour, m_renderLevel)); + foreQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.foreColour, m_renderLevel); + backQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.backColour, m_renderLevel); } else { - foreQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.backColour, m_renderLevel)); - backQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.foreColour, m_renderLevel)); + foreQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.backColour, m_renderLevel); + backQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.foreColour, m_renderLevel); } if (resultAttributes.flash.ratePhase == 0) { // 1Hz flash @@ -634,7 +634,7 @@ inline void TeletextPageRender::setFullScreenColour(int newColour) emit fullScreenColourChanged(QColor(0, 0, 0, 0)); return; } - QColor newFullScreenQColor = CLUTtoQColor(m_levelOnePage->CLUT(newColour, m_renderLevel)); + QColor newFullScreenQColor = m_levelOnePage->CLUTtoQColor(newColour, m_renderLevel); m_finalFullScreenColour = newColour; if (m_finalFullScreenQColor != newFullScreenQColor) { m_finalFullScreenQColor = newFullScreenQColor; @@ -649,7 +649,7 @@ inline void TeletextPageRender::setFullRowColour(int row, int newColour) emit fullRowColourChanged(row, QColor(0, 0, 0, 0)); return; } - QColor newFullRowQColor = CLUTtoQColor(m_levelOnePage->CLUT(newColour, m_renderLevel)); + QColor newFullRowQColor = m_levelOnePage->CLUTtoQColor(newColour, m_renderLevel); m_fullRowColour[row] = newColour; if (m_fullRowQColor[row] != newFullRowQColor) { m_fullRowQColor[row] = newFullRowQColor;