#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"
#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>
{
}
-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;
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;