aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gui/theme.cpp25
1 files changed, 19 insertions, 6 deletions
diff --git a/gui/theme.cpp b/gui/theme.cpp
index 7447e9c86f..301db8aada 100644
--- a/gui/theme.cpp
+++ b/gui/theme.cpp
@@ -264,12 +264,25 @@ void ThemeClassic::drawCheckbox(const Common::Rect &r, const Common::String &str
box(r.left, r.top, checkBoxSize, checkBoxSize, _color, _shadowcolor);
if (checked) {
- // TODO: implement old style
- r2.top += 2;
- r2.bottom = r.top + checkBoxSize - 2;
- r2.left += 2;
- r2.right = r.left + checkBoxSize - 2;
- _screen.fillRect(r2, getColor(state));
+ r2.top += 3;
+ r2.bottom = r.top + checkBoxSize - 4;
+ r2.left += 3;
+ r2.right = r.left + checkBoxSize - 4;
+
+ OverlayColor c = getColor(state);
+
+ // Draw a cross
+ _screen.drawLine(r2.left, r2.top, r2.right, r2.bottom, c);
+ _screen.drawLine(r2.left, r2.bottom, r2.right, r2.top, c);
+
+ if (r2.height() > 5) {
+ // Thicken the lines
+ _screen.drawLine(r2.left, r2.top + 1, r2.right - 1, r2.bottom, c);
+ _screen.drawLine(r2.left + 1, r2.top, r2.right, r2.bottom - 1, c);
+ _screen.drawLine(r2.left, r2.bottom - 1, r2.right - 1, r2.top, c);
+ _screen.drawLine(r2.left + 1, r2.bottom, r2.right, r2.top + 1, c);
+ }
+
r2 = r;
}