]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
fixed compile error
[wxWidgets.git] / include / wx / defs.h
index b9f0a123c4f18a579ea1f88b6e1a982b18ff5bcf..f99ef2326b78933e03d2b17a79d22aefc6365fa9 100644 (file)
 #define _WX_DEFS_H_
 
 #ifdef __GNUG__
-#pragma interface "defs.h"
+    #pragma interface "defs.h"
 #endif
 
-#include <stddef.h>
-
-#include "wx/setup.h"
-
-#ifdef PACKAGE
-  #undef PACKAGE
-#endif
-#ifdef VERSION
-  #undef VERSION
-#endif
-
-#include "wx/version.h"
-
 // ----------------------------------------------------------------------------
 // compiler and OS identification
 // ----------------------------------------------------------------------------
@@ -39,9 +26,7 @@
     defined(__hpux) || defined(sun) || defined(__SUN__) || defined(_AIX) || \
     defined(__EMX__)
 
-    #ifndef __UNIX__
-        #define __UNIX__
-    #endif // Unix
+    #define __UNIX_LIKE__
 
     // Helps SGI compilation, apparently
     #ifdef __SGI__
@@ -78,7 +63,9 @@
     #ifndef __WXPM__
         #define __WXPM__
     #endif
+
     // Place other OS/2 compiler environment defines here
+    #define LINKAGEMODE _Optlink
 #else   // Windows
     #ifndef __WINDOWS__
         #define __WINDOWS__
     #endif  // compiler
 #endif  // OS
 
+// LINKAGEMODE mode is empty for everyting except OS/2
+#ifndef LINKAGEMODE
+    #define LINKAGEMODE
+#endif // LINKAGEMODE
+
 // suppress some Visual C++ warnings
 #ifdef __VISUALC__
 #   pragma warning(disable:4244)    // conversion from double to float
 #if defined(__HPUX__) && defined(__GNUG__)
     #define va_list __gnuc_va_list
 #endif // HP-UX
+    
+// Mingw32 gcc-2.95 uses new windows headers which are more ms-like
+// we are setting this define because of the complex check
+// using NORLANDER as Cygwin may follow. (header author is Anders Norlander)
+#if defined(__MINGW32__) && (__GNUC__>=2) && (__GNUC_MINOR__>=95)
+#   define wxUSE_NORLANDER_HEADERS 1
+#endif
+
 
 //////////////////////////////////////////////////////////////////////////////////
 // Currently Only MS-Windows/NT, XView and Motif are supported
     #error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__WXMAC__|__WXQT__|__WXPM__|__WXSTUBS__]"
 #endif
 
+// ----------------------------------------------------------------------------
+// wxWindows options
+// ----------------------------------------------------------------------------
+
+#include <stddef.h>
+
+#include "wx/setup.h"
+
+// just in case they were defined in setup.h
+#undef PACKAGE
+#undef VERSION
+
+// if we're on a Unixsystem but didn't use configure (so that setup.h didn't
+// define __UNIX__), do define __UNIX__ now
+#if !defined(__UNIX__) && defined(__UNIX_LIKE__)
+    #define __UNIX__
+#endif // Unix
+
+#include "wx/version.h"
+
 // ============================================================================
 // non portable C++ features
 // ============================================================================
@@ -438,7 +458,7 @@ enum
   wxWIN95,                  // Windows 95
   wxWIN386,                 // Watcom 32-bit supervisor modus
   wxMGL_UNIX,               // MGL with direct hardware access
-  wxMGL_X,                  // MGL on X 
+  wxMGL_X,                  // MGL on X
   wxMGL_WIN32,              // MGL on Win32
   wxMGL_OS2                 // MGL on OS/2
 };
@@ -450,53 +470,53 @@ enum
 // fixed length types
 
 #define wxInt8    char    signed
-#define wxUint8   char  unsigned  
+#define wxUint8   char  unsigned
 
 #ifdef __WIN16__
-#define wxInt16    int    signed  
-#define wxUint16   int  unsigned  
-#define wxInt32   long    signed  
-#define wxUint32  long  unsigned  
+#define wxInt16    int    signed
+#define wxUint16   int  unsigned
+#define wxInt32   long    signed
+#define wxUint32  long  unsigned
 #endif
 
 #ifdef __WIN32__
-#define wxInt16  short    signed  
-#define wxUint16 short  unsigned  
-#define wxInt32    int    signed  
-#define wxUint32   int  unsigned  
+#define wxInt16  short    signed
+#define wxUint16 short  unsigned
+#define wxInt32    int    signed
+#define wxUint32   int  unsigned
 #endif
 
 #ifdef __WXMAC__
-#define wxInt16  short    signed  
-#define wxUint16 short  unsigned  
-#define wxInt32    int    signed  
-#define wxUint32   int  unsigned  
+#define wxInt16  short    signed
+#define wxUint16 short  unsigned
+#define wxInt32    int    signed
+#define wxUint32   int  unsigned
 #endif
 
 #ifdef __WXOS2__
-#define wxInt16  short    signed  
-#define wxUint16 short  unsigned  
-#define wxInt32    int    signed  
-#define wxUint32   int  unsigned  
+#define wxInt16  short    signed
+#define wxUint16 short  unsigned
+#define wxInt32    int    signed
+#define wxUint32   int  unsigned
 #endif
 
 #if !defined(__WXMSW__) && !defined(__WXMAC__) && !defined(__WXOS2__)
   #if defined(SIZEOF_INT)
     /* well, this shouldn't happen... */
-    #define wxInt16  short    signed  
-    #define wxUint16 short  unsigned  
-    #define wxInt32    int    signed  
-    #define wxUint32   int  unsigned  
+    #define wxInt16  short    signed
+    #define wxUint16 short  unsigned
+    #define wxInt32    int    signed
+    #define wxUint32   int  unsigned
   #else
-    #define wxInt16  short    signed  
-    #define wxUint16 short  unsigned  
-    #define wxInt32    int    signed  
-    #define wxUint32   int  unsigned  
+    #define wxInt16  short    signed
+    #define wxUint16 short  unsigned
+    #define wxInt32    int    signed
+    #define wxUint32   int  unsigned
   #endif
 #endif
 
 #define  wxByte   wxUint8
-#define  wxWord   wxUint16        
+#define  wxWord   wxUint16
 
 // byte sex
 
@@ -516,12 +536,12 @@ enum
    ((wxUint16) ( \
     (((wxUint16) (val) & (wxUint16) 0x00ffU) << 8) | \
     (((wxUint16) (val) & (wxUint16) 0xff00U) >> 8)))
-    
+
 #define wxINT16_SWAP_ALWAYS(val) \
    ((wxInt16) ( \
     (((wxUint16) (val) & (wxUint16) 0x00ffU) << 8) | \
     (((wxUint16) (val) & (wxUint16) 0xff00U) >> 8)))
-    
+
 #define wxUINT32_SWAP_ALWAYS(val) \
    ((wxUint32) ( \
     (((wxUint32) (val) & (wxUint32) 0x000000ffU) << 24) | \
@@ -889,10 +909,16 @@ enum
 #define wxPD_REMAINING_TIME     0x0020
 
 /*
- * extended dialog specifiers. these values are stored in a different 
+ * wxHtmlWindow flags
+ */
+#define wxHW_SCROLLBAR_NEVER    0x0002
+#define wxHW_SCROLLBAR_AUTO     0x0004
+
+/*
+ * extended dialog specifiers. these values are stored in a different
  * flag and thus do not overlap with other style flags. note that these
  * values do not correspond to the return values of the dialogs (for
- * those values, look at the wxID_XXX defines). 
+ * those values, look at the wxID_XXX defines).
  */
 #define wxOK                    0x00000001
 #define wxYES_NO                0x00000002
@@ -1003,9 +1029,11 @@ enum wxDirection
 
 // wxCENTRE                   = 0x0400 (defined above)
 
-// centering into frame rather than screen 
-#define wxCENTER_FRAME          0x0004  
-
+// centering into frame rather than screen (obsolete)
+#define wxCENTER_FRAME          0x0000
+// centre on screen rather than parent
+#define wxCENTRE_ON_SCREEN      0x0004
+#define wxCENTER_ON_SCREEN      wxCENTRE_ON_SCREEN
 
 // ----------------------------------------------------------------------------
 // Possible SetSize flags
@@ -1384,8 +1412,8 @@ typedef enum {
 // platform specific (implementation) parts of the headers
 // ---------------------------------------------------------------------------
 
-#ifdef __WXMSW__
-// Stand-ins for Windows types, to avoid #including all of windows.h
+#if defined(__WXMSW__) || defined(__WXPM__)
+// Stand-ins for Windows types or OS/2, to avoid #including all of windows.h or os2.h
 typedef unsigned long   WXHWND;
 typedef unsigned long   WXHANDLE;
 typedef unsigned long   WXHICON;
@@ -1418,6 +1446,27 @@ typedef void *          WXDRAWITEMSTRUCT;
 typedef void *          WXMEASUREITEMSTRUCT;
 typedef void *          WXLPCREATESTRUCT;
 
+#if defined(__WXPM__)
+typedef unsigned long   WXMPARAM;
+typedef unsigned long   WXMSGID;
+typedef void*           WXRESULT;
+typedef int             (*WXFARPROC)();
+// some windows handles not defined by PM
+typedef unsigned long   HANDLE;
+typedef unsigned long   HICON;
+typedef unsigned long   HFONT;
+typedef unsigned long   HMENU;
+typedef unsigned long   HPEN;
+typedef unsigned long   HBRUSH;
+typedef unsigned long   HPALETTE;
+typedef unsigned long   HCURSOR;
+typedef unsigned long   HINSTANCE;
+typedef unsigned long   HIMAGELIST;
+typedef unsigned long   HGLOBAL;
+typedef unsigned long   DWORD;
+typedef unsigned short  WORD;
+#endif
+
 #if defined(__GNUWIN32__) || defined(__WXWINE__)
     typedef int (*WXFARPROC)();
 #elif defined(__WIN32__)