aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/conversion.cpp27
-rw-r--r--graphics/conversion.h12
2 files changed, 22 insertions, 17 deletions
diff --git a/graphics/conversion.cpp b/graphics/conversion.cpp
index 3db0bee33c..aa544ac718 100644
--- a/graphics/conversion.cpp
+++ b/graphics/conversion.cpp
@@ -23,15 +23,16 @@
*/
#include "graphics/conversion.h"
-#include "common/scummsys.h"
+
namespace Graphics {
+
// TODO: YUV to RGB conversion function
// Function to blit a rect from one color format to another
-bool crossBlit(byte *dst, const byte *src, int dstpitch, int srcpitch,
+bool crossBlit(byte *dst, const byte *src, int dstpitch, int srcpitch,
int w, int h, Graphics::PixelFormat dstFmt, Graphics::PixelFormat srcFmt) {
// Error out if conversion is impossible
- if ((srcFmt.bytesPerPixel == 1) || (dstFmt.bytesPerPixel == 1)
+ if ((srcFmt.bytesPerPixel == 1) || (dstFmt.bytesPerPixel == 1)
|| (!srcFmt.bytesPerPixel) || (!dstFmt.bytesPerPixel)
|| (srcFmt.bytesPerPixel > dstFmt.bytesPerPixel))
return false;
@@ -41,14 +42,13 @@ bool crossBlit(byte *dst, const byte *src, int dstpitch, int srcpitch,
return true;
// Faster, but larger, to provide optimized handling for each case.
- int srcDelta,dstDelta;
+ int srcDelta, dstDelta;
srcDelta = (srcpitch - w * srcFmt.bytesPerPixel);
dstDelta = (dstpitch - w * dstFmt.bytesPerPixel);
// TODO: optimized cases for dstDelta of 0
- uint8 r,g,b,a;
- if (dstFmt.bytesPerPixel == 2)
- {
+ uint8 r, g, b, a;
+ if (dstFmt.bytesPerPixel == 2) {
uint16 color;
for (int y = 0; y < h; y++) {
for (int x = 0; x < w; x++, src += 2, dst += 2) {
@@ -72,7 +72,7 @@ bool crossBlit(byte *dst, const byte *src, int dstpitch, int srcpitch,
color = *(uint16 *) src;
srcFmt.colorToARGB(color, a, r, g, b);
color = dstFmt.ARGBToColor(a, r, g, b);
- memcpy(dst,col,3);
+ memcpy(dst, col, 3);
}
src += srcDelta;
dst += dstDelta;
@@ -80,11 +80,11 @@ bool crossBlit(byte *dst, const byte *src, int dstpitch, int srcpitch,
} else {
for (int y = 0; y < h; y++) {
for (int x = 0; x < w; x++, src += 3, dst += 3) {
- uint8 r,g,b,a;
- memcpy(col,src,3);
+ uint8 r, g, b, a;
+ memcpy(col, src, 3);
srcFmt.colorToARGB(color, a, r, g, b);
color = dstFmt.ARGBToColor(a, r, g, b);
- memcpy(dst,col,3);
+ memcpy(dst, col, 3);
}
src += srcDelta;
dst += dstDelta;
@@ -110,7 +110,7 @@ bool crossBlit(byte *dst, const byte *src, int dstpitch, int srcpitch,
#endif
for (int y = 0; y < h; y++) {
for (int x = 0; x < w; x++, src += 2, dst += 4) {
- memcpy(col,src,3);
+ memcpy(col, src, 3);
srcFmt.colorToARGB(color, a, r, g, b);
color = dstFmt.ARGBToColor(a, r, g, b);
*(uint32 *) dst = color;
@@ -135,4 +135,5 @@ bool crossBlit(byte *dst, const byte *src, int dstpitch, int srcpitch,
}
return true;
}
-} // end of namespace Graphics \ No newline at end of file
+
+} // end of namespace Graphics
diff --git a/graphics/conversion.h b/graphics/conversion.h
index b04c9cb9d9..aa7cade982 100644
--- a/graphics/conversion.h
+++ b/graphics/conversion.h
@@ -22,11 +22,13 @@
* $Id$
*
*/
+
#ifndef GRAPHICS_CONVERSION_H
#define GRAPHICS_CONVERSION_H
#include "common/scummsys.h"
#include "graphics/pixelformat.h"
+
namespace Graphics {
// TODO: generic YUV to RGB pixel conversion
@@ -43,14 +45,16 @@ namespace Graphics {
* @param h the height of the graphics data
* @param dstFmt the desired pixel format
* @param srcFmt the original pixel format
- * @return true if conversion completes successfully,
+ * @return true if conversion completes successfully,
* false if there is an error.
*
- * @note This implementation currently requires the destination's
+ * @note This implementation currently requires the destination's
* format have at least as high a bitdepth as the source's.
*
*/
-bool crossBlit(byte *dst, const byte *src, int dstpitch, int srcpitch,
+bool crossBlit(byte *dst, const byte *src, int dstpitch, int srcpitch,
int w, int h, Graphics::PixelFormat dstFmt, Graphics::PixelFormat srcFmt);
+
} // end of namespace Graphics
-#endif //GRAPHICS_CONVERSION_H
+
+#endif // GRAPHICS_CONVERSION_H