diff options
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/iff.cpp | 2 | ||||
-rw-r--r-- | graphics/imagedec.cpp | 2 | ||||
-rw-r--r-- | graphics/jpeg.cpp | 4 | ||||
-rw-r--r-- | graphics/pict.cpp | 2 | ||||
-rw-r--r-- | graphics/png.cpp | 5 | ||||
-rw-r--r-- | graphics/scaler/thumbnail_intern.cpp | 12 | ||||
-rw-r--r-- | graphics/thumbnail.cpp | 4 |
7 files changed, 16 insertions, 15 deletions
diff --git a/graphics/iff.cpp b/graphics/iff.cpp index 2174291112..0e6052d003 100644 --- a/graphics/iff.cpp +++ b/graphics/iff.cpp @@ -204,7 +204,7 @@ struct PBMLoader { case ID_BODY: if (_surface) { - _surface->create(_decoder._header.width, _decoder._header.height, 1); + _surface->create(_decoder._header.width, _decoder._header.height, PixelFormat::createFormatCLUT8()); _decoder.loadBitmap((byte*)_surface->pixels, chunk._stream); } return true; // stop the parser diff --git a/graphics/imagedec.cpp b/graphics/imagedec.cpp index a4d2fbc1cf..b41eb59836 100644 --- a/graphics/imagedec.cpp +++ b/graphics/imagedec.cpp @@ -117,7 +117,7 @@ Surface *BMPDecoder::decodeImage(Common::SeekableReadStream &stream, const Pixel uint8 r = 0, g = 0, b = 0; Surface *newSurf = new Surface; assert(newSurf); - newSurf->create(info.width, info.height, sizeof(OverlayColor)); + newSurf->create(info.width, info.height, format); assert(newSurf->pixels); OverlayColor *curPixel = (OverlayColor*)newSurf->pixels + (newSurf->h-1) * newSurf->w; int pitchAdd = info.width % 4; diff --git a/graphics/jpeg.cpp b/graphics/jpeg.cpp index 169c3b5f1b..6f4ee169cd 100644 --- a/graphics/jpeg.cpp +++ b/graphics/jpeg.cpp @@ -95,7 +95,7 @@ Surface *JPEG::getSurface(const PixelFormat &format) { Graphics::Surface *vComponent = getComponent(3); Graphics::Surface *output = new Graphics::Surface(); - output->create(yComponent->w, yComponent->h, format.bytesPerPixel); + output->create(yComponent->w, yComponent->h, format); for (uint16 i = 0; i < output->h; i++) { for (uint16 j = 0; j < output->w; j++) { @@ -443,7 +443,7 @@ bool JPEG::readSOS() { // Initialize the scan surfaces for (uint16 c = 0; c < _numScanComp; c++) { - _scanComp[c]->surface.create(xMCU * _maxFactorH * 8, yMCU * _maxFactorV * 8, 1); + _scanComp[c]->surface.create(xMCU * _maxFactorH * 8, yMCU * _maxFactorV * 8, PixelFormat::createFormatCLUT8()); } bool ok = true; diff --git a/graphics/pict.cpp b/graphics/pict.cpp index ca4aac751d..a0d081adb9 100644 --- a/graphics/pict.cpp +++ b/graphics/pict.cpp @@ -209,7 +209,7 @@ void PictDecoder::decodeDirectBitsRect(Common::SeekableReadStream *stream, bool bytesPerPixel = directBitsData.pixMap.pixelSize / 8; _outputSurface = new Graphics::Surface(); - _outputSurface->create(width, height, (bytesPerPixel == 1) ? 1 : _pixelFormat.bytesPerPixel); + _outputSurface->create(width, height, (bytesPerPixel == 1) ? PixelFormat::createFormatCLUT8() : _pixelFormat); byte *buffer = new byte[width * height * bytesPerPixel]; // Read in amount of data per row diff --git a/graphics/png.cpp b/graphics/png.cpp index b256c87cf5..19f763272e 100644 --- a/graphics/png.cpp +++ b/graphics/png.cpp @@ -112,7 +112,7 @@ PNG::~PNG() { Graphics::Surface *PNG::getSurface(const PixelFormat &format) { Graphics::Surface *output = new Graphics::Surface(); - output->create(_unfilteredSurface->w, _unfilteredSurface->h, format.bytesPerPixel); + output->create(_unfilteredSurface->w, _unfilteredSurface->h, format); byte *src = (byte *)_unfilteredSurface->pixels; byte a = 0xFF; @@ -388,7 +388,8 @@ void PNG::constructImage() { delete _unfilteredSurface; } _unfilteredSurface = new Graphics::Surface(); - _unfilteredSurface->create(_header.width, _header.height, (getNumColorChannels() * _header.bitDepth + 7) / 8); + // TODO/FIXME: It seems we can not properly determine the format here. But maybe there is a way... + _unfilteredSurface->create(_header.width, _header.height, PixelFormat((getNumColorChannels() * _header.bitDepth + 7) / 8, 0, 0, 0, 0, 0, 0, 0, 0)); scanLine = new byte[_unfilteredSurface->pitch]; dest = (byte *)_unfilteredSurface->getBasePtr(0, 0); diff --git a/graphics/scaler/thumbnail_intern.cpp b/graphics/scaler/thumbnail_intern.cpp index 5cee1c7a72..a3a98079d6 100644 --- a/graphics/scaler/thumbnail_intern.cpp +++ b/graphics/scaler/thumbnail_intern.cpp @@ -104,7 +104,7 @@ static bool grabScreen565(Graphics::Surface *surf) { Graphics::PixelFormat screenFormat = g_system->getScreenFormat(); - surf->create(screen->w, screen->h, 2); + surf->create(screen->w, screen->h, Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0)); byte *palette = 0; if (screenFormat.bytesPerPixel == 1) { @@ -146,7 +146,7 @@ static bool createThumbnail(Graphics::Surface &out, Graphics::Surface &in) { // center MM NES screen Graphics::Surface newscreen; - newscreen.create(width, in.h, in.bytesPerPixel); + newscreen.create(width, in.h, in.format); uint8 *dst = (uint8 *)newscreen.getBasePtr((320 - in.w) / 2, 0); const uint8 *src = (const uint8 *)in.getBasePtr(0, 0); @@ -171,7 +171,7 @@ static bool createThumbnail(Graphics::Surface &out, Graphics::Surface &in) { // cut off menu and so on.. Graphics::Surface newscreen; - newscreen.create(width, 400, in.bytesPerPixel); + newscreen.create(width, 400, in.format); uint8 *dst = (uint8 *)newscreen.getBasePtr(0, (400 - 240) / 2); const uint8 *src = (const uint8 *)in.getBasePtr(41, 28); @@ -190,7 +190,7 @@ static bool createThumbnail(Graphics::Surface &out, Graphics::Surface &in) { inHeight = 480; Graphics::Surface newscreen; - newscreen.create(width, 480, in.bytesPerPixel); + newscreen.create(width, 480, in.format); memcpy(newscreen.getBasePtr(0, 0), in.getBasePtr(0, 0), width * 440 * in.bytesPerPixel); @@ -200,7 +200,7 @@ static bool createThumbnail(Graphics::Surface &out, Graphics::Surface &in) { uint16 newHeight = !(inHeight % 240) ? kThumbnailHeight2 : kThumbnailHeight1; - out.create(kThumbnailWidth, newHeight, sizeof(uint16)); + out.create(kThumbnailWidth, newHeight, Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0)); createThumbnail((const uint8 *)in.pixels, width * sizeof(uint16), (uint8 *)out.pixels, out.pitch, width, inHeight); in.free(); @@ -223,7 +223,7 @@ bool createThumbnail(Graphics::Surface *surf, const uint8 *pixels, int w, int h, assert(surf); Graphics::Surface screen; - screen.create(w, h, 2); + screen.create(w, h, Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0)); for (uint y = 0; y < screen.h; ++y) { for (uint x = 0; x < screen.w; ++x) { diff --git a/graphics/thumbnail.cpp b/graphics/thumbnail.cpp index 8688096c3d..953faea484 100644 --- a/graphics/thumbnail.cpp +++ b/graphics/thumbnail.cpp @@ -107,10 +107,10 @@ bool loadThumbnail(Common::SeekableReadStream &in, Graphics::Surface &to) { return false; } - to.create(header.width, header.height, sizeof(OverlayColor)); + Graphics::PixelFormat format = g_system->getOverlayFormat(); + to.create(header.width, header.height, format); OverlayColor *pixels = (OverlayColor *)to.pixels; - Graphics::PixelFormat format = g_system->getOverlayFormat(); for (int y = 0; y < to.h; ++y) { for (int x = 0; x < to.w; ++x) { uint8 r, g, b; |