[Scummvm-cvs-logs] SF.net SVN: scummvm: [23107] scummvm/branches/branch-0-9-0/gui

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Wed Jun 14 18:41:11 CEST 2006


Revision: 23107
Author:   lordhoto
Date:     2006-06-14 09:40:57 -0700 (Wed, 14 Jun 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=23107&view=rev

Log Message:
-----------
Implements new Tab drawing for modern theme (nearlly matches mockups now).

Modified Paths:
--------------
    scummvm/branches/branch-0-9-0/gui/TabWidget.cpp
    scummvm/branches/branch-0-9-0/gui/TabWidget.h
    scummvm/branches/branch-0-9-0/gui/ThemeClassic.cpp
    scummvm/branches/branch-0-9-0/gui/ThemeNew.cpp
    scummvm/branches/branch-0-9-0/gui/theme.h
    scummvm/branches/branch-0-9-0/gui/themes/modern.ini
    scummvm/branches/branch-0-9-0/gui/themes/modern.zip
Modified: scummvm/branches/branch-0-9-0/gui/TabWidget.cpp
===================================================================
--- scummvm/branches/branch-0-9-0/gui/TabWidget.cpp	2006-06-14 16:29:56 UTC (rev 23106)
+++ scummvm/branches/branch-0-9-0/gui/TabWidget.cpp	2006-06-14 16:40:57 UTC (rev 23107)
@@ -26,16 +26,6 @@
 #include "gui/newgui.h"
 
 namespace GUI {
-
-enum {
-	kTabHeight = 16,
-	kBigTabHeight = 21,
-
-	kTabLeftOffset = 4,
-	kTabSpacing = 2,
-	kTabPadding = 3
-};
-
 TabWidget::TabWidget(GuiObject *boss, int x, int y, int w, int h)
 	: Widget(boss, x, y, w, h) {
 	init();
@@ -47,17 +37,16 @@
 }
 
 void TabWidget::init() {
+	_tabOffset = 0;	// TODO
+	_tabSpacing = g_gui.theme()->getTabSpacing();
+	_tabPadding = g_gui.theme()->getTabPadding();
+
 	_flags = WIDGET_ENABLED;
 	_type = kTabWidget;
 	_activeTab = -1;
 
 	_tabWidth = 40;
-
-	if (g_gui.getWidgetSize() == kBigWidgetSize) {
-		_tabHeight = kBigTabHeight;
-	} else {
-		_tabHeight = kTabHeight;
-	}
+	_tabHeight = g_gui.theme()->getTabHeight();
 }
 
 TabWidget::~TabWidget() {
@@ -81,15 +70,8 @@
 	_tabs.push_back(newTab);
 
 	int numTabs = _tabs.size();
+	_tabWidth = _w / numTabs;
 
-	// Determine the new tab width
-	int newWidth = g_gui.getStringWidth(title) + 2 * kTabPadding;
-	if (_tabWidth < newWidth)
-		_tabWidth = newWidth;
-	int maxWidth = (_w - kTabLeftOffset) / numTabs - kTabLeftOffset;
-	if (_tabWidth > maxWidth)
-		_tabWidth = maxWidth;
-
 	// Activate the new tab
 	setActiveTab(numTabs - 1);
 
@@ -116,9 +98,8 @@
 
 	// Determine which tab was clicked
 	int tabID = -1;
-	x -= kTabLeftOffset;
-	if (x >= 0 && x % (_tabWidth + kTabSpacing) < _tabWidth) {
-		tabID = x / (_tabWidth + kTabSpacing);
+	if (x >= 0 && x % (_tabWidth + _tabSpacing) < _tabWidth) {
+		tabID = x / (_tabWidth + _tabSpacing);
 		if (tabID >= (int)_tabs.size())
 			tabID = -1;
 	}
@@ -147,23 +128,15 @@
 		}
 	}
 
-	if (g_gui.getWidgetSize() == kBigWidgetSize) {
-		_tabHeight = kBigTabHeight;
-	} else {
-		_tabHeight = kTabHeight;
-	}
-
+	_tabHeight = g_gui.theme()->getTabHeight();
 	_tabWidth = 40;
 
-	for (uint i = 0; i < _tabs.size(); ++i) {
-		int newWidth = g_gui.getStringWidth(_tabs[i].title) + 2 * kTabPadding;
-		if (_tabWidth < newWidth)
-			_tabWidth = newWidth;
-	}
+	_tabOffset = 0;	// TODO
+	_tabSpacing = g_gui.theme()->getTabSpacing();
+	_tabPadding = g_gui.theme()->getTabPadding();
 
-	int maxWidth = (_w - kTabLeftOffset) / _tabs.size() - kTabLeftOffset;
-	if (_tabWidth > maxWidth)
-		_tabWidth = maxWidth;
+	if (_tabs.size())
+		_tabWidth = _w / _tabs.size();
 }
 
 void TabWidget::drawWidget(bool hilite) {

Modified: scummvm/branches/branch-0-9-0/gui/TabWidget.h
===================================================================
--- scummvm/branches/branch-0-9-0/gui/TabWidget.h	2006-06-14 16:29:56 UTC (rev 23106)
+++ scummvm/branches/branch-0-9-0/gui/TabWidget.h	2006-06-14 16:40:57 UTC (rev 23107)
@@ -41,6 +41,10 @@
 	int _tabWidth;
 	int _tabHeight;
 
+	int _tabOffset;
+	int _tabSpacing;
+	int _tabPadding;
+
 public:
 	TabWidget(GuiObject *boss, int x, int y, int w, int h);
 	TabWidget(GuiObject *boss, const String &name);

Modified: scummvm/branches/branch-0-9-0/gui/ThemeClassic.cpp
===================================================================
--- scummvm/branches/branch-0-9-0/gui/ThemeClassic.cpp	2006-06-14 16:29:56 UTC (rev 23106)
+++ scummvm/branches/branch-0-9-0/gui/ThemeClassic.cpp	2006-06-14 16:40:57 UTC (rev 23107)
@@ -138,6 +138,21 @@
 	}
 }
 
+int ThemeClassic::getTabHeight() const {
+	if (_screen.w >= 400 && _screen.h >= 300) {
+		return 21;
+	} else {
+		return 16;
+	}
+}
+
+int ThemeClassic::getTabSpacing() const {
+	return 2;
+}
+int ThemeClassic::getTabPadding() const {
+	return 3;
+}
+
 void ThemeClassic::drawDialogBackground(const Common::Rect &r, uint16 hints, State state) {
 	if (!_initOk)
 		return;

Modified: scummvm/branches/branch-0-9-0/gui/ThemeNew.cpp
===================================================================
--- scummvm/branches/branch-0-9-0/gui/ThemeNew.cpp	2006-06-14 16:29:56 UTC (rev 23106)
+++ scummvm/branches/branch-0-9-0/gui/ThemeNew.cpp	2006-06-14 16:40:57 UTC (rev 23107)
@@ -43,7 +43,7 @@
 #define kShadowTr4 128
 #define kShadowTr5 192
 
-#define THEME_VERSION 15
+#define THEME_VERSION 16
 
 using Graphics::Surface;
 
@@ -573,34 +573,55 @@
 		return;
 
 	restoreBackground(r);
-	int tabXOffset = surface(kWidgetSmallBkgdCorner)->w;
+
+	// whole tab background
+	drawRectMasked(r, surface(kTabBkgdCorner), surface(kTabBkgdTop), surface(kTabBkgdLeft), surface(kTabBkgd),
+						/*(state == kStateDisabled) ? -30 : */256, _colors[kTabBackgroundStart], _colors[kTabBackgroundEnd],
+						_gradientFactors[kTabFactor]);
 	
-	OverlayColor tabEnd = calcGradient(_colors[kTabBackgroundStart], _colors[kTabBackgroundEnd], tabHeight, r.height(), _gradientFactors[kTabFactor]);
+	OverlayColor tabEnd = calcGradient(_colors[kTabActiveStart], _colors[kTabActiveEnd], tabHeight, r.height(), _gradientFactors[kTabFactor]);
 
+	const int tabOffset = 1;
+
+	// tab shadows
 	for (int i = 0; i < (int)tabs.size(); ++i) {
+		Common::Rect tabRect(r.left + i * (tabWidth + tabOffset), r.top, r.left + i * (tabWidth + tabOffset) + tabWidth, r.top + tabHeight);
+		drawShadow(tabRect, surface(kTabBkgdCorner), surface(kTabBkgdTop), surface(kTabBkgdLeft), surface(kTabBkgd),
+					kShadowSmall, true);
+	}
+
+	// inactive tabs
+	for (int i = 0; i < (int)tabs.size(); ++i) {
 		if (i == active)
 			continue;
 
-		Common::Rect tabRect(r.left + tabXOffset + i * tabWidth, r.top, r.left + tabXOffset + i * tabWidth + tabWidth, r.top + tabHeight);
+		Common::Rect tabRect(r.left + i * (tabWidth + tabOffset), r.top, r.left + i * (tabWidth + tabOffset) + tabWidth, r.top + tabHeight);
 		drawRectMasked(tabRect, surface(kTabBkgdCorner), surface(kTabBkgdTop), surface(kTabBkgdLeft), surface(kTabBkgd),
-					128, _colors[kTabBackgroundStart], tabEnd, _gradientFactors[kTabFactor], true);
+					256, _colors[kTabInactiveStart], _colors[kTabInactiveEnd], _gradientFactors[kTabFactor], true);
 
 		getFont()->drawString(&_screen, tabs[i], tabRect.left, tabRect.top+2, tabRect.width(), getColor(kStateEnabled), Graphics::kTextAlignCenter, 0, true);
 	}
 	
-	Common::Rect widgetBackground = Common::Rect(r.left, r.top + tabHeight, r.right, r.bottom);
-	drawRectMasked(widgetBackground, surface(kWidgetSmallBkgdCorner), surface(kWidgetSmallBkgdTop), surface(kWidgetSmallBkgdLeft), surface(kWidgetSmallBkgd),
-						(state == kStateDisabled) ? -30 : 256, tabEnd, _colors[kTabBackgroundEnd],
-						_gradientFactors[kTabFactor]);
+	// area shadow
+	Common::Rect widgetBackground = Common::Rect(r.left, r.top + tabHeight, r.right, r.bottom - 2);
+	drawShadow(widgetBackground, surface(kTabBkgdCorner), surface(kTabBkgdTop), surface(kTabBkgdLeft), surface(kTabBkgd),
+					kShadowSmall, false, true);
+
+	// area itself
+	widgetBackground = Common::Rect(r.left, r.top + tabHeight, r.right, r.bottom);
+	drawRectMasked(widgetBackground, surface(kTabBkgdCorner), surface(kTabBkgdTop), surface(kTabBkgdLeft), surface(kTabBkgd),
+						/*(state == kStateDisabled) ? -30 : */256, tabEnd, _colors[kTabActiveEnd],
+						_gradientFactors[kTabFactor], false, true);
 	addDirtyRect(widgetBackground, true);
 	
-	Common::Rect tabRect(r.left + tabXOffset + active * tabWidth, r.top, r.left + tabXOffset + active * tabWidth + tabWidth, r.top + tabHeight + 1);
+	// active tab
+	Common::Rect tabRect(r.left + active * (tabWidth + tabOffset), r.top, r.left + active * (tabWidth + tabOffset) + tabWidth, r.top + tabHeight + 1);
 	drawRectMasked(tabRect, surface(kTabBkgdCorner), surface(kTabBkgdTop), surface(kTabBkgdLeft), surface(kTabBkgd),
-				256, _colors[kTabBackgroundStart], tabEnd, _gradientFactors[kTabFactor], true);
+				256, _colors[kTabActiveStart], tabEnd, _gradientFactors[kTabFactor], true);
 
 	getFont()->drawString(&_screen, tabs[active], tabRect.left, tabRect.top+2, tabRect.width(), getColor(kStateHighlight), Graphics::kTextAlignCenter, 0, true);
 
-	addDirtyRect(r);
+	addDirtyRect(Common::Rect(r.left, r.top-2, r.right, r.bottom));
 }
 
 void ThemeNew::drawScrollbar(const Common::Rect &r, int sliderY, int sliderHeight, ScrollbarState scrollState, State state) {
@@ -727,6 +748,22 @@
 	addDirtyRect(r);
 }
 
+int ThemeNew::getTabHeight() const {
+	// TODO let the user specify those
+	if (_screen.w >= 400 && _screen.h >= 300) {
+		return 25;
+	} else {
+		return 16;
+	}
+}
+
+int ThemeNew::getTabSpacing() const {
+	return 0;
+}
+int ThemeNew::getTabPadding() const {
+	return 3;
+}
+
 #pragma mark - intern drawing
 
 void ThemeNew::restoreBackground(Common::Rect r, bool special) {
@@ -796,7 +833,7 @@
 
 void ThemeNew::drawRectMasked(const Common::Rect &r, const Graphics::Surface *corner, const Graphics::Surface *top,
 							const Graphics::Surface *left, const Graphics::Surface *fill, int alpha,
-							OverlayColor start, OverlayColor end, uint factor, bool skipLastRow) {
+							OverlayColor start, OverlayColor end, uint factor, bool skipLastRow, bool skipTopRow) {
 	int drawWidth = MIN(corner->w, MIN(top->w, MIN(left->w, fill->w)));
 	int drawHeight = MIN(corner->h, MIN(top->h, MIN(left->h, fill->h)));
 	int partsH = r.height() / drawHeight;
@@ -846,7 +883,7 @@
 
 			// draw the right surface
 			if (!i || i == partsW - 1) {
-				if (!y || (y == partsH - 1 && !skipLastRow)) {
+				if ((!y && !skipTopRow) || (y == partsH - 1 && !skipLastRow)) {
 					drawSurfaceMasked(Common::Rect(xPos, yPos, xPos+usedWidth, yPos+usedHeight), corner, upDown, (i == partsW - 1), alpha, startCol, endCol);
 				} else {
 					drawSurfaceMasked(Common::Rect(xPos, yPos, xPos+usedWidth, yPos+usedHeight), left, upDown, (i == partsW - 1), alpha, startCol, endCol);
@@ -890,7 +927,7 @@
 }
 
 void ThemeNew::drawShadow(const Common::Rect &r, const Graphics::Surface *corner, const Graphics::Surface *top,
-						const Graphics::Surface *left, const Graphics::Surface *fill, uint32 shadowStyle, bool skipLastRow) {
+						const Graphics::Surface *left, const Graphics::Surface *fill, uint32 shadowStyle, bool skipLastRow, bool skipTopRow) {
 	switch (shadowStyle) {
 	case kShadowFull: {
 		Common::Rect r2(r.left-1, r.top-1, r.right + 4, r.bottom + 4);
@@ -898,10 +935,10 @@
 		Common::Rect r4(r.left, r.top+1, r.right + 2, r.bottom + 2);
 		Common::Rect r5(r.left, r.top, r.right + 1, r.bottom + 1);
 
-		drawShadowRect(r2, r, corner, top, left, fill, kShadowTr0, skipLastRow);
-		drawShadowRect(r3, r, corner, top, left, fill, kShadowTr1, skipLastRow);
-		drawShadowRect(r4, r, corner, top, left, fill, kShadowTr2, skipLastRow);
-		drawShadowRect(r5, r, corner, top, left, fill, kShadowTr3, skipLastRow);
+		drawShadowRect(r2, r, corner, top, left, fill, kShadowTr0, skipLastRow, skipTopRow);
+		drawShadowRect(r3, r, corner, top, left, fill, kShadowTr1, skipLastRow, skipTopRow);
+		drawShadowRect(r4, r, corner, top, left, fill, kShadowTr2, skipLastRow, skipTopRow);
+		drawShadowRect(r5, r, corner, top, left, fill, kShadowTr3, skipLastRow, skipTopRow);
 		//drawShadowRect(r5, r, corner, top, left, fill, kShadowTr35, skipLastRow);
 		} break;
 
@@ -909,24 +946,24 @@
 		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 + 1, r.top - _shadowTopHeight/2 + 1, r.right + _shadowRightWidth/2-1, r.bottom + _shadowBottomHeight/2-1);
 
-		drawShadowRect(r3, r, corner, top, left, fill, kShadowTr1, skipLastRow);
-		drawShadowRect(r4, r, corner, top, left, fill, kShadowTr2, skipLastRow);
+		drawShadowRect(r3, r, corner, top, left, fill, kShadowTr1, skipLastRow, skipTopRow);
+		drawShadowRect(r4, r, corner, top, left, fill, kShadowTr2, skipLastRow, skipTopRow);
 		} break;
 
 	case kShadowButton: {
 		Common::Rect r2(r.left-1, r.top - 1, r.right, r.bottom);
 		Common::Rect r4(r.left, r.top, r.right + 1, r.bottom + 1);
 
-		drawShadowRect(r2, r, corner, top, left, fill, -kShadowTr35-256, skipLastRow);
-		drawShadowRect(r4, r, corner, top, left, fill, kShadowTr4, skipLastRow);
+		drawShadowRect(r2, r, corner, top, left, fill, -kShadowTr35-256, skipLastRow, skipTopRow);
+		drawShadowRect(r4, r, corner, top, left, fill, kShadowTr4, skipLastRow, skipTopRow);
 		} break;
 
 	case kShadowEmboss: {
 		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);
+		drawShadowRect(r2, r, corner, top, left, fill, kShadowTr5, skipLastRow, skipTopRow);
+		drawShadowRect(r4, r, corner, top, left, fill, kShadowTr1, skipLastRow, skipTopRow);
 		} break;
 
 	case kShadowPopUp: {
@@ -935,10 +972,10 @@
 		Common::Rect r3(r.left - 1, r.top-1, r.right, r.bottom);
 		Common::Rect r4(r.left, r.top, r.right + 1, r.bottom + 1);
 
-		drawShadowRect(r2, r, corner, top, left, fill, kShadowTr1, skipLastRow);
-		drawShadowRect(r25, r, corner, top, left, fill, kShadowTr2, skipLastRow);
-		drawShadowRect(r4, r, corner, top, left, fill, kShadowTr3, skipLastRow);
-		drawShadowRect(r3, r, corner, top, left, fill, -kShadowTr35-256, skipLastRow);
+		drawShadowRect(r2, r, corner, top, left, fill, kShadowTr1, skipLastRow, skipTopRow);
+		drawShadowRect(r25, r, corner, top, left, fill, kShadowTr2, skipLastRow, skipTopRow);
+		drawShadowRect(r4, r, corner, top, left, fill, kShadowTr3, skipLastRow, skipTopRow);
+		drawShadowRect(r3, r, corner, top, left, fill, -kShadowTr35-256, skipLastRow, skipTopRow);
 		} break;
 
 	default:
@@ -948,7 +985,7 @@
 
 void ThemeNew::drawShadowRect(const Common::Rect &r, const Common::Rect &area, const Graphics::Surface *corner,
 							const Graphics::Surface *top, const Graphics::Surface *left, const Graphics::Surface *fill,
-							int alpha, bool skipLastRow) {
+							int alpha, bool skipLastRow, bool skipTopRow) {
 	int drawWidth = MIN(corner->w, MIN(top->w, MIN(left->w, fill->w)));
 	int drawHeight = MIN(corner->h, MIN(top->h, MIN(left->h, fill->h)));
 	int partsH = r.height() / drawHeight;
@@ -1008,7 +1045,7 @@
 
 			// draw the right surface
 			if (!i || i == partsW - 1) {
-				if (!y || (y == partsH - 1 && !skipLastRow)) {
+				if ((!y && !skipTopRow) || (y == partsH - 1 && !skipLastRow)) {
 					drawSurfaceMasked(Common::Rect(xPos, yPos, xPos+usedWidth, yPos+usedHeight), corner, upDown, (i == partsW - 1), alpha, startCol, endCol);
 				} else {
 					drawSurfaceMasked(Common::Rect(xPos, yPos, xPos+usedWidth, yPos+usedHeight), left, upDown, (i == partsW - 1), alpha, startCol, endCol);
@@ -1187,6 +1224,11 @@
 	getColorFromConfig("tab_background_start", _colors[kTabBackgroundStart]);
 	getColorFromConfig("tab_background_end", _colors[kTabBackgroundEnd]);
 
+	getColorFromConfig("tab_active_start", _colors[kTabActiveStart]);
+	getColorFromConfig("tab_active_end", _colors[kTabActiveEnd]);
+	getColorFromConfig("tab_inactive_start", _colors[kTabInactiveStart]);
+	getColorFromConfig("tab_inactive_end", _colors[kTabInactiveEnd]);
+
 	getColorFromConfig("scrollbar_background_start", _colors[kScrollbarBackgroundStart]);
 	getColorFromConfig("scrollbar_background_end", _colors[kScrollbarBackgroundEnd]);
 	getColorFromConfig("scrollbar_button_start", _colors[kScrollbarButtonStart]);

Modified: scummvm/branches/branch-0-9-0/gui/theme.h
===================================================================
--- scummvm/branches/branch-0-9-0/gui/theme.h	2006-06-14 16:29:56 UTC (rev 23106)
+++ scummvm/branches/branch-0-9-0/gui/theme.h	2006-06-14 16:40:57 UTC (rev 23107)
@@ -160,6 +160,10 @@
 	virtual void restoreBackground(Common::Rect r, bool special = false) = 0;
 	virtual bool addDirtyRect(Common::Rect r, bool save = false, bool special = false) = 0;
 
+	virtual int getTabHeight() const = 0;
+	virtual int getTabSpacing() const = 0;
+	virtual int getTabPadding() const = 0;
+
 	Graphics::TextAlignment convertAligment(TextAlign align) const {
 		switch (align) {
 		case kTextAlignLeft:
@@ -236,7 +240,6 @@
 	
 	void resetDrawArea();
 
-
 	typedef Common::String String;
 
 	const Graphics::Font *getFont(FontStyle font) const { return _font; }
@@ -261,6 +264,10 @@
 	void restoreBackground(Common::Rect r, bool special = false);
 	bool addDirtyRect(Common::Rect r, bool save = false, bool special = false);
 
+	int getTabHeight() const;
+	int getTabSpacing() const;
+	int getTabPadding() const;
+
 private:
 	void box(int x, int y, int width, int height, OverlayColor colorA, OverlayColor colorB, bool skipLastRow = false);
 	void box(int x, int y, int width, int height);
@@ -340,13 +347,17 @@
 	void restoreBackground(Common::Rect r, bool special = false);
 	bool addDirtyRect(Common::Rect r, bool backup = false, bool special = false);
 
+	int getTabHeight() const;
+	int getTabSpacing() const;
+	int getTabPadding() const;
+
 private:
 	void colorFade(const Common::Rect &r, OverlayColor start, OverlayColor end, uint factor = 1);
 	void drawRect(const Common::Rect &r, const Graphics::Surface *corner, const Graphics::Surface *top,
 				const Graphics::Surface *left, const Graphics::Surface *fill, int alpha, bool skipLastRow = false);
 	void drawRectMasked(const Common::Rect &r, const Graphics::Surface *corner, const Graphics::Surface *top,
 						const Graphics::Surface *left, const Graphics::Surface *fill, int alpha,
-						OverlayColor start, OverlayColor end, uint factor = 1, bool skipLastRow = false);
+						OverlayColor start, OverlayColor end, uint factor = 1, bool skipLastRow = false, bool skipTopRow = false);
 	void drawSurface(const Common::Rect &r, const Graphics::Surface *surf, bool upDown, bool leftRight, int alpha);
 	void drawSurfaceMasked(const Common::Rect &r, const Graphics::Surface *surf, bool upDown, bool leftRight, int alpha,
 							OverlayColor start, OverlayColor end, uint factor = 1);
@@ -361,10 +372,11 @@
 
 	Common::Rect shadowRect(const Common::Rect &r, uint32 shadowStyle);
 	void drawShadow(const Common::Rect &r, const Graphics::Surface *corner, const Graphics::Surface *top,
-					const Graphics::Surface *left, const Graphics::Surface *fill, uint32 shadowStyle, bool skipLastRow = false);
+					const Graphics::Surface *left, const Graphics::Surface *fill, uint32 shadowStyle, bool skipLastRow = false,
+					bool skipTopRow = false);
 	void drawShadowRect(const Common::Rect &r, const Common::Rect &area, const Graphics::Surface *corner,
 						const Graphics::Surface *top, const Graphics::Surface *left, const Graphics::Surface *fill,
-						int alpha, bool skipLastRow = false);
+						int alpha, bool skipLastRow = false, bool skipTopRow = false);
 
 	int _shadowLeftWidth, _shadowRightWidth;
 	int _shadowTopHeight, _shadowBottomHeight;
@@ -465,7 +477,7 @@
 		kEditTextBkgd = 47,
 
 		kGUICursor = 48,
-		
+	
 		kImageHandlesMax
 	};
 
@@ -554,6 +566,11 @@
 		kEditTextBackgroundStart = 44,
 		kEditTextBackgroundEnd = 45,
 
+		kTabActiveStart = 46,
+		kTabActiveEnd = 47,
+		kTabInactiveStart = 48,
+		kTabInactiveEnd = 49,
+
 		kColorHandlesMax
 	};
 	

Modified: scummvm/branches/branch-0-9-0/gui/themes/modern.ini
===================================================================
--- scummvm/branches/branch-0-9-0/gui/themes/modern.ini	2006-06-14 16:29:56 UTC (rev 23106)
+++ scummvm/branches/branch-0-9-0/gui/themes/modern.ini	2006-06-14 16:40:57 UTC (rev 23107)
@@ -1,7 +1,7 @@
 # $URL$
 # $Id$
 [theme]
-version=15
+version=16
 
 [pixmaps]
 pix_dialog_corner="dialog_bkgd_corner.bmp"
@@ -24,10 +24,10 @@
 
 pix_widget_arrow="widget_arrow.bmp"
 
-pix_tab_corner="widget_small_bkgd_corner.bmp"
-pix_tab_top="widget_small_bkgd_top.bmp"
-pix_tab_left="widget_small_bkgd_left.bmp"
-pix_tab_bkgd="widget_small_bkgd.bmp"
+pix_tab_corner="tab_bkgd_corner.bmp"
+pix_tab_top="button_bkgd_top.bmp"
+pix_tab_left="button_bkgd_left.bmp"
+pix_tab_bkgd="button_bkgd.bmp"
 
 pix_slider_bkgd_corner="button_bkgd_corner.bmp"
 pix_slider_bkgd_top="button_bkgd_top.bmp"
@@ -105,8 +105,13 @@
 slider_highlight_end=200 70 50
 
 tab_background_start=246 224 139
-tab_background_end=251 241 206
+tab_background_end=249 238 190
 
+tab_active_start=246 224 139
+tab_active_end=249 238 190
+tab_inactive_start=246 224 139
+tab_inactive_end=246 224 139
+
 scrollbar_background_start=247 228 166
 scrollbar_background_end=247 228 166
 scrollbar_button_start=247 228 166

Modified: scummvm/branches/branch-0-9-0/gui/themes/modern.zip
===================================================================
(Binary files differ)


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