summaryrefslogtreecommitdiff
path: root/src/gui/widgets/widget2.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2012-10-20 04:02:56 +0300
committerAndrei Karas <akaras@inbox.ru>2012-10-20 13:55:43 +0300
commitd65f51b41a9d84c501bb25bc3849ffd8446fb2e6 (patch)
tree650a8cbdb4b33643e6465e74d85eb3fca6b428d2 /src/gui/widgets/widget2.h
parent35efb9eba3a198b1dd2959434e82c8da45af689e (diff)
downloadmv-d65f51b41a9d84c501bb25bc3849ffd8446fb2e6.tar.gz
mv-d65f51b41a9d84c501bb25bc3849ffd8446fb2e6.tar.bz2
mv-d65f51b41a9d84c501bb25bc3849ffd8446fb2e6.tar.xz
mv-d65f51b41a9d84c501bb25bc3849ffd8446fb2e6.zip
Fix palettes loading and using.
Diffstat (limited to 'src/gui/widgets/widget2.h')
-rw-r--r--src/gui/widgets/widget2.h23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/gui/widgets/widget2.h b/src/gui/widgets/widget2.h
index dd0f0f6fe..ed2533287 100644
--- a/src/gui/widgets/widget2.h
+++ b/src/gui/widgets/widget2.h
@@ -27,12 +27,12 @@ class Widget2
{
public:
Widget2() :
- mPalette(1)
+ mPaletteOffset(0)
{
}
Widget2(const Widget2 *const widget) :
- mPalette(widget ? widget->mPalette : 1)
+ mPaletteOffset(widget ? widget->mPaletteOffset : 0)
{
checkPalette();
}
@@ -44,39 +44,42 @@ class Widget2
inline const gcn::Color &getThemeColor(const int type,
const int alpha = 255) const
{
- return Theme::getThemeColor(type * mPalette, alpha);
+ return Theme::getThemeColor(mPaletteOffset + type, alpha);
}
inline const gcn::Color &getThemeCharColor(const signed char c,
bool &valid) const
{
- const int colorId = Theme::getIdByChar(c, valid);
+ const int colorId = Theme::getThemeIdByChar(c, valid);
if (valid)
- return Theme::getThemeColor(colorId * mPalette);
+ return Theme::getThemeColor(mPaletteOffset + colorId);
else
return Palette::BLACK;
}
virtual void setWidget2(const Widget2 *const widget)
{
- mPalette = widget ? widget->mPalette : 1;
+ mPaletteOffset = widget ? widget->mPaletteOffset : 0;
}
void setPalette(int palette)
{
- mPalette = palette;
+ mPaletteOffset = palette * Theme::THEME_COLORS_END;
checkPalette();
setWidget2(this);
}
void checkPalette()
{
- if (mPalette < 1 || mPalette > THEME_PALETTES)
- mPalette = 1;
+ if (mPaletteOffset < 0 || mPaletteOffset
+ >= THEME_PALETTES * Theme::THEME_COLORS_END)
+ {
+ mPaletteOffset = 0;
+ }
}
protected:
- int mPalette;
+ int mPaletteOffset;
};
#endif