diff options
| author | Johannes Schickel | 2012-06-16 02:18:01 +0200 |
|---|---|---|
| committer | Johannes Schickel | 2012-06-16 02:18:01 +0200 |
| commit | 31880186e1c78023e2e552a7fceaa27c3d2d08b1 (patch) | |
| tree | 08f62b1b8d032a490e1d3d63f33814ed93785439 /backends/graphics/surfacesdl | |
| parent | f917db972e0ae7e4e82a6430010a155cbb3a92c0 (diff) | |
| download | scummvm-rg350-31880186e1c78023e2e552a7fceaa27c3d2d08b1.tar.gz scummvm-rg350-31880186e1c78023e2e552a7fceaa27c3d2d08b1.tar.bz2 scummvm-rg350-31880186e1c78023e2e552a7fceaa27c3d2d08b1.zip | |
BACKENDS: Let copyRectToScreen take a "const void *" instead of "const byte *" as buffer.
This removes the need to convert the parameter to copyRectToScreen to
"const byte *", which is commonly used in games, which use Graphics::Surface
to store their graphics data.
Diffstat (limited to 'backends/graphics/surfacesdl')
| -rw-r--r-- | backends/graphics/surfacesdl/surfacesdl-graphics.cpp | 10 | ||||
| -rw-r--r-- | backends/graphics/surfacesdl/surfacesdl-graphics.h | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp index 652c08dc45..9244135262 100644 --- a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp +++ b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp @@ -1227,9 +1227,9 @@ void SurfaceSdlGraphicsManager::setAspectRatioCorrection(bool enable) { } } -void SurfaceSdlGraphicsManager::copyRectToScreen(const byte *src, int pitch, int x, int y, int w, int h) { +void SurfaceSdlGraphicsManager::copyRectToScreen(const void *buf, int pitch, int x, int y, int w, int h) { assert(_transactionMode == kTransactionNone); - assert(src); + assert(buf); if (_screen == NULL) { warning("SurfaceSdlGraphicsManager::copyRectToScreen: _screen == NULL"); @@ -1252,8 +1252,9 @@ void SurfaceSdlGraphicsManager::copyRectToScreen(const byte *src, int pitch, int #ifdef USE_RGB_COLOR byte *dst = (byte *)_screen->pixels + y * _screen->pitch + x * _screenFormat.bytesPerPixel; if (_videoMode.screenWidth == w && pitch == _screen->pitch) { - memcpy(dst, src, h*pitch); + memcpy(dst, buf, h*pitch); } else { + const byte *src = (const byte *)buf; do { memcpy(dst, src, w * _screenFormat.bytesPerPixel); src += pitch; @@ -1263,8 +1264,9 @@ void SurfaceSdlGraphicsManager::copyRectToScreen(const byte *src, int pitch, int #else byte *dst = (byte *)_screen->pixels + y * _screen->pitch + x; if (_screen->pitch == pitch && pitch == w) { - memcpy(dst, src, h*w); + memcpy(dst, buf, h*w); } else { + const byte *src = (const byte *)buf; do { memcpy(dst, src, w); src += pitch; diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.h b/backends/graphics/surfacesdl/surfacesdl-graphics.h index 32fb219bcd..f2b2d7b239 100644 --- a/backends/graphics/surfacesdl/surfacesdl-graphics.h +++ b/backends/graphics/surfacesdl/surfacesdl-graphics.h @@ -111,7 +111,7 @@ protected: virtual void grabPalette(byte *colors, uint start, uint num); public: - virtual void copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h); + virtual void copyRectToScreen(const void *buf, int pitch, int x, int y, int w, int h); virtual Graphics::Surface *lockScreen(); virtual void unlockScreen(); virtual void fillScreen(uint32 col); |
