aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVicent Marti2008-07-11 13:25:23 +0000
committerVicent Marti2008-07-11 13:25:23 +0000
commite64711378eb19dc6474249bc83033087edd4d7d7 (patch)
tree8c34050d757424d6da53b7e48b4c13ec2e36cb4b
parenta90be07c3e93014174a3b4f3fa0be25aad227859 (diff)
downloadscummvm-rg350-e64711378eb19dc6474249bc83033087edd4d7d7.tar.gz
scummvm-rg350-e64711378eb19dc6474249bc83033087edd4d7d7.tar.bz2
scummvm-rg350-e64711378eb19dc6474249bc83033087edd4d7d7.zip
Widget backgrounds
svn-id: r33005
-rw-r--r--gui/ThemeDefaultXML.cpp3
-rw-r--r--gui/ThemeRenderer.cpp24
-rw-r--r--gui/ThemeRenderer.h2
3 files changed, 19 insertions, 10 deletions
diff --git a/gui/ThemeDefaultXML.cpp b/gui/ThemeDefaultXML.cpp
index da40d64731..95b425e700 100644
--- a/gui/ThemeDefaultXML.cpp
+++ b/gui/ThemeDefaultXML.cpp
@@ -61,11 +61,12 @@ bool ThemeRenderer::loadDefaultXML() {
"</drawdata>"
"<drawdata id = 'checkbox_disabled' cache = false>"
- "<text vertical_align = 'center' horizontal_align = 'center' color = '255, 0, 0' />"
+ "<text vertical_align = 'top' horizontal_align = 'left' color = '255, 255, 255' />"
"<drawstep func = 'square' fill = 'gradient' gradient_start = '206, 121, 99' gradient_end = '173, 40, 8' size = 'auto' shadow = 0 />"
"</drawdata>"
"<drawdata id = 'checkbox_enabled' cache = false>"
+ "<text vertical_align = 'top' horizontal_align = 'left' color = '255, 255, 255' />"
"<drawstep func = 'square' fill = 'gradient' gradient_start = '206, 121, 99' gradient_end = '173, 40, 8' size = 'auto' shadow = 0 />"
"<drawstep func = 'circle' radius = 'auto' fill = 'foreground' />"
"</drawdata>"
diff --git a/gui/ThemeRenderer.cpp b/gui/ThemeRenderer.cpp
index 0fd7afbaf5..ff3a63b8b8 100644
--- a/gui/ThemeRenderer.cpp
+++ b/gui/ThemeRenderer.cpp
@@ -323,18 +323,17 @@ void ThemeRenderer::drawCheckbox(const Common::Rect &r, const Common::String &st
return;
Common::Rect r2 = r;
- int checkBoxSize = getFontHeight();
-
- if (checkBoxSize > r.height())
- checkBoxSize = r.height();
+ const int checkBoxSize = MIN((int)r.height(), getFontHeight());
r2.bottom = r2.top + checkBoxSize;
r2.right = r2.left + checkBoxSize;
drawDD(checked ? kDDCheckboxEnabled : kDDCheckboxDisabled, r2);
-
- // TODO: text drawing
-// getFont()->drawString(&_screen, str, r2.left, r2.top, r2.width(), getColor(state), Graphics::kTextAlignLeft, 0, false);
+
+ r2.left = r2.right + checkBoxSize;
+ r2.right = r.right;
+
+ drawDDText(checked ? kDDCheckboxEnabled : kDDCheckboxDisabled, r2, str);
addDirtyRect(r);
debugWidgetPosition(r);
@@ -365,7 +364,16 @@ void ThemeRenderer::drawScrollbar(const Common::Rect &r, int sliderY, int slider
void ThemeRenderer::drawDialogBackground(const Common::Rect &r, uint16 hints, WidgetStateInfo state) {
if (!ready())
return;
-
+
+ if (hints & THEME_HINT_MAIN_DIALOG)
+ drawDD(kDDMainDialogBackground, r);
+ else if (hints & THEME_HINT_SPECIAL_COLOR)
+ drawDD(kDDSpecialColorBackground, r);
+ else if (hints & THEME_HINT_PLAIN_COLOR)
+ drawDD(kDDPlainColorBackground, r);
+ else
+ drawDD(kDDDefaultBackground, r);
+
debugWidgetPosition(r);
}
diff --git a/gui/ThemeRenderer.h b/gui/ThemeRenderer.h
index f2e30bae09..0e7f651904 100644
--- a/gui/ThemeRenderer.h
+++ b/gui/ThemeRenderer.h
@@ -85,7 +85,7 @@ public:
kDDMainDialogBackground,
kDDSpecialColorBackground,
kDDPlainColorBackground,
- kDDDefaulBackground,
+ kDDDefaultBackground,
kDDButtonIdle,
kDDButtonHover,