diff options
author | Vicent Marti | 2008-08-01 20:19:37 +0000 |
---|---|---|
committer | Vicent Marti | 2008-08-01 20:19:37 +0000 |
commit | 44d91bfa81d638a75b81a079edaa046ff4778194 (patch) | |
tree | ba4e39233c060d2f0ac6d984d349b476eb055ced /gui/ThemeRenderer.cpp | |
parent | a15ebfb73a1863636ed2ab6aba000118cfb6af54 (diff) | |
download | scummvm-rg350-44d91bfa81d638a75b81a079edaa046ff4778194.tar.gz scummvm-rg350-44d91bfa81d638a75b81a079edaa046ff4778194.tar.bz2 scummvm-rg350-44d91bfa81d638a75b81a079edaa046ff4778194.zip |
Massive changes to the renderer in order to replicate the current GUI theme, as requested by Eugene
svn-id: r33507
Diffstat (limited to 'gui/ThemeRenderer.cpp')
-rw-r--r-- | gui/ThemeRenderer.cpp | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/gui/ThemeRenderer.cpp b/gui/ThemeRenderer.cpp index 48c5eaf7f3..a81f46cf8e 100644 --- a/gui/ThemeRenderer.cpp +++ b/gui/ThemeRenderer.cpp @@ -58,11 +58,13 @@ const ThemeRenderer::DrawDataInfo ThemeRenderer::kDrawDataDefaults[] = { {kDDSliderFull, "slider_full", false, kDDNone}, - {kDDCheckboxEnabled, "checkbox_enabled", false, kDDCheckboxDisabled}, + {kDDCheckboxDefault, "checkbox_default", true, kDDNone}, {kDDCheckboxDisabled, "checkbox_disabled", true, kDDNone}, + {kDDCheckboxSelected, "checkbox_selected", false, kDDCheckboxDefault}, {kDDTabActive, "tab_active", false, kDDTabInactive}, {kDDTabInactive, "tab_inactive", true, kDDNone}, + {kDDTabBackground, "tab_background", true, kDDNone}, {kDDScrollbarBase, "scrollbar_base", true, kDDNone}, @@ -83,7 +85,9 @@ const ThemeRenderer::TextDataInfo ThemeRenderer::kTextDataDefaults[] = { {kTextDataDefault, "text_default"}, {kTextDataHover, "text_hover"}, {kTextDataDisabled, "text_disabled"}, - {kTextDataInverted, "text_inverted"} + {kTextDataInverted, "text_inverted"}, + {kTextDataButton, "text_button"}, + {kTextDataButtonHover, "text_button_hover"} }; @@ -446,7 +450,15 @@ void ThemeRenderer::drawCheckbox(const Common::Rect &r, const Common::String &st return; Common::Rect r2 = r; - DrawData dd = checked ? kDDCheckboxEnabled : kDDCheckboxDisabled; + DrawData dd = kDDCheckboxDefault; + + if (checked) + dd = kDDCheckboxSelected; + + if (state == kStateDisabled) + dd = kDDCheckboxDisabled; + + TextData td = (state == kStateHighlight) ? kTextDataHover : getTextData(dd); const int checkBoxSize = MIN((int)r.height(), getFontHeight()); r2.bottom = r2.top + checkBoxSize; @@ -457,7 +469,7 @@ void ThemeRenderer::drawCheckbox(const Common::Rect &r, const Common::String &st r2.left = r2.right + checkBoxSize; r2.right = r.right; - queueDDText(getTextData(dd), r2, str, false, false, _widgets[dd]->_textAlignH, _widgets[dd]->_textAlignV); + queueDDText(td, r2, str, false, false, _widgets[kDDCheckboxDefault]->_textAlignH, _widgets[dd]->_textAlignV); } void ThemeRenderer::drawSlider(const Common::Rect &r, int width, WidgetStateInfo state) { @@ -564,12 +576,14 @@ void ThemeRenderer::drawTab(const Common::Rect &r, int tabHeight, int tabWidth, if (!ready()) return; - const int tabOffset = 1; + const int tabOffset = 3; + + queueDD(kDDTabBackground, Common::Rect(r.left, r.top, r.right, r.top + tabHeight)); for (int i = 0; i < (int)tabs.size(); ++i) { if (i == active) continue; - + Common::Rect tabRect(r.left + i * (tabWidth + tabOffset), r.top, r.left + i * (tabWidth + tabOffset) + tabWidth, r.top + tabHeight); queueDD(kDDTabInactive, tabRect); queueDDText(getTextData(kDDTabInactive), tabRect, tabs[i], false, false, _widgets[kDDTabInactive]->_textAlignH, _widgets[kDDTabInactive]->_textAlignV); |