summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2012-12-27 20:49:56 +0300
committerAndrei Karas <akaras@inbox.ru>2012-12-27 23:15:06 +0300
commitf799d0cc056be8850733be931c976d59e6dbe582 (patch)
treee8f589d823c3782096d2ab2ec78d2985f5ac7a3d
parentac1fb0ec902814316562552fc8d52bc5683e5f9d (diff)
downloadmanaplus-f799d0cc056be8850733be931c976d59e6dbe582.tar.gz
manaplus-f799d0cc056be8850733be931c976d59e6dbe582.tar.bz2
manaplus-f799d0cc056be8850733be931c976d59e6dbe582.tar.xz
manaplus-f799d0cc056be8850733be931c976d59e6dbe582.zip
Add outlining support for labels.
-rw-r--r--src/gui/widgets/browserbox.cpp4
-rw-r--r--src/gui/widgets/browserbox.h1
-rw-r--r--src/gui/widgets/label.cpp14
-rw-r--r--src/gui/widgets/label.h5
-rw-r--r--src/gui/widgets/widget2.h6
5 files changed, 27 insertions, 3 deletions
diff --git a/src/gui/widgets/browserbox.cpp b/src/gui/widgets/browserbox.cpp
index a27a46ac4..1551ae81d 100644
--- a/src/gui/widgets/browserbox.cpp
+++ b/src/gui/widgets/browserbox.cpp
@@ -67,8 +67,7 @@ BrowserBox::BrowserBox(const Widget2 *const widget, const unsigned int mode,
mNewLinePadding(15),
mBackgroundColor(getThemeColor(Theme::BACKGROUND)),
mHighlightColor(getThemeColor(Theme::HIGHLIGHT)),
- mHyperLinkColor(getThemeColor(Theme::HYPERLINK)),
- mForegroundColor2(getThemeColor(Theme::BROWSERBOX_OUTLINE))
+ mHyperLinkColor(getThemeColor(Theme::HYPERLINK))
{
setFocusable(true);
addMouseListener(this);
@@ -107,6 +106,7 @@ BrowserBox::BrowserBox(const Widget2 *const widget, const unsigned int mode,
mColors[1][BROWN] = getThemeColor(Theme::BROWN_OUTLINE);
mForegroundColor = getThemeColor(Theme::BROWSERBOX);
+ mForegroundColor2 = getThemeColor(Theme::BROWSERBOX_OUTLINE);
}
BrowserBox::~BrowserBox()
diff --git a/src/gui/widgets/browserbox.h b/src/gui/widgets/browserbox.h
index 9e1899d0c..2f0313c37 100644
--- a/src/gui/widgets/browserbox.h
+++ b/src/gui/widgets/browserbox.h
@@ -249,7 +249,6 @@ class BrowserBox final : public gcn::Widget,
gcn::Color mHighlightColor;
gcn::Color mHyperLinkColor;
gcn::Color mColors[2][COLORS_MAX];
- gcn::Color mForegroundColor2;
static Skin *mSkin;
static int mInstances;
diff --git a/src/gui/widgets/label.cpp b/src/gui/widgets/label.cpp
index 04bb38662..2be9a476b 100644
--- a/src/gui/widgets/label.cpp
+++ b/src/gui/widgets/label.cpp
@@ -92,6 +92,7 @@ void Label::draw(gcn::Graphics* graphics)
}
graphics->setColor(mForegroundColor);
+ static_cast<Graphics*>(graphics)->setColor2(mForegroundColor2);
font->drawString(graphics, mCaption, textX, textY);
BLOCK_END("Label::draw")
}
@@ -101,3 +102,16 @@ void Label::adjustSize()
setWidth(getFont()->getWidth(getCaption()) + 2 * mPadding);
setHeight(getFont()->getHeight() + 2 * mPadding);
}
+
+void Label::setForegroundColor(const gcn::Color &color)
+{
+ mForegroundColor = color;
+ mForegroundColor2 = color;
+}
+
+void Label::setForegroundColorAll(const gcn::Color &color1,
+ const gcn::Color &color2)
+{
+ mForegroundColor = color1;
+ mForegroundColor2 = color2;
+}
diff --git a/src/gui/widgets/label.h b/src/gui/widgets/label.h
index 4ea7ca3e3..084fe2f40 100644
--- a/src/gui/widgets/label.h
+++ b/src/gui/widgets/label.h
@@ -63,6 +63,11 @@ class Label final : public gcn::Label, public Widget2
void adjustSize();
+ void setForegroundColor(const gcn::Color &color);
+
+ void setForegroundColorAll(const gcn::Color &color1,
+ const gcn::Color &color2);
+
static Skin *mSkin;
static int mInstances;
diff --git a/src/gui/widgets/widget2.h b/src/gui/widgets/widget2.h
index f2eb9bbb1..a02194e4c 100644
--- a/src/gui/widgets/widget2.h
+++ b/src/gui/widgets/widget2.h
@@ -80,8 +80,14 @@ class Widget2
}
}
+ void setForegroundColor2(const gcn::Color &color)
+ {
+ mForegroundColor2 = color;
+ }
+
protected:
int mPaletteOffset;
+ gcn::Color mForegroundColor2;
};
extern int openGLMode;