From 7946cd875877870e7cab002cba099d21cf9fc063 Mon Sep 17 00:00:00 2001 From: Douglas Boffey Date: Thu, 4 Sep 2008 16:56:10 +0000 Subject: Added code to change text colouring --- src/gui/browserbox.cpp | 72 +++++++++++++++----------------------------------- 1 file changed, 21 insertions(+), 51 deletions(-) (limited to 'src/gui/browserbox.cpp') diff --git a/src/gui/browserbox.cpp b/src/gui/browserbox.cpp index 4f771a7e..b7d08cab 100644 --- a/src/gui/browserbox.cpp +++ b/src/gui/browserbox.cpp @@ -29,6 +29,7 @@ #include "browserbox.h" #include "linkhandler.h" +#include "colour.h" #ifdef USE_OPENGL #include "../configuration.h" @@ -135,12 +136,12 @@ void BrowserBox::addRow(const std::string &row) mLinks.push_back(bLink); - newRow += "##L" + bLink.caption; + newRow += "##<" + bLink.caption; tmp.erase(0, idx3 + 2); if(tmp != "") { - newRow += "##P"; + newRow += "##>"; } idx1 = tmp.find("@@"); } @@ -290,7 +291,8 @@ BrowserBox::draw(gcn::Graphics *graphics) if ((mHighMode & UNDERLINE)) { - graphics->setColor(gcn::Color(LINK)); + bool valid; + graphics->setColor(gcn::Color(textColour->getColour('<', valid))); graphics->drawLine( mLinks[mSelectedLink].x1, mLinks[mSelectedLink].y2, @@ -317,58 +319,26 @@ BrowserBox::draw(gcn::Graphics *graphics) if ( (mUseLinksAndUserColors && (j + 3) <= row.size()) || (!mUseLinksAndUserColors && (j == 0)) ) { - // Check for color change in format "##x", x = [L,P,0..9] + // Check for color change in format "##x" if ((row.at(j) == '#') && (row.at(j + 1) == '#')) { - switch (row.at(j + 2)) + char c = row.at(j + 2); + if (c == '>') { - case 'L': // Link color - prevColor = selColor; - selColor = LINK; - break; - case 'P': // Previous color - selColor = prevColor; - break; - case '1': - prevColor = selColor; - selColor = RED; - break; - case '2': - prevColor = selColor; - selColor = GREEN; - break; - case '3': - prevColor = selColor; - selColor = BLUE; - break; - case '4': - prevColor = selColor; - selColor = ORANGE; - break; - case '5': - prevColor = selColor; - selColor = YELLOW; - break; - case '6': - prevColor = selColor; - selColor = PINK; - break; - case '7': - prevColor = selColor; - selColor = PURPLE; - break; - case '8': - prevColor = selColor; - selColor = GRAY; - break; - case '9': - prevColor = selColor; - selColor = BROWN; - break; - case '0': - default: + selColor = prevColor; + } + else + { + bool valid; + int rgb = textColour->getColour(c, valid); + if (c == '<') + { prevColor = selColor; - selColor = BLACK; + } + if (valid) + { + selColor = rgb; + } } j += 3; -- cgit v1.2.3-70-g09d2