diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-09-05 22:12:03 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-09-05 22:12:03 +0300 |
commit | 22ed653d8b630c813333d5c73a4ca02dede2a5a5 (patch) | |
tree | a8cffab510c989ffc7603be52a6e75d7fcb5cd87 /src | |
parent | 6fee84f3838bdd900e8cfc4a1e4d7f15f35bd6ed (diff) | |
download | mv-22ed653d8b630c813333d5c73a4ca02dede2a5a5.tar.gz mv-22ed653d8b630c813333d5c73a4ca02dede2a5a5.tar.bz2 mv-22ed653d8b630c813333d5c73a4ca02dede2a5a5.tar.xz mv-22ed653d8b630c813333d5c73a4ca02dede2a5a5.zip |
Add theme attribute for close button padding.
Attribute name: closePadding
Default value: 3 pixels.
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/theme.cpp | 7 | ||||
-rw-r--r-- | src/gui/widgets/window.cpp | 12 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/gui/theme.cpp b/src/gui/theme.cpp index 26f250c4c..26d1e7402 100644 --- a/src/gui/theme.cpp +++ b/src/gui/theme.cpp @@ -431,6 +431,7 @@ Skin *Theme::readSkin(const std::string &filename, const bool full) memset(&images, 0, sizeof(ImageRect)); int padding = 3; int titlePadding = 4; + int closePadding = 3; std::map<std::string, int> *const mOptions = new std::map<std::string, int>(); @@ -483,6 +484,10 @@ Skin *Theme::readSkin(const std::string &filename, const bool full) { titlePadding = XML::getProperty(partNode, "value", 4); } + else if (name == "closePadding") + { + closePadding = XML::getProperty(partNode, "value", 3); + } else { (*mOptions)[name] = XML::getProperty( @@ -501,6 +506,8 @@ Skin *Theme::readSkin(const std::string &filename, const bool full) if (dBorders) dBorders->decRef(); + (*mOptions)["closePadding"] = closePadding; + Skin *const skin = new Skin(border, images, filename, "", padding, titlePadding, mOptions); skin->updateAlpha(mMinimumOpacity); diff --git a/src/gui/widgets/window.cpp b/src/gui/widgets/window.cpp index e08908c7a..2a417c633 100644 --- a/src/gui/widgets/window.cpp +++ b/src/gui/widgets/window.cpp @@ -187,12 +187,14 @@ void Window::draw(gcn::Graphics *graphics) static_cast<gcn::Graphics::Alignment>(mCaptionAlign)); } + int closePadding = getOption("closePadding"); + // Draw Close Button if (mCloseButton && mSkin->getCloseImage()) { const Image *const button = mSkin->getCloseImage(); - const int x = getWidth() - button->getWidth() - getPadding(); - g->drawImage(button, x, getPadding()); + const int x = getWidth() - button->getWidth() - closePadding; + g->drawImage(button, x, closePadding); } // Draw Sticky Button @@ -201,11 +203,11 @@ void Window::draw(gcn::Graphics *graphics) const Image *const button = mSkin->getStickyImage(mSticky); if (button) { - int x = getWidth() - button->getWidth() - getPadding(); + int x = getWidth() - button->getWidth() - closePadding; if (mCloseButton && mSkin->getCloseImage()) - x -= mSkin->getCloseImage()->getWidth() + getPadding(); + x -= mSkin->getCloseImage()->getWidth() + closePadding; - g->drawImage(button, x, getPadding()); + g->drawImage(button, x, closePadding); } } |