typedef short INT16;
#endif
+#if defined( __GNUWIN32__ ) || defined( __MINGW32__ ) || defined( __CYGWIN__ )
+#include <wx/msw/gccpriv.h>
+#else
+#undef wxCHECK_W32API_VERSION
+#define wxCHECK_W32API_VERSION(maj, min) (0)
+#endif
+
/* INT32 must hold at least signed 32-bit values. */
-/* Modified JACS 23/4/99. 1200 means VC++ 6 */
-#if !defined(XMD_H) && !(_MSC_VER >= 1200) && !(__BORLANDC__ >= 0x550) /* X11/xmd.h correctly defines INT32 */
-typedef long INT32;
+/* you may define INT32_DEFINED if it is already defined somewhere */
+#ifndef INT32_DEFINED
+#ifdef XMD_H
+/* X11/xmd.h correctly defines INT32 */
+#define INT32_DEFINED
+#elif (_MSC_VER >= 1200) || (__BORLANDC__ >= 0x550) \
+ || wxCHECK_W32API_VERSION( 0, 5 ) \
+ || ((defined(__MINGW32__) || defined(__CYGWIN__)) \
+ && ((__GNUC__>2) || ((__GNUC__==2) && (__GNUC_MINOR__>95)))) \
+ || (defined(__MWERKS__) && defined(__WXMSW__))
+
+/* INT32 is defined in windows.h for these compilers */
+#define INT32_DEFINED
+#include <windows.h>
#endif
+#endif /* !INT32_DEFINED */
-/* Added JACS 23/4/99, to get INT32 definition */
-#if (_MSC_VER >= 1200) || (__BORLANDC__ >= 0x550)
-#include <windows.h>
+#ifndef INT32_DEFINED
+typedef long INT32;
#endif
+#undef INT32_DEFINED
+
/* Datatype used for image dimensions. The JPEG standard only supports
* images up to 64K*64K due to 16-bit fields in SOF markers. Therefore
* "unsigned int" is sufficient on all machines. However, if you need to
* or code profilers that require it.
*/
-#if defined(__VISAGECPP__) && !defined(JPEGLOCAL) /* need this for /common/imagjpeg.obj but not loclly */
+#if defined(__VISAGECPP__) /* need this for /common/imagjpeg.obj but not loclly */
/* a function called through method pointers: */
#define METHODDEF(type) static type _Optlink
/* a function used only in its module: */
* Again, you can customize this if you need special linkage keywords.
*/
+#if defined(__VISAGECPP__) /* need this for /common/imagjpeg.obj but not loclly */
+#ifdef HAVE_PROTOTYPES
+#define JMETHOD(type,methodname,arglist) type (_Optlink *methodname) arglist
+#else
+#define JMETHOD(type,methodname,arglist) type (_Optlink *methodname) ()
+#endif
+
+#else
+
#ifdef HAVE_PROTOTYPES
#define JMETHOD(type,methodname,arglist) type (*methodname) arglist
#else
#define JMETHOD(type,methodname,arglist) type (*methodname) ()
#endif
+#endif
/* Here is the pseudo-keyword for declaring pointers that must be "far"
* on 80x86 machines. Most of the specialized coding for 80x86 is handled
#ifdef NEED_FAR_POINTERS
#define FAR far
#else
+#ifndef FAR
#define FAR
#endif
+#endif
+#if (defined(__MWERKS__) && defined(__WXMSW__))
+#define HAVE_BOOLEAN
+#endif
+
/*
* On a few systems, type boolean and/or its values FALSE, TRUE may appear
* in standard header files. Or you may have conflicts with application-