[Scummvm-cvs-logs] SF.net SVN: scummvm: [22527] scummvm/trunk/gui
sev at users.sourceforge.net
sev at users.sourceforge.net
Thu May 18 14:50:00 CEST 2006
Revision: 22527
Author: sev
Date: 2006-05-18 14:48:47 -0700 (Thu, 18 May 2006)
ViewCVS: http://svn.sourceforge.net/scummvm/?rev=22527&view=rev
Log Message:
-----------
Proper rendering of slider widget.
Modified Paths:
--------------
scummvm/trunk/gui/ThemeNew.cpp
scummvm/trunk/gui/theme.h
scummvm/trunk/gui/themes/modern.ini
Modified: scummvm/trunk/gui/ThemeNew.cpp
===================================================================
--- scummvm/trunk/gui/ThemeNew.cpp 2006-05-18 21:46:07 UTC (rev 22526)
+++ scummvm/trunk/gui/ThemeNew.cpp 2006-05-18 21:48:47 UTC (rev 22527)
@@ -512,11 +512,6 @@
Common::Rect r2;
- if ((hints & THEME_HINT_SAVE_BACKGROUND) && !(hints & THEME_HINT_FIRST_DRAW) && !_forceRedraw) {
- restoreBackground((hints & THEME_HINT_USE_SHADOW) ? r2 : r);
- return;
- }
-
kImageHandles corner, top, left, bkgd;
kShadowStyles shadow;
kColorHandles start, end;
@@ -555,6 +550,11 @@
break;
}
+ if ((hints & THEME_HINT_SAVE_BACKGROUND) && !(hints & THEME_HINT_FIRST_DRAW) && !_forceRedraw) {
+ restoreBackground((hints & THEME_HINT_USE_SHADOW) ? r2 : r);
+ return;
+ }
+
if ((hints & THEME_HINT_USE_SHADOW)) {
r2 = shadowRect(r, shadow);
restoreBackground(r2);
@@ -644,25 +644,26 @@
addDirtyRect(r);
}
-void ThemeNew::drawSlider(const Common::Rect &r, int width, kState state) {
+void ThemeNew::drawSlider(const Common::Rect &rr, int width, kState state) {
if (!_initOk)
return;
- drawRectMasked(r, surface(kSliderBkgdCorner), surface(kSliderBkgdTop), surface(kSliderBkgdLeft), surface(kSliderBkgd), 256,
- _colors[kSliderBackgroundStart], _colors[kSliderBackgroundEnd], _gradientFactors[kSliderBackground]);
+ Common::Rect r = rr;
+ r.left++;
+ r.right++;
+
+ drawWidgetBackground(r, THEME_HINT_USE_SHADOW, kWidgetBackgroundEditText, kStateEnabled);
+
Common::Rect r2 = r;
- r2.left = r.left + 2;
- r2.top = r.top + 2;
- r2.bottom = r.bottom - 2;
+ r2.left = r.left;
+ r2.top = r.top;
+ r2.bottom = r.bottom;
r2.right = r2.left + width;
- if (r2.right > r.right - 2) {
- r2.right = r.right - 2;
+ if (r2.right > r.right) {
+ r2.right = r.right;
}
- // shadow
- drawShadow(r2, surface(kSliderCorner), surface(kSliderTop), surface(kSliderLeft), surface(kSliderBkgd), kShadowSlider);
-
if (state == kStateHighlight) {
drawRectMasked(r2, surface(kSliderCorner), surface(kSliderTop), surface(kSliderLeft), surface(kSliderBkgd),
256, _colors[kSliderHighStart], _colors[kSliderHighEnd], _gradientFactors[kSliderFactor]);
@@ -1033,6 +1034,10 @@
return Common::Rect(r.left - _shadowLeftWidth/2, r.top - _shadowTopHeight/2, r.right + _shadowRightWidth/2 - 1, r.bottom + _shadowBottomHeight/2 - 1);
break;
+ case kShadowEmboss:
+ return Common::Rect(r.left - 1, r.top - 1, r.right + 1, r.bottom + 1);
+ break;
+
default:
return Common::Rect(r.left - _shadowLeftWidth/2, r.top - _shadowTopHeight/2, r.right + _shadowRightWidth/2 + 1, r.bottom + _shadowBottomHeight/2 + 1);
break;
@@ -1070,17 +1075,9 @@
drawShadowRect(r3, r, corner, top, left, fill, kShadowTr4, skipLastRow);
} break;
- case kShadowSlider: {
- Common::Rect r3(r.left - _shadowLeftWidth/2, r.top - _shadowTopHeight/2, r.right + _shadowRightWidth/2, r.bottom + _shadowBottomHeight/2);
- Common::Rect r4(r.left - _shadowLeftWidth/2, r.top - _shadowTopHeight/2, r.right + _shadowRightWidth/2 - 1, r.bottom + _shadowBottomHeight/2 - 1);
-
- drawShadowRect(r3, r, corner, top, left, fill, kShadowTr2, skipLastRow);
- drawShadowRect(r4, r, corner, top, left, fill, kShadowTr3, skipLastRow);
- };
-
case kShadowEmboss: {
- Common::Rect r2(r.left - _shadowLeftWidth/2, r.top - _shadowTopHeight/2, r.right, r.bottom);
- Common::Rect r4(r.left - _shadowLeftWidth/2+1, r.top - _shadowTopHeight/2+1, r.right + _shadowRightWidth/2, r.bottom + _shadowBottomHeight/2);
+ Common::Rect r2(r.left - 1, r.top - 1, r.right, r.bottom);
+ Common::Rect r4(r.left + 1, r.top + 1, r.right + 1, r.bottom + 1);
drawShadowRect(r2, r, corner, top, left, fill, kShadowTr5, skipLastRow);
drawShadowRect(r4, r, corner, top, left, fill, kShadowTr1, skipLastRow);
Modified: scummvm/trunk/gui/theme.h
===================================================================
--- scummvm/trunk/gui/theme.h 2006-05-18 21:46:07 UTC (rev 22526)
+++ scummvm/trunk/gui/theme.h 2006-05-18 21:48:47 UTC (rev 22527)
@@ -338,8 +338,7 @@
kShadowFull = 0,
kShadowSmall = 1,
kShadowButton = 2,
- kShadowSlider = 3,
- kShadowEmboss = 4
+ kShadowEmboss = 3
};
Common::Rect shadowRect(const Common::Rect &r, uint32 shadowStyle);
Modified: scummvm/trunk/gui/themes/modern.ini
===================================================================
--- scummvm/trunk/gui/themes/modern.ini 2006-05-18 21:46:07 UTC (rev 22526)
+++ scummvm/trunk/gui/themes/modern.ini 2006-05-18 21:48:47 UTC (rev 22527)
@@ -29,15 +29,15 @@
tab_left=widget_small_bkgd_left.bmp
tab_bkgd=widget_small_bkgd.bmp
-slider_bkgd_corner=widget_small_bkgd_corner.bmp
-slider_bkgd_top=widget_small_bkgd_top.bmp
-slider_bkgd_left=widget_small_bkgd_left.bmp
-slider_bkgd_bkgd=widget_small_bkgd.bmp
+slider_bkgd_corner=button_bkgd_corner.bmp
+slider_bkgd_top=button_bkgd_top.bmp
+slider_bkgd_left=button_bkgd_left.bmp
+slider_bkgd_bkgd=button_bkgd.bmp
-slider_corner=widget_bkgd_corner.bmp
-slider_top=widget_bkgd_top.bmp
-slider_left=widget_bkgd_left.bmp
-slider_bkgd=widget_bkgd.bmp
+slider_corner=button_bkgd_corner.bmp
+slider_top=button_bkgd_top.bmp
+slider_left=button_bkgd_left.bmp
+slider_bkgd=button_bkgd.bmp
scrollbar_bkgd_corner=widget_small_bkgd_corner.bmp
scrollbar_bkgd_top=widget_small_bkgd_top.bmp
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list