]> git.saurik.com Git - wxWidgets.git/blobdiff - src/jpeg/jmorecfg.h
added constructor for compliance with wxPython
[wxWidgets.git] / src / jpeg / jmorecfg.h
index 2733047bac28d484ffedb0c1c0b5f5c86b82e0c7..51b8ca1bc45b53a6c6a9cdc7f007c9a77a2a9705 100644 (file)
@@ -155,18 +155,40 @@ typedef unsigned int UINT16;
 typedef short INT16;
 #endif
 
 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. */
 
 /* 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
+/* Note: GnuPRO 00r1 should be tested because it does NOT define INT32 in windows.h */
+/* For this compiler, set the following test to 0. */
+#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
+#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
 
 #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
 /* 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
@@ -186,7 +208,7 @@ typedef unsigned int JDIMENSION;
  * or code profilers that require it.
  */
 
  * 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: */
 /* a function called through method pointers: */
 #define METHODDEF(type)                static type _Optlink
 /* a function used only in its module: */
@@ -212,12 +234,22 @@ typedef unsigned int JDIMENSION;
  * Again, you can customize this if you need special linkage keywords.
  */
 
  * 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
 
 #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
 
 /* Here is the pseudo-keyword for declaring pointers that must be "far"
  * on 80x86 machines.  Most of the specialized coding for 80x86 is handled
@@ -228,8 +260,10 @@ typedef unsigned int JDIMENSION;
 #ifdef NEED_FAR_POINTERS
 #define FAR  far
 #else
 #ifdef NEED_FAR_POINTERS
 #define FAR  far
 #else
+#ifndef FAR
 #define FAR
 #endif
 #define FAR
 #endif
+#endif
 
 
 /*
 
 
 /*