[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