summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/radiobutton.cpp19
-rw-r--r--src/gui/radiobutton.h6
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;