aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2005-04-19 20:35:48 +0000
committerMax Horn2005-04-19 20:35:48 +0000
commit25d56525c8856a069de0762ac72d2470083226c5 (patch)
treef8a733c7156d11e15e65b2e9865a34591942df8c
parent2cfb9322e2e2b59fa2ab311491445ef801d4979a (diff)
downloadscummvm-rg350-25d56525c8856a069de0762ac72d2470083226c5.tar.gz
scummvm-rg350-25d56525c8856a069de0762ac72d2470083226c5.tar.bz2
scummvm-rg350-25d56525c8856a069de0762ac72d2470083226c5.zip
Replace OSystem::hasAlpha with a feature flag
svn-id: r17695
-rw-r--r--backends/dc/dc.h1
-rw-r--r--backends/dc/dcmain.cpp1
-rw-r--r--common/system.h14
-rw-r--r--gui/newgui.cpp2
4 files changed, 8 insertions, 10 deletions
diff --git a/backends/dc/dc.h b/backends/dc/dc.h
index 42994c0012..3b7c0ae31f 100644
--- a/backends/dc/dc.h
+++ b/backends/dc/dc.h
@@ -133,7 +133,6 @@ class OSystem_Dreamcast : public OSystem {
void clearOverlay();
void grabOverlay(int16 *buf, int pitch);
void copyRectToOverlay(const int16 *buf, int pitch, int x, int y, int w, int h);
- bool hasAlpha() const { return true; }
OverlayColor RGBToColor(uint8 r, uint8 g, uint8 b) { return ARGBToColor(255, r, g, b); }
void colorToRGB(OverlayColor color, uint8 &r, uint8 &g, uint8 &b) {
uint8 tmp; colorToARGB(color, tmp, r, g, b);
diff --git a/backends/dc/dcmain.cpp b/backends/dc/dcmain.cpp
index 69a00a19b3..2068e2f51e 100644
--- a/backends/dc/dcmain.cpp
+++ b/backends/dc/dcmain.cpp
@@ -151,6 +151,7 @@ bool OSystem_Dreamcast::hasFeature(Feature f)
switch(f) {
case kFeatureAspectRatioCorrection:
case kFeatureVirtualKeyboard:
+ case kFeatureOverlaySupportsAlpha:
return true;
default:
return false;
diff --git a/common/system.h b/common/system.h
index 94d7bd3e84..ec7c7b40b7 100644
--- a/common/system.h
+++ b/common/system.h
@@ -110,7 +110,12 @@ public:
* Entertainment games. If backend doesn't implement this feature then
* engine switches to b/w version of cursors.
*/
- kFeatureCursorHasPalette
+ kFeatureCursorHasPalette,
+
+ /**
+ * Set to true if the overlay pixel format has an alpha channel.
+ */
+ kFeatureOverlaySupportsAlpha
};
/**
@@ -461,13 +466,6 @@ public:
virtual int overlayToScreenY(int y) { return y; }
/**
- * Return true if the overlay pixel format has an alpha channel.
- */
- virtual bool hasAlpha() const {
- return false;
- }
-
- /**
* Convert the given RGB triplet into an OverlayColor. A OverlayColor can
* be 8bit, 16bit or 32bit, depending on the target system. The default
* implementation generates a 16 bit color value, in the 565 format
diff --git a/gui/newgui.cpp b/gui/newgui.cpp
index a9b6070efc..b46039a1fd 100644
--- a/gui/newgui.cpp
+++ b/gui/newgui.cpp
@@ -365,7 +365,7 @@ void NewGui::blendRect(int x, int y, int w, int h, OverlayColor color, int level
if (!rect.isValidRect())
return;
- if (_system->hasAlpha()) {
+ if (_system->hasFeature(OSystem::kFeatureOverlaySupportsAlpha)) {
int a, r, g, b;
uint8 aa, ar, ag, ab;