diff options
Diffstat (limited to 'src/gui/widgets')
-rw-r--r-- | src/gui/widgets/button.cpp | 9 | ||||
-rw-r--r-- | src/gui/widgets/button.h | 5 |
2 files changed, 8 insertions, 6 deletions
diff --git a/src/gui/widgets/button.cpp b/src/gui/widgets/button.cpp index b2fa9e89..6770c180 100644 --- a/src/gui/widgets/button.cpp +++ b/src/gui/widgets/button.cpp @@ -83,15 +83,14 @@ Button::Button(const std::string &caption, const std::string &actionEventId, adjustSize(); } -void Button::setButtonIcon(const std::string& iconFile, int frameHeight, - int frameWidth) +void Button::setButtonIcon(const std::string& iconFile) { // We clean up possible older references. if (mButtonIcon) removeButtonIcon(); // If nothing relevant was set, we can quit now. - if (iconFile.empty() || !frameWidth || !frameHeight) + if (iconFile.empty()) return; // Load the icon frames. @@ -99,6 +98,10 @@ void Button::setButtonIcon(const std::string& iconFile, int frameHeight, if (!btnIcons) return; + // Compute the sub images size. + int frameWidth = btnIcons->getWidth() / 4; + int frameHeight = btnIcons->getHeight(); + if (btnIcons->getWidth() > 0 && btnIcons->getHeight() > 0) { mButtonIcon = new Image*[BUTTON_COUNT]; diff --git a/src/gui/widgets/button.h b/src/gui/widgets/button.h index cfc5043e..39b3eb75 100644 --- a/src/gui/widgets/button.h +++ b/src/gui/widgets/button.h @@ -72,15 +72,14 @@ class Button : public gcn::Button * Standard, Highlighted, Pressed, and Disabled. * If the image is too short, the missing states won't be loaded. */ - void setButtonIcon(const std::string& iconFile = std::string(), - int frameHeight = 0, int frameWidth = 0); + void setButtonIcon(const std::string& iconFile = std::string()); /** * Set the button popup text when hovering it for a few seconds. * * @note: An empty text will disable the popup. */ - void setButtonPopupText(const std::string& text = ""); + void setButtonPopupText(const std::string& text = std::string()); void logic(); void mouseMoved(gcn::MouseEvent &event); |