]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/imagjpeg.cpp
wxDFB: fix rendering artefacts when scrolling wxScrolledWindow that contains other...
[wxWidgets.git] / src / common / imagjpeg.cpp
index 4db84ee61bde18b61028b1e709a456e81e4bf6d8..c6326116c5752f38d4404d475b58b02f1a79c117 100644 (file)
     #include "wx/app.h"
     #include "wx/intl.h"
     #include "wx/bitmap.h"
+    #include "wx/module.h"
 #endif
 
-// NB: Some compilers define boolean type in Windows headers
-//     (e.g. Watcom C++, but not Open Watcom).
-//     This causes a conflict with jmorecfg.h header from libjpeg, so we have
-//     to make sure libjpeg won't try to define boolean itself. This is done by
-//     defining HAVE_BOOLEAN.
-#if defined(__WXMSW__) && (defined(__MWERKS__) || defined(__DIGITALMARS__))
+// A hack based on one from tif_jpeg.c to overcome the problem on Windows
+// of rpcndr.h defining boolean with a different type to the jpeg headers.
+// 
+// This hack is only necessary for an external jpeg library, the builtin one
+// usually used on Windows doesn't use the type boolean, so always works.
+//
+#ifdef wxHACK_BOOLEAN
     #define HAVE_BOOLEAN
-    #include "wx/msw/wrapwin.h"
+    #define boolean wxHACK_BOOLEAN
 #endif
 
 extern "C"
@@ -43,9 +45,12 @@ extern "C"
     #include "jpeglib.h"
 }
 
+#ifndef HAVE_WXJPEG_BOOLEAN
+typedef boolean wxjpeg_boolean;
+#endif
+
 #include "wx/filefn.h"
 #include "wx/wfstream.h"
-#include "wx/module.h"
 
 // For memcpy
 #include <string.h>
@@ -99,7 +104,7 @@ CPP_METHODDEF(void) wx_init_source ( j_decompress_ptr WXUNUSED(cinfo) )
 {
 }
 
-CPP_METHODDEF(boolean) wx_fill_input_buffer ( j_decompress_ptr cinfo )
+CPP_METHODDEF(wxjpeg_boolean) wx_fill_input_buffer ( j_decompress_ptr cinfo )
 {
     wx_src_ptr src = (wx_src_ptr) cinfo->src;
 
@@ -328,7 +333,7 @@ CPP_METHODDEF(void) wx_init_destination (j_compress_ptr cinfo)
     dest->pub.free_in_buffer = OUTPUT_BUF_SIZE;
 }
 
-CPP_METHODDEF(boolean) wx_empty_output_buffer (j_compress_ptr cinfo)
+CPP_METHODDEF(wxjpeg_boolean) wx_empty_output_buffer (j_compress_ptr cinfo)
 {
     wx_dest_ptr dest = (wx_dest_ptr) cinfo->dest;