Move CLUTtoQColor to inside levelonepage class

This commit is contained in:
G.K.MacGregor
2021-01-19 18:27:30 +00:00
parent 93e16c70e5
commit a16c10ab46
4 changed files with 19 additions and 18 deletions

View File

@@ -377,6 +377,13 @@ void LevelOnePage::setCLUT(int index, int newColour)
m_CLUT[index] = 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 bool LevelOnePage::isPaletteDefault(int colour) const
{ {
return m_CLUT[colour] == m_defaultCLUT[colour]; return m_CLUT[colour] == m_defaultCLUT[colour];
@@ -486,8 +493,3 @@ void LevelOnePage::setComposeLinkSubPageCodes(int linkNumber, int newSubPageCode
{ {
m_composeLink[linkNumber].subPageCodes = newSubPageCodes; m_composeLink[linkNumber].subPageCodes = newSubPageCodes;
} }
QColor CLUTtoQColor(int myColour)
{
return QColor(((myColour & 0xf00) >> 8) * 17, ((myColour & 0x0f0) >> 4) * 17, (myColour & 0x00f) * 17);
}

View File

@@ -28,8 +28,6 @@
#include "pagex26base.h" #include "pagex26base.h"
#include "x26triplets.h" #include "x26triplets.h"
QColor CLUTtoQColor(int myColour);
class LevelOnePage : public PageX26Base //: public QObject class LevelOnePage : public PageX26Base //: public QObject
{ {
//Q_OBJECT //Q_OBJECT
@@ -81,6 +79,7 @@ public:
void setBlackBackgroundSubst(bool); void setBlackBackgroundSubst(bool);
int CLUT(int index, int renderLevel=3) const; int CLUT(int index, int renderLevel=3) const;
void setCLUT(int, int); void setCLUT(int, int);
QColor CLUTtoQColor(int index, int renderlevel=3) const;
bool isPaletteDefault(int) const; bool isPaletteDefault(int) const;
bool isPaletteDefault(int, int) const; bool isPaletteDefault(int, int) const;
int levelRequired() const; int levelRequired() const;

View File

@@ -96,7 +96,7 @@ void PaletteDockWidget::showEvent(QShowEvent *event)
void PaletteDockWidget::selectColour(int colourIndex) 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()) { if (newColour.isValid()) {
QUndoCommand *setColourCommand = new SetColourCommand(m_parentMainWidget->document(), colourIndex, ((newColour.red() & 0xf0) << 4) | (newColour.green() & 0xf0) | ((newColour.blue() & 0xf0) >> 4)); QUndoCommand *setColourCommand = new SetColourCommand(m_parentMainWidget->document(), colourIndex, ((newColour.red() & 0xf0) << 4) | (newColour.green() & 0xf0) | ((newColour.blue() & 0xf0) >> 4));

View File

@@ -474,11 +474,11 @@ void TeletextPageRender::renderPage(int r)
m_cell[r][c].rightHalf = applyRightHalf; m_cell[r][c].rightHalf = applyRightHalf;
if (!resultAttributes.display.invert) { if (!resultAttributes.display.invert) {
foreQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.foreColour, m_renderLevel)); foreQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.foreColour, m_renderLevel);
backQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.backColour, m_renderLevel)); backQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.backColour, m_renderLevel);
} else { } else {
foreQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.backColour, m_renderLevel)); foreQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.backColour, m_renderLevel);
backQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.foreColour, m_renderLevel)); backQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.foreColour, m_renderLevel);
} }
renderCharacter(); renderCharacter();
@@ -557,11 +557,11 @@ void TeletextPageRender::renderPage(int r)
underlined = false; underlined = false;
} }
if (!resultAttributes.display.invert) { if (!resultAttributes.display.invert) {
foreQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.foreColour, m_renderLevel)); foreQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.foreColour, m_renderLevel);
backQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.backColour, m_renderLevel)); backQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.backColour, m_renderLevel);
} else { } else {
foreQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.backColour, m_renderLevel)); foreQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.backColour, m_renderLevel);
backQColour = CLUTtoQColor(m_levelOnePage->CLUT(resultAttributes.foreColour, m_renderLevel)); backQColour = m_levelOnePage->CLUTtoQColor(resultAttributes.foreColour, m_renderLevel);
} }
if (resultAttributes.flash.ratePhase == 0) { if (resultAttributes.flash.ratePhase == 0) {
// 1Hz flash // 1Hz flash
@@ -634,7 +634,7 @@ inline void TeletextPageRender::setFullScreenColour(int newColour)
emit fullScreenColourChanged(QColor(0, 0, 0, 0)); emit fullScreenColourChanged(QColor(0, 0, 0, 0));
return; return;
} }
QColor newFullScreenQColor = CLUTtoQColor(m_levelOnePage->CLUT(newColour, m_renderLevel)); QColor newFullScreenQColor = m_levelOnePage->CLUTtoQColor(newColour, m_renderLevel);
m_finalFullScreenColour = newColour; m_finalFullScreenColour = newColour;
if (m_finalFullScreenQColor != newFullScreenQColor) { if (m_finalFullScreenQColor != newFullScreenQColor) {
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)); emit fullRowColourChanged(row, QColor(0, 0, 0, 0));
return; return;
} }
QColor newFullRowQColor = CLUTtoQColor(m_levelOnePage->CLUT(newColour, m_renderLevel)); QColor newFullRowQColor = m_levelOnePage->CLUTtoQColor(newColour, m_renderLevel);
m_fullRowColour[row] = newColour; m_fullRowColour[row] = newColour;
if (m_fullRowQColor[row] != newFullRowQColor) { if (m_fullRowQColor[row] != newFullRowQColor) {
m_fullRowQColor[row] = newFullRowQColor; m_fullRowQColor[row] = newFullRowQColor;