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;
}
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);
}

View File

@@ -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;

View File

@@ -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));

View File

@@ -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;