[Scummvm-cvs-logs] scummvm master -> 71bdb86e028db9556611f88b3686ce93312a8131
lordhoto
lordhoto at gmail.com
Sun May 1 16:57:12 CEST 2011
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
71bdb86e02 Merge pull request #16 "Add a PixelFormat to Graphics::Surface.".
Commit: 71bdb86e028db9556611f88b3686ce93312a8131
https://github.com/scummvm/scummvm/commit/71bdb86e028db9556611f88b3686ce93312a8131
Author: Johannes Schickel (lordhoto at scummvm.org)
Date: 2011-05-01T07:54:45-07:00
Commit Message:
Merge pull request #16 "Add a PixelFormat to Graphics::Surface.".
For further discussion check here:
https://github.com/scummvm/scummvm/pull/16
Conflicts:
graphics/png.cpp
Changed paths:
backends/graphics/opengl/opengl-graphics.cpp
backends/graphics/sdl/sdl-graphics.cpp
backends/platform/android/gfx.cpp
backends/platform/android/texture.cpp
backends/platform/dc/display.cpp
backends/platform/ds/arm9/source/osystem_ds.cpp
backends/platform/iphone/osys_video.cpp
backends/platform/n64/osys_n64_base.cpp
backends/platform/ps2/Gs2dScreen.cpp
backends/platform/ps2/systemps2.cpp
backends/platform/psp/default_display_client.cpp
backends/platform/wii/osystem_gfx.cpp
backends/vkeybd/virtual-keyboard-gui.cpp
engines/agos/agos.cpp
engines/draci/surface.cpp
engines/gob/videoplayer.cpp
engines/groovie/graphics.cpp
engines/groovie/roq.cpp
engines/hugo/dialogs.cpp
engines/hugo/intro.cpp
engines/lastexpress/data/animation.cpp
engines/lastexpress/data/sequence.cpp
engines/lastexpress/graphics.cpp
engines/m4/dialogs.cpp
engines/m4/graphics.cpp
engines/m4/graphics.h
engines/made/pmvplayer.cpp
engines/made/resource.cpp
engines/made/screen.cpp
engines/mohawk/bitmap.cpp
engines/mohawk/cursors.cpp
engines/mohawk/graphics.cpp
engines/mohawk/video.cpp
engines/parallaction/balloons.cpp
engines/parallaction/disk.cpp
engines/parallaction/disk_br.cpp
engines/parallaction/disk_ns.cpp
engines/parallaction/graphics.cpp
engines/parallaction/gui_br.cpp
engines/parallaction/gui_ns.cpp
engines/parallaction/input.cpp
engines/parallaction/inventory.cpp
engines/saga/gfx.cpp
engines/saga/render.cpp
engines/sci/video/robot_decoder.cpp
engines/sci/video/seq_decoder.cpp
engines/scumm/charset.cpp
engines/scumm/cursor.cpp
engines/scumm/gfx.cpp
engines/scumm/gfx.h
engines/scumm/gfx_towns.cpp
engines/scumm/scumm.cpp
engines/sword25/fmv/movieplayer.cpp
engines/sword25/fmv/theora_decoder.cpp
engines/sword25/gfx/graphicengine.cpp
engines/sword25/gfx/image/renderedimage.cpp
engines/sword25/gfx/screenshot.cpp
engines/teenagent/scene.cpp
engines/teenagent/surface.cpp
engines/tinsel/tinsel.cpp
engines/toon/movie.cpp
engines/toon/toon.cpp
engines/tsage/graphics.cpp
graphics/VectorRendererSpec.cpp
graphics/font.cpp
graphics/fonts/scummfont.cpp
graphics/fonts/winfont.cpp
graphics/iff.cpp
graphics/imagedec.cpp
graphics/jpeg.cpp
graphics/pict.cpp
graphics/png.cpp
graphics/scaler/thumbnail_intern.cpp
graphics/sjis.cpp
graphics/surface.cpp
graphics/surface.h
graphics/thumbnail.cpp
gui/ThemeEngine.cpp
gui/widget.cpp
video/codecs/cdtoons.cpp
video/codecs/cinepak.cpp
video/codecs/indeo3.cpp
video/codecs/mjpeg.cpp
video/codecs/msrle.cpp
video/codecs/msvideo1.cpp
video/codecs/qtrle.cpp
video/codecs/rpza.cpp
video/codecs/smc.cpp
video/codecs/truemotion1.cpp
video/coktel_decoder.cpp
video/dxa_decoder.cpp
video/flic_decoder.cpp
video/qt_decoder.cpp
video/smk_decoder.cpp
diff --cc graphics/png.cpp
index 46e3c25,5a2cd16..3cdb9f7
--- a/graphics/png.cpp
+++ b/graphics/png.cpp
@@@ -128,43 -127,41 +128,43 @@@ Graphics::Surface *PNG::getSurface(cons
for (uint16 i = 0; i < output->h; i++) {
for (uint16 j = 0; j < output->w; j++) {
- if (format.bytesPerPixel == 2) {
+ if (format.bytesPerPixel == 2) { // 2bpp
+ uint16 *dest = ((uint16 *)output->getBasePtr(j, i));
- if (_unfilteredSurface->bytesPerPixel == 1) { // Grayscale
+ if (_unfilteredSurface->format.bytesPerPixel == 1) { // Grayscale
if (_transparentColorSpecified)
a = (src[0] == _transparentColor[0]) ? 0 : 0xFF;
- *((uint16 *)output->getBasePtr(j, i)) = format.ARGBToColor( a, src[0], src[0], src[0]);
+ *dest = format.ARGBToColor( a, src[0], src[0], src[0]);
- } else if (_unfilteredSurface->bytesPerPixel == 2) { // Grayscale + alpha
+ } else if (_unfilteredSurface->format.bytesPerPixel == 2) { // Grayscale + alpha
- *((uint16 *)output->getBasePtr(j, i)) = format.ARGBToColor(src[1], src[0], src[0], src[0]);
+ *dest = format.ARGBToColor(src[1], src[0], src[0], src[0]);
- } else if (_unfilteredSurface->bytesPerPixel == 3) { // RGB
+ } else if (_unfilteredSurface->format.bytesPerPixel == 3) { // RGB
if (_transparentColorSpecified) {
bool isTransparentColor = (src[0] == _transparentColor[0] &&
src[1] == _transparentColor[1] &&
src[2] == _transparentColor[2]);
a = isTransparentColor ? 0 : 0xFF;
}
- *((uint16 *)output->getBasePtr(j, i)) = format.ARGBToColor( a, src[0], src[1], src[2]);
+ *dest = format.ARGBToColor( a, src[0], src[1], src[2]);
- } else if (_unfilteredSurface->bytesPerPixel == 4) { // RGBA
+ } else if (_unfilteredSurface->format.bytesPerPixel == 4) { // RGBA
- *((uint16 *)output->getBasePtr(j, i)) = format.ARGBToColor(src[3], src[0], src[1], src[2]);
+ *dest = format.ARGBToColor(src[3], src[0], src[1], src[2]);
}
- } else {
+ } else { // 4bpp
+ uint32 *dest = ((uint32 *)output->getBasePtr(j, i));
- if (_unfilteredSurface->bytesPerPixel == 1) { // Grayscale
+ if (_unfilteredSurface->format.bytesPerPixel == 1) { // Grayscale
if (_transparentColorSpecified)
a = (src[0] == _transparentColor[0]) ? 0 : 0xFF;
- *((uint32 *)output->getBasePtr(j, i)) = format.ARGBToColor( a, src[0], src[0], src[0]);
+ *dest = format.ARGBToColor( a, src[0], src[0], src[0]);
- } else if (_unfilteredSurface->bytesPerPixel == 2) { // Grayscale + alpha
+ } else if (_unfilteredSurface->format.bytesPerPixel == 2) { // Grayscale + alpha
- *((uint32 *)output->getBasePtr(j, i)) = format.ARGBToColor(src[1], src[0], src[0], src[0]);
+ *dest = format.ARGBToColor(src[1], src[0], src[0], src[0]);
- } else if (_unfilteredSurface->bytesPerPixel == 3) { // RGB
+ } else if (_unfilteredSurface->format.bytesPerPixel == 3) { // RGB
if (_transparentColorSpecified) {
bool isTransparentColor = (src[0] == _transparentColor[0] &&
src[1] == _transparentColor[1] &&
src[2] == _transparentColor[2]);
a = isTransparentColor ? 0 : 0xFF;
}
- *((uint32 *)output->getBasePtr(j, i)) = format.ARGBToColor( a, src[0], src[1], src[2]);
+ *dest = format.ARGBToColor( a, src[0], src[1], src[2]);
- } else if (_unfilteredSurface->bytesPerPixel == 4) { // RGBA
+ } else if (_unfilteredSurface->format.bytesPerPixel == 4) { // RGBA
- *((uint32 *)output->getBasePtr(j, i)) = format.ARGBToColor(src[3], src[0], src[1], src[2]);
+ *dest = format.ARGBToColor(src[3], src[0], src[1], src[2]);
}
}
diff --cc graphics/surface.h
index 92c7b7e,283577a..1b54690
--- a/graphics/surface.h
+++ b/graphics/surface.h
@@@ -26,11 -26,10 +26,13 @@@
#define GRAPHICS_SURFACE_H
#include "common/scummsys.h"
-#include "common/rect.h"
+
+namespace Common {
+struct Rect;
+}
+ #include "graphics/pixelformat.h"
+
namespace Graphics {
/**
More information about the Scummvm-git-logs
mailing list