aboutsummaryrefslogtreecommitdiff
path: root/gui
diff options
context:
space:
mode:
authorJohannes Schickel2006-06-14 16:29:56 +0000
committerJohannes Schickel2006-06-14 16:29:56 +0000
commit793151a0aa4c8fe5ee5ce2e312826a361fd80474 (patch)
tree8acfda9a3dbdeabad03f5b5599b42fbe96cb5277 /gui
parent6fe3d3214d98df513fbe59eb79b7951ee6b0174b (diff)
downloadscummvm-rg350-793151a0aa4c8fe5ee5ce2e312826a361fd80474.tar.gz
scummvm-rg350-793151a0aa4c8fe5ee5ce2e312826a361fd80474.tar.bz2
scummvm-rg350-793151a0aa4c8fe5ee5ce2e312826a361fd80474.zip
Implements new Tab drawing for modern theme (nearlly matches mockups now)
svn-id: r23106
Diffstat (limited to 'gui')
-rw-r--r--gui/TabWidget.cpp55
-rw-r--r--gui/TabWidget.h4
-rw-r--r--gui/ThemeClassic.cpp15
-rw-r--r--gui/ThemeNew.cpp104
-rw-r--r--gui/theme.h27
-rw-r--r--gui/themes/modern.ini17
-rw-r--r--gui/themes/modern.zipbin41087 -> 41239 bytes
7 files changed, 139 insertions, 83 deletions
diff --git a/gui/TabWidget.cpp b/gui/TabWidget.cpp
index 16f4786c38..98772985fa 100644
--- a/gui/TabWidget.cpp
+++ b/gui/TabWidget.cpp
@@ -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 @@ TabWidget::TabWidget(GuiObject *boss, const String &name)
}
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,14 +70,7 @@ int TabWidget::addTab(const String &title) {
_tabs.push_back(newTab);
int numTabs = _tabs.size();
-
- // 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;
+ _tabWidth = _w / numTabs;
// Activate the new tab
setActiveTab(numTabs - 1);
@@ -116,9 +98,8 @@ void TabWidget::handleMouseDown(int x, int y, int button, int clickCount) {
// 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 @@ void TabWidget::handleScreenChanged() {
}
}
- 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) {
diff --git a/gui/TabWidget.h b/gui/TabWidget.h
index b3a7a6b873..d6e158364e 100644
--- a/gui/TabWidget.h
+++ b/gui/TabWidget.h
@@ -41,6 +41,10 @@ protected:
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);
diff --git a/gui/ThemeClassic.cpp b/gui/ThemeClassic.cpp
index b1ebba917a..f56eec08fe 100644
--- a/gui/ThemeClassic.cpp
+++ b/gui/ThemeClassic.cpp
@@ -138,6 +138,21 @@ void ThemeClassic::resetDrawArea() {
}
}
+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;
diff --git a/gui/ThemeNew.cpp b/gui/ThemeNew.cpp
index ad85705655..ef73508ba4 100644
--- a/gui/ThemeNew.cpp
+++ b/gui/ThemeNew.cpp
@@ -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 @@ void ThemeNew::drawTab(const Common::Rect &r, int tabHeight, int tabWidth, const
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 @@ void ThemeNew::drawLineSeparator(const Common::Rect &r, State state) {
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::drawRect(const Common::Rect &r, const Surface *corner, const Surf
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 @@ void ThemeNew::drawRectMasked(const Common::Rect &r, const Graphics::Surface *co
// 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 @@ Common::Rect ThemeNew::shadowRect(const Common::Rect &r, uint32 shadowStyle) {
}
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 @@ void ThemeNew::drawShadow(const Common::Rect &r, const Graphics::Surface *corner
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 @@ void ThemeNew::drawShadow(const Common::Rect &r, const Graphics::Surface *corner
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 @@ void ThemeNew::drawShadow(const Common::Rect &r, const Graphics::Surface *corner
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::drawShadow(const Common::Rect &r, const Graphics::Surface *corner
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 @@ void ThemeNew::drawShadowRect(const Common::Rect &r, const Common::Rect &area, c
// 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 @@ void ThemeNew::setupColors() {
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]);
diff --git a/gui/theme.h b/gui/theme.h
index cbe7eaf663..137abafb72 100644
--- a/gui/theme.h
+++ b/gui/theme.h
@@ -160,6 +160,10 @@ public:
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 @@ public:
void resetDrawArea();
-
typedef Common::String String;
const Graphics::Font *getFont(FontStyle font) const { return _font; }
@@ -261,6 +264,10 @@ public:
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 @@ public:
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 @@ private:
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 @@ public:
kEditTextBkgd = 47,
kGUICursor = 48,
-
+
kImageHandlesMax
};
@@ -554,6 +566,11 @@ private:
kEditTextBackgroundStart = 44,
kEditTextBackgroundEnd = 45,
+ kTabActiveStart = 46,
+ kTabActiveEnd = 47,
+ kTabInactiveStart = 48,
+ kTabInactiveEnd = 49,
+
kColorHandlesMax
};
diff --git a/gui/themes/modern.ini b/gui/themes/modern.ini
index 711a5c0857..4531fb3605 100644
--- a/gui/themes/modern.ini
+++ b/gui/themes/modern.ini
@@ -1,7 +1,7 @@
# $URL$
# $Id$
[theme]
-version=15
+version=16
[pixmaps]
pix_dialog_corner="dialog_bkgd_corner.bmp"
@@ -24,10 +24,10 @@ pix_checkbox_checked="checkbox_checked.bmp"
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,7 +105,12 @@ slider_highlight_start=255 210 200
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
diff --git a/gui/themes/modern.zip b/gui/themes/modern.zip
index 628dbc545e..9344f9b1cc 100644
--- a/gui/themes/modern.zip
+++ b/gui/themes/modern.zip
Binary files differ