[Scummvm-cvs-logs] SF.net SVN: scummvm: [22735] scummvm/trunk/gui

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Mon May 29 06:13:05 CEST 2006


Revision: 22735
Author:   lordhoto
Date:     2006-05-29 06:12:04 -0700 (Mon, 29 May 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=22735&view=rev

Log Message:
-----------
- Fixes disabled transparency for classic theme.
- Introduces check for define 'CT_NO_TRANSPARENCY' to disable transparency support.

Modified Paths:
--------------
    scummvm/trunk/gui/ThemeClassic.cpp
    scummvm/trunk/gui/theme.h
Modified: scummvm/trunk/gui/ThemeClassic.cpp
===================================================================
--- scummvm/trunk/gui/ThemeClassic.cpp	2006-05-29 13:06:28 UTC (rev 22734)
+++ scummvm/trunk/gui/ThemeClassic.cpp	2006-05-29 13:12:04 UTC (rev 22735)
@@ -26,7 +26,7 @@
 	_system = system;
 	_initOk = false;
 	memset(&_screen, 0, sizeof(_screen));
-#ifdef OLDGUI_TRANSPARENCY
+#ifndef CT_NO_TRANSPARENCY
 	memset(&_dialog, 0, sizeof(_dialog));
 #endif
 	_font = 0;
@@ -97,7 +97,7 @@
 }
 
 void ThemeClassic::openDialog(bool topDialog) {
-#ifdef OLDGUI_TRANSPARENCY
+#ifndef CT_NO_TRANSPARENCY
 	if (!_dialog) {
 		_dialog = new DialogState;
 		assert(_dialog);
@@ -110,7 +110,7 @@
 }
 
 void ThemeClassic::closeDialog() {
-#ifdef OLDGUI_TRANSPARENCY
+#ifndef CT_NO_TRANSPARENCY
 	if (_dialog) {
 		_dialog->screen.free();
 		delete _dialog;
@@ -143,11 +143,13 @@
 		return;
 	
 	restoreBackground(r);
-	
+
+#ifndef CT_NO_TRANSPARENCY
 	if ((hints & THEME_HINT_SAVE_BACKGROUND) && !(hints & THEME_HINT_FIRST_DRAW) && !_forceRedraw) {
 		addDirtyRect(r);
 		return;
 	}
+#endif
 
 	box(r.left, r.top, r.width(), r.height(), _color, _shadowcolor);
 	addDirtyRect(r, (hints & THEME_HINT_SAVE_BACKGROUND) != 0);
@@ -181,11 +183,13 @@
 		return;
 
 	restoreBackground(r);
-	
+
+#ifndef CT_NO_TRANSPARENCY
 	if ((hints & THEME_HINT_SAVE_BACKGROUND) && !(hints & THEME_HINT_FIRST_DRAW) && !_forceRedraw) {
 		addDirtyRect(r);
 		return;
 	}
+#endif
 
 	switch (background) {
 	case kWidgetBackgroundBorder:
@@ -452,7 +456,7 @@
 void ThemeClassic::restoreBackground(Common::Rect r, bool special) {
 	r.clip(_screen.w, _screen.h);
 	r.clip(_drawArea);
-#ifndef OLDGUI_TRANSPARENCY
+#ifdef CT_NO_TRANSPARENCY
 	_screen.fillRect(r, _bgcolor);
 #else
 	if (_dialog) {
@@ -482,7 +486,7 @@
 	r.clip(_screen.w, _screen.h);
 	r.clip(_drawArea);
 	_system->copyRectToOverlay((OverlayColor*)_screen.getBasePtr(r.left, r.top), _screen.w, r.left, r.top, r.width(), r.height());
-#ifdef OLDGUI_TRANSPARENCY
+#ifndef CT_NO_TRANSPARENCY
 	if (_dialog && save) {
 		if (_dialog->screen.pixels) {
 			OverlayColor *dst = (OverlayColor*)_dialog->screen.getBasePtr(r.left, r.top);
@@ -544,7 +548,7 @@
 	return usedColor;
 }
 
-#ifdef OLDGUI_TRANSPARENCY
+#ifndef CT_NO_TRANSPARENCY
 void ThemeClassic::blendScreenToDialog() {
 	Common::Rect rect(0, 0, _screen.w, _screen.h);
 

Modified: scummvm/trunk/gui/theme.h
===================================================================
--- scummvm/trunk/gui/theme.h	2006-05-29 13:06:28 UTC (rev 22734)
+++ scummvm/trunk/gui/theme.h	2006-05-29 13:12:04 UTC (rev 22735)
@@ -206,7 +206,8 @@
 	int _loadedThemeX, _loadedThemeY;
 };
 
-#define OLDGUI_TRANSPARENCY
+// enable this to disable transparency support for the classic theme
+//#define CT_NO_TRANSPARENCY
 
 class ThemeClassic : public Theme {
 public:
@@ -263,7 +264,7 @@
 	OSystem *_system;
 	Graphics::Surface _screen;
 
-#ifdef OLDGUI_TRANSPARENCY
+#ifndef CT_NO_TRANSPARENCY
 	struct DialogState {
 		Graphics::Surface screen;
 	} *_dialog;


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