From: Fridrich S. <str...@us...> - 2010-06-06 19:25:00
|
Update of /cvsroot/libwpg/libwpg/src/lib In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv4023/src/lib Modified Files: WPGBitmap.cpp Log Message: Implement --with-dummy-bitmaps for purposes of svg validation runs Index: WPGBitmap.cpp =================================================================== RCS file: /cvsroot/libwpg/libwpg/src/lib/WPGBitmap.cpp,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- WPGBitmap.cpp 7 Sep 2009 09:50:15 -0000 1.27 +++ WPGBitmap.cpp 6 Jun 2010 19:24:52 -0000 1.28 @@ -27,6 +27,10 @@ #include "WPGBitmap.h" #include "libwpg_utils.h" +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #define DUMP_BITMAP 0 #if DUMP_BITMAP @@ -146,11 +150,16 @@ if (d->dib.size() || d->height <= 0 || d->width <= 0) return d->dib; +#ifndef OUTPUT_DUMMY_BITMAPS unsigned tmpPixelSize = (unsigned)(d->height * d->width); if (tmpPixelSize < (unsigned)d->height) // overflow return d->dib; +#else + unsigned tmpPixelSize = 1; +#endif unsigned tmpBufferPosition = 0; + unsigned tmpDIBImageSize = tmpPixelSize * 4; if (tmpPixelSize > tmpDIBImageSize) // overflow !!! return d->dib; @@ -173,8 +182,13 @@ // Create DIB Info header writeU32(tmpDIBBuffer, tmpBufferPosition, 40); // Size +#ifndef OUTPUT_DUMMY_BITMAPS writeU32(tmpDIBBuffer, tmpBufferPosition, width()); // Width writeU32(tmpDIBBuffer, tmpBufferPosition, height()); // Height +#else + writeU32(tmpDIBBuffer, tmpBufferPosition, 1); // Width + writeU32(tmpDIBBuffer, tmpBufferPosition, 1); // Height +#endif writeU16(tmpDIBBuffer, tmpBufferPosition, 1); // Planes writeU16(tmpDIBBuffer, tmpBufferPosition, 32); // BitCount writeU32(tmpDIBBuffer, tmpBufferPosition, 0); // Compression @@ -188,6 +202,7 @@ // Write DIB Image data +#ifndef OUTPUT_DUMMY_BITMAPS int i = 0; int j = 0; if (d->vFlip) for (i = 0; i < d->height && tmpBufferPosition < tmpDIBFileSize; i++) @@ -232,6 +247,13 @@ WPG_DEBUG_MSG(("WPGBitmap: DIB file size = %i\n", tmpBufferPosition - 1)); +#else + writeU8(tmpDIBBuffer, tmpBufferPosition, 0x7F); + writeU8(tmpDIBBuffer, tmpBufferPosition, 0x7F); + writeU8(tmpDIBBuffer, tmpBufferPosition, 0x7F); + writeU8(tmpDIBBuffer, tmpBufferPosition, 0x7F); +#endif + d->dib.append(tmpDIBBuffer, tmpDIBFileSize); // temporary for debug - dump the binary bmp (need to have write access in the current directory |