From a42faf3f01378c00b2410905c7fb78f3b5270790 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 13 Jul 2012 02:16:32 +0300 Subject: Change radio button theming. --- data/graphics/gui/CMakeLists.txt | 5 +--- data/graphics/gui/Makefile.am | 5 +--- data/graphics/gui/radio.xml | 8 ++++++ data/graphics/gui/radioin.png | Bin 454 -> 0 bytes data/graphics/gui/radioin_highlight.png | Bin 485 -> 0 bytes data/graphics/gui/radioout.png | Bin 380 -> 0 bytes data/graphics/gui/radioout_highlight.png | Bin 434 -> 0 bytes data/graphics/gui/window.png | Bin 16084 -> 17037 bytes src/gui/theme.cpp | 4 +++ src/gui/widgets/radiobutton.cpp | 41 +++++++++++++++++-------------- 10 files changed, 37 insertions(+), 26 deletions(-) create mode 100644 data/graphics/gui/radio.xml delete mode 100644 data/graphics/gui/radioin.png delete mode 100644 data/graphics/gui/radioin_highlight.png delete mode 100644 data/graphics/gui/radioout.png delete mode 100644 data/graphics/gui/radioout_highlight.png diff --git a/data/graphics/gui/CMakeLists.txt b/data/graphics/gui/CMakeLists.txt index 6cd7c3698..e5f01895a 100644 --- a/data/graphics/gui/CMakeLists.txt +++ b/data/graphics/gui/CMakeLists.txt @@ -20,10 +20,7 @@ SET (FILES playerbox_background.xml progress-indicator.png progressbar.xml - radioin.png - radioin_highlight.png - radioout.png - radioout_highlight.png + radio.xml resize.xml scroll.xml scroll_background.xml diff --git a/data/graphics/gui/Makefile.am b/data/graphics/gui/Makefile.am index f43d75e38..d2e5c1534 100644 --- a/data/graphics/gui/Makefile.am +++ b/data/graphics/gui/Makefile.am @@ -23,10 +23,7 @@ gui_DATA = \ playerbox_background.xml \ progress-indicator.png \ progressbar.xml \ - radioin.png \ - radioin_highlight.png \ - radioout.png \ - radioout_highlight.png \ + radio.xml \ resize.xml \ scroll.xml \ scroll_background.xml \ diff --git a/data/graphics/gui/radio.xml b/data/graphics/gui/radio.xml new file mode 100644 index 000000000..d825e5973 --- /dev/null +++ b/data/graphics/gui/radio.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/data/graphics/gui/radioin.png b/data/graphics/gui/radioin.png deleted file mode 100644 index 12e027fec..000000000 Binary files a/data/graphics/gui/radioin.png and /dev/null differ diff --git a/data/graphics/gui/radioin_highlight.png b/data/graphics/gui/radioin_highlight.png deleted file mode 100644 index b193d3e30..000000000 Binary files a/data/graphics/gui/radioin_highlight.png and /dev/null differ diff --git a/data/graphics/gui/radioout.png b/data/graphics/gui/radioout.png deleted file mode 100644 index 5eb67bd85..000000000 Binary files a/data/graphics/gui/radioout.png and /dev/null differ diff --git a/data/graphics/gui/radioout_highlight.png b/data/graphics/gui/radioout_highlight.png deleted file mode 100644 index dd31e6e30..000000000 Binary files a/data/graphics/gui/radioout_highlight.png and /dev/null differ diff --git a/data/graphics/gui/window.png b/data/graphics/gui/window.png index c0840e7ae..814111175 100644 Binary files a/data/graphics/gui/window.png and b/data/graphics/gui/window.png differ diff --git a/src/gui/theme.cpp b/src/gui/theme.cpp index 41bf32ad5..4d22612fb 100644 --- a/src/gui/theme.cpp +++ b/src/gui/theme.cpp @@ -328,18 +328,22 @@ static SkinParameter skinParam[] = {0, "standart"}, {0, "up"}, {0, "hstart"}, + {0, "in"}, {1, "top-edge"}, {1, "highlighted"}, {1, "down"}, {1, "hmiddle"}, + {1, "in-highlighted"}, {2, "top-right-corner"}, {2, "pressed"}, {2, "left"}, {2, "hend"}, + {2, "out"}, {3, "left-edge"}, {3, "disabled"}, {3, "right"}, {3, "hgrip"}, + {3, "out-highlighted"}, {4, "bg-quad"}, {4, "vstart"}, {5, "right-edge"}, diff --git a/src/gui/widgets/radiobutton.cpp b/src/gui/widgets/radiobutton.cpp index e2a3483fc..e0e01d4ed 100644 --- a/src/gui/widgets/radiobutton.cpp +++ b/src/gui/widgets/radiobutton.cpp @@ -51,20 +51,25 @@ RadioButton::RadioButton(const std::string &caption, const std::string &group, setForegroundColor(Theme::getThemeColor(Theme::TEXT)); if (instances == 0) { - radioNormal = Theme::getImageFromTheme("radioout.png"); - radioChecked = Theme::getImageFromTheme("radioin.png"); - radioDisabled = Theme::getImageFromTheme("radioout.png"); - radioDisabledChecked = Theme::getImageFromTheme("radioin.png"); - radioNormalHi = Theme::getImageFromTheme("radioout_highlight.png"); - radioCheckedHi = Theme::getImageFromTheme("radioin_highlight.png"); + if (Theme::instance()) + { + ImageRect rect; + Theme::instance()->loadRect(rect, "radio.xml", 0, 3); + radioChecked = rect.grid[0]; + radioDisabledChecked = rect.grid[0]; + radioCheckedHi = rect.grid[1]; + radioNormal = rect.grid[2]; + radioDisabled = rect.grid[2]; + radioNormalHi = rect.grid[3]; + } if (radioNormal) radioNormal->setAlpha(mAlpha); if (radioChecked) radioChecked->setAlpha(mAlpha); - if (radioDisabled) - radioDisabled->setAlpha(mAlpha); - if (radioDisabledChecked) - radioDisabledChecked->setAlpha(mAlpha); +// if (radioDisabled) +// radioDisabled->setAlpha(mAlpha); +// if (radioDisabledChecked) +// radioDisabledChecked->setAlpha(mAlpha); if (radioNormalHi) radioNormalHi->setAlpha(mAlpha); if (radioCheckedHi) @@ -84,10 +89,10 @@ RadioButton::~RadioButton() radioNormal->decRef(); if (radioChecked) radioChecked->decRef(); - if (radioDisabled) - radioDisabled->decRef(); - if (radioDisabledChecked) - radioDisabledChecked->decRef(); +// if (radioDisabled) +// radioDisabled->decRef(); +// if (radioDisabledChecked) +// radioDisabledChecked->decRef(); if (radioNormalHi) radioNormalHi->decRef(); if (radioCheckedHi) @@ -104,10 +109,10 @@ void RadioButton::drawBox(gcn::Graphics* graphics) radioNormal->setAlpha(mAlpha); if (radioChecked) radioChecked->setAlpha(mAlpha); - if (radioDisabled) - radioDisabled->setAlpha(mAlpha); - if (radioDisabledChecked) - radioDisabledChecked->setAlpha(mAlpha); +// if (radioDisabled) +// radioDisabled->setAlpha(mAlpha); +// if (radioDisabledChecked) +// radioDisabledChecked->setAlpha(mAlpha); if (radioNormalHi) radioNormalHi->setAlpha(mAlpha); if (radioCheckedHi) -- cgit v1.2.3-60-g2f50