Rename Level method and variable

This commit is contained in:
G.K.MacGregor
2022-05-02 22:24:04 +01:00
parent 50582a95a4
commit a8798260dc
3 changed files with 34 additions and 34 deletions

View File

@@ -27,7 +27,7 @@
TeletextPageDecode::TeletextPageDecode() TeletextPageDecode::TeletextPageDecode()
{ {
m_renderLevel = 0; m_level = 0;
for (int r=0; r<25; r++) for (int r=0; r<25; r++)
for (int c=0; c<72; c++) for (int c=0; c<72; c++)
@@ -64,11 +64,11 @@ void TeletextPageDecode::setTeletextPage(LevelOnePage *newCurrentPage)
updateSidePanels(); updateSidePanels();
} }
void TeletextPageDecode::setRenderLevel(int newRenderLevel) void TeletextPageDecode::setLevel(int level)
{ {
if (newRenderLevel == m_renderLevel) if (level == m_level)
return; return;
m_renderLevel = newRenderLevel; m_level = level;
decodePage(); decodePage();
} }
@@ -77,12 +77,12 @@ void TeletextPageDecode::updateSidePanels()
int oldLeftSidePanelColumns = m_leftSidePanelColumns; int oldLeftSidePanelColumns = m_leftSidePanelColumns;
int oldRightSidePanelColumns = m_rightSidePanelColumns; int oldRightSidePanelColumns = m_rightSidePanelColumns;
if (m_renderLevel >= (3-m_levelOnePage->sidePanelStatusL25()) && m_levelOnePage->leftSidePanelDisplayed()) if (m_level >= (3-m_levelOnePage->sidePanelStatusL25()) && m_levelOnePage->leftSidePanelDisplayed())
m_leftSidePanelColumns = (m_levelOnePage->sidePanelColumns() == 0) ? 16 : m_levelOnePage->sidePanelColumns(); m_leftSidePanelColumns = (m_levelOnePage->sidePanelColumns() == 0) ? 16 : m_levelOnePage->sidePanelColumns();
else else
m_leftSidePanelColumns = 0; m_leftSidePanelColumns = 0;
if (m_renderLevel >= (3-m_levelOnePage->sidePanelStatusL25()) && m_levelOnePage->rightSidePanelDisplayed()) if (m_level >= (3-m_levelOnePage->sidePanelStatusL25()) && m_levelOnePage->rightSidePanelDisplayed())
m_rightSidePanelColumns = 16-m_levelOnePage->sidePanelColumns(); m_rightSidePanelColumns = 16-m_levelOnePage->sidePanelColumns();
else else
m_rightSidePanelColumns = 0; m_rightSidePanelColumns = 0;
@@ -107,33 +107,33 @@ void TeletextPageDecode::buildEnhanceMap(TextLayer *enhanceLayer, int tripletNum
// Row address group // Row address group
switch (x26Triplet->mode()) { switch (x26Triplet->mode()) {
case 0x00: // Full screen colour case 0x00: // Full screen colour
if (m_renderLevel >= 2 && ((x26Triplet->data() & 0x60) == 0x00) && !activePosition.isDeployed()) if (m_level >= 2 && ((x26Triplet->data() & 0x60) == 0x00) && !activePosition.isDeployed())
enhanceLayer->setFullScreenColour(x26Triplet->data()); enhanceLayer->setFullScreenColour(x26Triplet->data());
break; break;
case 0x01: // Full row colour case 0x01: // Full row colour
if (m_renderLevel >= 2 && activePosition.setRow(x26Triplet->addressRow()) && ((x26Triplet->data() & 0x60) == 0x00 || (x26Triplet->data() & 0x60) == 0x60)) if (m_level >= 2 && activePosition.setRow(x26Triplet->addressRow()) && ((x26Triplet->data() & 0x60) == 0x00 || (x26Triplet->data() & 0x60) == 0x60))
enhanceLayer->setFullRowColour(activePosition.row(), x26Triplet->data() & 0x1f, (x26Triplet->data() & 0x60) == 0x60); enhanceLayer->setFullRowColour(activePosition.row(), x26Triplet->data() & 0x1f, (x26Triplet->data() & 0x60) == 0x60);
break; break;
case 0x04: // Set active position case 0x04: // Set active position
if (activePosition.setRow(x26Triplet->addressRow()) && m_renderLevel >= 2 && x26Triplet->data() < 40) if (activePosition.setRow(x26Triplet->addressRow()) && m_level >= 2 && x26Triplet->data() < 40)
activePosition.setColumn(x26Triplet->data()); activePosition.setColumn(x26Triplet->data());
break; break;
case 0x07: // Address row 0 case 0x07: // Address row 0
if (x26Triplet->address() == 0x3f && !activePosition.isDeployed()) { if (x26Triplet->address() == 0x3f && !activePosition.isDeployed()) {
activePosition.setRow(0); activePosition.setRow(0);
activePosition.setColumn(8); activePosition.setColumn(8);
if (m_renderLevel >= 2 && ((x26Triplet->data() & 0x60) == 0x00 || (x26Triplet->data() & 0x60) == 0x60)) if (m_level >= 2 && ((x26Triplet->data() & 0x60) == 0x00 || (x26Triplet->data() & 0x60) == 0x60))
enhanceLayer->setFullRowColour(0, x26Triplet->data() & 0x1f, (x26Triplet->data() & 0x60) == 0x60); enhanceLayer->setFullRowColour(0, x26Triplet->data() & 0x1f, (x26Triplet->data() & 0x60) == 0x60);
} }
break; break;
case 0x10: // Origin modifier case 0x10: // Origin modifier
if (m_renderLevel >= 2 && (tripletNumber+1) < m_levelOnePage->enhancements()->size() && m_levelOnePage->enhancements()->at(tripletNumber+1).mode() >= 0x11 && m_levelOnePage->enhancements()->at(tripletNumber+1).mode() <= 0x13 && x26Triplet->address() >= 40 && x26Triplet->data() < 72) { if (m_level >= 2 && (tripletNumber+1) < m_levelOnePage->enhancements()->size() && m_levelOnePage->enhancements()->at(tripletNumber+1).mode() >= 0x11 && m_levelOnePage->enhancements()->at(tripletNumber+1).mode() <= 0x13 && x26Triplet->address() >= 40 && x26Triplet->data() < 72) {
originModifierR = x26Triplet->address()-40; originModifierR = x26Triplet->address()-40;
originModifierC = x26Triplet->data(); originModifierC = x26Triplet->data();
} }
break; break;
case 0x11 ... 0x13: // Invoke Object case 0x11 ... 0x13: // Invoke Object
if (m_renderLevel >= 2) { if (m_level >= 2) {
if ((x26Triplet->address() & 0x18) == 0x08) { if ((x26Triplet->address() & 0x18) == 0x08) {
// Local Object // Local Object
// Check if the pointer in the Invocation triplet is valid // Check if the pointer in the Invocation triplet is valid
@@ -157,9 +157,9 @@ void TeletextPageDecode::buildEnhanceMap(TextLayer *enhanceLayer, int tripletNum
if (enhanceLayer->objectType() >= (x26Triplet->mode() & 0x03)) if (enhanceLayer->objectType() >= (x26Triplet->mode() & 0x03))
break; break;
// Is the object required at the current presentation Level? // Is the object required at the current presentation Level?
if (m_renderLevel == 2 && (m_levelOnePage->enhancements()->at(tripletPointer).address() & 0x08) == 0x00) if (m_level == 2 && (m_levelOnePage->enhancements()->at(tripletPointer).address() & 0x08) == 0x00)
break; break;
if (m_renderLevel == 3 && (m_levelOnePage->enhancements()->at(tripletPointer).address() & 0x10) == 0x00) if (m_level == 3 && (m_levelOnePage->enhancements()->at(tripletPointer).address() & 0x10) == 0x00)
break; break;
EnhanceLayer *newLayer = new EnhanceLayer; EnhanceLayer *newLayer = new EnhanceLayer;
m_textLayer.push_back(newLayer); m_textLayer.push_back(newLayer);
@@ -185,7 +185,7 @@ void TeletextPageDecode::buildEnhanceMap(TextLayer *enhanceLayer, int tripletNum
switch (x26Triplet->mode()) { switch (x26Triplet->mode()) {
// First we deal with column triplets that are also valid at Level 1.5 // First we deal with column triplets that are also valid at Level 1.5
case 0x0b: // G3 mosaic character at Level 2.5 case 0x0b: // G3 mosaic character at Level 2.5
if (m_renderLevel <= 1) if (m_level <= 1)
break; break;
// fall-through // fall-through
case 0x02: // G3 mosaic character at Level 1.5 case 0x02: // G3 mosaic character at Level 1.5
@@ -202,7 +202,7 @@ void TeletextPageDecode::buildEnhanceMap(TextLayer *enhanceLayer, int tripletNum
columnTripletActioned = false; columnTripletActioned = false;
} }
// All remaining possible column triplets at Level 2.5 affect the Active Position // All remaining possible column triplets at Level 2.5 affect the Active Position
if (m_renderLevel >= 2 && !columnTripletActioned && activePosition.setColumn(x26Triplet->addressColumn())) if (m_level >= 2 && !columnTripletActioned && activePosition.setColumn(x26Triplet->addressColumn()))
enhanceLayer->enhanceMap.insert(qMakePair(activePosition.row(), activePosition.column()), qMakePair(x26Triplet->mode() | 0x20, x26Triplet->data())); enhanceLayer->enhanceMap.insert(qMakePair(activePosition.row(), activePosition.column()), qMakePair(x26Triplet->mode() | 0x20, x26Triplet->data()));
} }
tripletNumber++; tripletNumber++;
@@ -228,15 +228,15 @@ void TeletextPageDecode::decodePage()
m_textLayer.pop_back(); m_textLayer.pop_back();
} }
renderedFullScreenColour = (m_renderLevel >= 2) ? m_levelOnePage->defaultScreenColour() : 0; renderedFullScreenColour = (m_level >= 2) ? m_levelOnePage->defaultScreenColour() : 0;
downwardsFullRowColour = (m_renderLevel >= 2) ? m_levelOnePage->defaultRowColour() : 0; downwardsFullRowColour = (m_level >= 2) ? m_levelOnePage->defaultRowColour() : 0;
setFullScreenColour(renderedFullScreenColour); setFullScreenColour(renderedFullScreenColour);
for (int r=0; r<25; r++) for (int r=0; r<25; r++)
setFullRowColour(r, downwardsFullRowColour); setFullRowColour(r, downwardsFullRowColour);
m_textLayer[1]->enhanceMap.clear(); m_textLayer[1]->enhanceMap.clear();
if (m_renderLevel > 0 && !m_levelOnePage->enhancements()->isEmpty()) { if (m_level > 0 && !m_levelOnePage->enhancements()->isEmpty()) {
m_textLayer[1]->setFullScreenColour(-1); m_textLayer[1]->setFullScreenColour(-1);
for (int r=0; r<25; r++) for (int r=0; r<25; r++)
m_textLayer[1]->setFullRowColour(r, -1, false); m_textLayer[1]->setFullRowColour(r, -1, false);
@@ -245,7 +245,7 @@ void TeletextPageDecode::decodePage()
if (m_textLayer.size() > 2) if (m_textLayer.size() > 2)
std::stable_sort(m_textLayer.begin()+2, m_textLayer.end(), compareLayer); std::stable_sort(m_textLayer.begin()+2, m_textLayer.end(), compareLayer);
if (m_renderLevel >= 2) { if (m_level >= 2) {
if (m_textLayer[1]->fullScreenColour() != -1) if (m_textLayer[1]->fullScreenColour() != -1)
downwardsFullRowColour = m_textLayer[1]->fullScreenColour(); downwardsFullRowColour = m_textLayer[1]->fullScreenColour();
for (int r=0; r<25; r++) { for (int r=0; r<25; r++) {
@@ -309,13 +309,13 @@ void TeletextPageDecode::decodeRow(int r)
} }
if (layerApplyAttributes.applyForeColour) { if (layerApplyAttributes.applyForeColour) {
resultAttributes.foreColour = layerApplyAttributes.attribute.foreColour; resultAttributes.foreColour = layerApplyAttributes.attribute.foreColour;
if (l == 0 && m_renderLevel >= 2) if (l == 0 && m_level >= 2)
resultAttributes.foreColour |= m_foregroundRemap[m_levelOnePage->colourTableRemap()]; resultAttributes.foreColour |= m_foregroundRemap[m_levelOnePage->colourTableRemap()];
} }
if (layerApplyAttributes.applyBackColour) { if (layerApplyAttributes.applyBackColour) {
resultAttributes.backColour = layerApplyAttributes.attribute.backColour; resultAttributes.backColour = layerApplyAttributes.attribute.backColour;
if (l == 0) { if (l == 0) {
if (m_renderLevel >= 2) if (m_level >= 2)
if (resultAttributes.backColour == 0x20) if (resultAttributes.backColour == 0x20)
resultAttributes.backColour = (c > 39 || m_levelOnePage->blackBackgroundSubst()) ? m_fullRowColour[r] : m_backgroundRemap[m_levelOnePage->colourTableRemap()]; resultAttributes.backColour = (c > 39 || m_levelOnePage->blackBackgroundSubst()) ? m_fullRowColour[r] : m_backgroundRemap[m_levelOnePage->colourTableRemap()];
else else
@@ -349,7 +349,7 @@ void TeletextPageDecode::decodeRow(int r)
if (m_textLayer[l]->objectType() <= 1) if (m_textLayer[l]->objectType() <= 1)
underlyingAttributes = resultAttributes; underlyingAttributes = resultAttributes;
if (m_renderLevel == 0) if (m_level == 0)
break; break;
} }
@@ -486,11 +486,11 @@ QColor TeletextPageDecode::cellQColor(int r, int c, ColourPart colourPart)
if (rowColour == 8) if (rowColour == 8)
return QColor(Qt::transparent); return QColor(Qt::transparent);
else else
return m_levelOnePage->CLUTtoQColor(rowColour, m_renderLevel); return m_levelOnePage->CLUTtoQColor(rowColour, m_level);
} else if (!cell.attribute.display.boxingWindow && newsFlashOrSubtitle) } else if (!cell.attribute.display.boxingWindow && newsFlashOrSubtitle)
return QColor(Qt::transparent); return QColor(Qt::transparent);
return m_levelOnePage->CLUTtoQColor(resultCLUT, m_renderLevel); return m_levelOnePage->CLUTtoQColor(resultCLUT, m_level);
} }
QColor TeletextPageDecode::cellForegroundQColor(int r, int c) QColor TeletextPageDecode::cellForegroundQColor(int r, int c)
@@ -542,7 +542,7 @@ inline void TeletextPageDecode::setFullScreenColour(int newColour)
emit fullScreenColourChanged(QColor(0, 0, 0, 0)); emit fullScreenColourChanged(QColor(0, 0, 0, 0));
return; return;
} }
QColor newFullScreenQColor = m_levelOnePage->CLUTtoQColor(newColour, m_renderLevel); QColor newFullScreenQColor = m_levelOnePage->CLUTtoQColor(newColour, m_level);
m_finalFullScreenColour = newColour; m_finalFullScreenColour = newColour;
if (m_finalFullScreenQColor != newFullScreenQColor) { if (m_finalFullScreenQColor != newFullScreenQColor) {
m_finalFullScreenQColor = newFullScreenQColor; m_finalFullScreenQColor = newFullScreenQColor;
@@ -559,7 +559,7 @@ inline void TeletextPageDecode::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 = m_levelOnePage->CLUTtoQColor(newColour, m_renderLevel); QColor newFullRowQColor = m_levelOnePage->CLUTtoQColor(newColour, m_level);
if (m_fullRowQColor[row] != newFullRowQColor) { if (m_fullRowQColor[row] != newFullRowQColor) {
for (int c=0; c<72; c++) { for (int c=0; c<72; c++) {
if (m_cell[row][c].attribute.foreColour == 8 || m_cell[row][c].attribute.backColour == 8) if (m_cell[row][c].attribute.foreColour == 8 || m_cell[row][c].attribute.backColour == 8)

View File

@@ -260,7 +260,7 @@ public:
int rightSidePanelColumns() const { return m_rightSidePanelColumns; }; int rightSidePanelColumns() const { return m_rightSidePanelColumns; };
public slots: public slots:
void setRenderLevel(int); void setLevel(int);
signals: signals:
void fullScreenColourChanged(QColor); void fullScreenColourChanged(QColor);
@@ -272,7 +272,7 @@ protected:
inline void setFullRowColour(int, int); inline void setFullRowColour(int, int);
textCell& cellAtCharacterOrigin(int, int); textCell& cellAtCharacterOrigin(int, int);
int m_finalFullScreenColour, m_renderLevel; int m_finalFullScreenColour, m_level;
QColor m_finalFullScreenQColor; QColor m_finalFullScreenQColor;
int m_leftSidePanelColumns, m_rightSidePanelColumns; int m_leftSidePanelColumns, m_rightSidePanelColumns;
Level1Layer m_level1Layer; Level1Layer m_level1Layer;

View File

@@ -801,10 +801,10 @@ void MainWindow::createStatusBar()
statusBar()->addPermanentWidget(m_levelRadioButton[i]); statusBar()->addPermanentWidget(m_levelRadioButton[i]);
} }
m_levelRadioButton[0]->toggle(); m_levelRadioButton[0]->toggle();
connect(m_levelRadioButton[0], &QAbstractButton::clicked, [=]() { m_textWidget->pageDecode()->setRenderLevel(0); m_textWidget->update(); }); connect(m_levelRadioButton[0], &QAbstractButton::clicked, [=]() { m_textWidget->pageDecode()->setLevel(0); m_textWidget->update(); });
connect(m_levelRadioButton[1], &QAbstractButton::clicked, [=]() { m_textWidget->pageDecode()->setRenderLevel(1); m_textWidget->update(); }); connect(m_levelRadioButton[1], &QAbstractButton::clicked, [=]() { m_textWidget->pageDecode()->setLevel(1); m_textWidget->update(); });
connect(m_levelRadioButton[2], &QAbstractButton::clicked, [=]() { m_textWidget->pageDecode()->setRenderLevel(2); m_textWidget->update(); }); connect(m_levelRadioButton[2], &QAbstractButton::clicked, [=]() { m_textWidget->pageDecode()->setLevel(2); m_textWidget->update(); });
connect(m_levelRadioButton[3], &QAbstractButton::clicked, [=]() { m_textWidget->pageDecode()->setRenderLevel(3); m_textWidget->update(); }); connect(m_levelRadioButton[3], &QAbstractButton::clicked, [=]() { m_textWidget->pageDecode()->setLevel(3); m_textWidget->update(); });
statusBar()->showMessage(tr("Ready")); statusBar()->showMessage(tr("Ready"));
} }
@@ -913,7 +913,7 @@ void MainWindow::loadFile(const QString &fileName)
levelSeen = m_textWidget->document()->levelRequired(); levelSeen = m_textWidget->document()->levelRequired();
m_levelRadioButton[levelSeen]->toggle(); m_levelRadioButton[levelSeen]->toggle();
m_textWidget->pageDecode()->setRenderLevel(levelSeen); m_textWidget->pageDecode()->setLevel(levelSeen);
updatePageWidgets(); updatePageWidgets();
QApplication::restoreOverrideCursor(); QApplication::restoreOverrideCursor();