diff options
-rw-r--r-- | src/gui/radiobutton.cpp | 19 | ||||
-rw-r--r-- | src/gui/radiobutton.h | 6 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/gui/radiobutton.cpp b/src/gui/radiobutton.cpp index 5f929e62..619ec84f 100644 --- a/src/gui/radiobutton.cpp +++ b/src/gui/radiobutton.cpp @@ -81,3 +81,22 @@ void RadioButton::drawBox(gcn::Graphics* graphics) static_cast<Graphics*>(graphics)->drawImage(box, 2, 2); } } + +void RadioButton::draw(gcn::Graphics* graphics) +{ + + graphics->pushClipArea(gcn::Rectangle(1, + 1, + getWidth() - 1, + getHeight() - 1)); + + drawBox(graphics); + + graphics->popClipArea(); + + graphics->setFont(getFont()); + graphics->setColor(getForegroundColor()); + + int h = getHeight() + getHeight() / 2; + graphics->drawText(getCaption(), h - 2, 0); +} diff --git a/src/gui/radiobutton.h b/src/gui/radiobutton.h index 8fb6d832..ef4c128c 100644 --- a/src/gui/radiobutton.h +++ b/src/gui/radiobutton.h @@ -49,6 +49,12 @@ class RadioButton : public gcn::RadioButton { */ void drawBox(gcn::Graphics* graphics); + /** + * Implementation of the draw methods. + * Thus, avoiding the rhomb around the radio button. + */ + void draw(gcn::Graphics* graphics); + private: static int instances; static Image *radioNormal; |