]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
Work on streams of all sorts. More to come.
[wxWidgets.git] / include / wx / defs.h
index ae0ff7dc641180ebe67f00f86bd82848c98c7115..a61061304a34aa06974a001b5fa8a985882433b5 100644 (file)
 #include <stddef.h>
 
 #include "wx/setup.h"
+
+#ifdef PACKAGE
+  #undef PACKAGE
+#endif
+#ifdef VERSION
+  #undef VERSION
+#endif
+
 #include "wx/version.h"
 
 // ----------------------------------------------------------------------------
@@ -28,7 +36,8 @@
 // OS
 #if defined(__unix) || defined(__unix__) || defined(____SVR4____) || \
     defined(__LINUX__) || defined(__sgi ) || \
-    defined(__hpux) || defined(sun) || defined(__SUN__) || defined(_AIX)
+    defined(__hpux) || defined(sun) || defined(__SUN__) || defined(_AIX) || \
+    defined(__EMX__)
 
     #ifndef __UNIX__
         #define __UNIX__
 #   pragma warning(disable:4100)    // unreferenced formal parameter
 #   pragma warning(disable:4511)    // copy ctor couldn't be generated
 #   pragma warning(disable:4512)    // operator=() couldn't be generated
+#ifndef WIN32
+#   pragma warning(disable:4134)    // conversion between pointers to members of same class
+#   pragma warning(disable:4135)    // conversion between different integral types
+#   pragma warning(disable:4769)    // assignment of near pointer to long integer
+#endif
 #endif // __VISUALC__
 
 // suppress some Salford C++ warnings
 #define __WIN32__
 #endif
 
+#ifdef __WXWINE__
+  #ifndef __WIN32__
+    #define __WIN32__
+  #endif
+  #ifndef __WIN95__
+    #define __WIN95__
+  #endif
+  #ifndef STRICT
+    #define STRICT
+  #endif
+#endif
+
 #ifndef __WIN32__
 #define __WIN16__
 #endif
@@ -385,18 +411,10 @@ typedef  int   unsigned  wxUint32;
 
 #if !defined(__WXMSW__) && !defined(__WXMAC__) && !defined(__WXOS2__)
   #if defined(SIZEOF_INT)
-    #if (SIZEOF_SHORT == 2)
       typedef  short   signed  wxInt16;
       typedef  short unsigned  wxUint16;
-    #else
-      #error "FIXME"
-    #endif
-    #if (SIZEOF_INT == 4)
       typedef  int     signed  wxInt32;
       typedef  int   unsigned  wxUint32;
-    #else
-      #error "FIXME"
-    #endif
   #else
     typedef  short   signed  wxInt16;
     typedef  short unsigned  wxUint16;
@@ -429,8 +447,8 @@ typedef  wxUint16        wxWord;
     
 #define wxINT16_SWAP_ALWAYS(val) \
    ((wxInt16) ( \
-    (((wxInt16) (val) & (wxInt16) 0x00ffU) << 8) | \
-    (((wxInt16) (val) & (wxInt16) 0xff00U) >> 8)))
+    (((wxUint16) (val) & (wxUint16) 0x00ffU) << 8) | \
+    (((wxUint16) (val) & (wxUint16) 0xff00U) >> 8)))
     
 #define wxUINT32_SWAP_ALWAYS(val) \
    ((wxUint32) ( \
@@ -441,31 +459,31 @@ typedef  wxUint16        wxWord;
 
 #define wxINT32_SWAP_ALWAYS(val) \
    ((wxInt32) ( \
-    (((wxInt32) (val) & (wxInt32) 0x000000ffU) << 24) | \
-    (((wxInt32) (val) & (wxInt32) 0x0000ff00U) <<  8) | \
-    (((wxInt32) (val) & (wxInt32) 0x00ff0000U) >>  8) | \
-    (((wxInt32) (val) & (wxInt32) 0xff000000U) >> 24)))
+    (((wxUint32) (val) & (wxUint32) 0x000000ffU) << 24) | \
+    (((wxUint32) (val) & (wxUint32) 0x0000ff00U) <<  8) | \
+    (((wxUint32) (val) & (wxUint32) 0x00ff0000U) >>  8) | \
+    (((wxUint32) (val) & (wxUint32) 0xff000000U) >> 24)))
 
 // machine specific byte swapping
 
 #ifdef WORDS_BIGENDIAN
-  #define wxUINT16_SWAP_FROM_LE(val)  wxUINT16_SWAP_ALWAYS(val)
-  #define wxINT16_SWAP_FROM_LE(val)   wxINT16_SWAP_ALWAYS(val)
-  #define wxUINT16_SWAP_FROM_BE(val)  (val)
-  #define wxINT16_SWAP_FROM_BE(val)   (val)
-  #define wxUINT32_SWAP_FROM_LE(val)  wxUINT32_SWAP_ALWAYS(val)
-  #define wxINT32_SWAP_FROM_LE(val)   wxINT32_SWAP_ALWAYS(val)
-  #define wxUINT32_SWAP_FROM_BE(val)  (val)
-  #define wxINT32_SWAP_FROM_BE(val)   (val)
+  #define wxUINT16_SWAP_ON_BE(val)  wxUINT16_SWAP_ALWAYS(val)
+  #define wxINT16_SWAP_ON_BE(val)   wxINT16_SWAP_ALWAYS(val)
+  #define wxUINT16_SWAP_ON_LE(val)  (val)
+  #define wxINT16_SWAP_ON_LE(val)   (val)
+  #define wxUINT32_SWAP_ON_BE(val)  wxUINT32_SWAP_ALWAYS(val)
+  #define wxINT32_SWAP_ON_BE(val)   wxINT32_SWAP_ALWAYS(val)
+  #define wxUINT32_SWAP_ON_LE(val)  (val)
+  #define wxINT32_SWAP_ON_LE(val)   (val)
 #else
-  #define wxUINT16_SWAP_FROM_BE(val)  wxUINT16_SWAP_ALWAYS(val)
-  #define wxINT16_SWAP_FROM_BE(val)   wxINT16_SWAP_ALWAYS(val)
-  #define wxUINT16_SWAP_FROM_LE(val)  (val)
-  #define wxINT16_SWAP_FROM_LE(val)   (val)
-  #define wxUINT32_SWAP_FROM_BE(val)  wxUINT32_SWAP_ALWAYS(val)
-  #define wxINT32_SWAP_FROM_BE(val)   wxINT32_SWAP_ALWAYS(val)
-  #define wxUINT32_SWAP_FROM_LE(val)  (val)
-  #define wxINT32_SWAP_FROM_LE(val)   (val)
+  #define wxUINT16_SWAP_ON_LE(val)  wxUINT16_SWAP_ALWAYS(val)
+  #define wxINT16_SWAP_ON_LE(val)   wxINT16_SWAP_ALWAYS(val)
+  #define wxUINT16_SWAP_ON_BE(val)  (val)
+  #define wxINT16_SWAP_ON_BE(val)   (val)
+  #define wxUINT32_SWAP_ON_LE(val)  wxUINT32_SWAP_ALWAYS(val)
+  #define wxINT32_SWAP_ON_LE(val)   wxINT32_SWAP_ALWAYS(val)
+  #define wxUINT32_SWAP_ON_BE(val)  (val)
+  #define wxINT32_SWAP_ON_BE(val)   (val)
 #endif
 
 // ----------------------------------------------------------------------------
@@ -523,9 +541,13 @@ typedef  wxUint16        wxWord;
 #define wxWANTS_CHARS       0x00040000
 
 // Orientations
-#define wxHORIZONTAL     0x01
-#define wxVERTICAL       0x02
-#define wxBOTH           (wxVERTICAL|wxHORIZONTAL)
+enum wxOrientation
+{
+    wxHORIZONTAL = 0x01,
+    wxVERTICAL   = 0x02,
+    wxBOTH       = (wxVERTICAL | wxHORIZONTAL)
+};
+
 #define wxCENTER_FRAME   0x04  /* centering into frame rather than screen */
 
 /*
@@ -588,7 +610,13 @@ typedef  wxUint16        wxWord;
  */
 // use native docking
 #define wxMB_DOCKABLE       0x0001
+// make all menus tearoff menus, even if not set on per-menu basis
+#define wxMB_TEAROFF        0x0002
 
+/*
+ * wxMenu style flags
+ */
+#define wxMENU_TEAROFF      0x0001
 
 /*
  * Apply to all panel items
@@ -745,6 +773,7 @@ typedef  wxUint16        wxWord;
 #define wxSP_3D             0x0004
 #define wxSP_BORDER         0x0008
 #define wxSP_PERMIT_UNSPLIT 0x0010
+#define wxSP_LIVE_UPDATE    0x0020
 
 /*
  * wxFrame extra flags
@@ -785,6 +814,9 @@ typedef  wxUint16        wxWord;
 #define wxPD_CAN_ABORT      0x0001
 #define wxPD_APP_MODAL      0x0002
 #define wxPD_AUTO_HIDE      0x0004
+#define wxPD_ELAPSED_TIME   0x0008
+#define wxPD_ESTIMATED_TIME 0x0010
+#define wxPD_REMAINING_TIME 0x0020
 
 /*
  * GDI descriptions
@@ -887,15 +919,16 @@ typedef enum
 #define wxCANCEL            0x0004
 #define wxYES               0x0008
 #define wxNO                0x0010
-
-#define wxICON_EXCLAMATION  0x0020
-#define wxICON_HAND         0x0040
-#define wxICON_QUESTION     0x0080
-#define wxICON_INFORMATION  0x0100
+#define wxNO_DEFAULT        0x0020
+#define wxYES_DEFAULT       0x0000  // has no effect
+#define wxICON_EXCLAMATION  0x0040
+#define wxICON_HAND         0x0080
+#define wxICON_QUESTION     0x0100
+#define wxICON_INFORMATION  0x0200
 
 #define wxICON_STOP         wxICON_HAND
 #define wxICON_ASTERISK     wxICON_INFORMATION
-#define wxICON_MASK         (0x0020|0x0040|0x0080|0x0100)
+#define wxICON_MASK         (0x0040|0x0080|0x0100|0x0200)
 
 #define wxCENTRE            0x0200
 #define wxCENTER wxCENTRE
@@ -1281,7 +1314,7 @@ typedef void *          WXDRAWITEMSTRUCT;
 typedef void *          WXMEASUREITEMSTRUCT;
 typedef void *          WXLPCREATESTRUCT;
 
-#ifdef __GNUWIN32__
+#if defined(__GNUWIN32__) || defined(__WXWINE__)
     typedef int (*WXFARPROC)();
 #elif defined(__WIN32__)
     typedef int (__stdcall *WXFARPROC)();
@@ -1309,6 +1342,9 @@ typedef void*           WXFont;
 typedef void*           WXImage;
 typedef void*           WXCursor;
 typedef void*           WXFontList;
+
+typedef unsigned long   Atom;  /* this might fail on a few architectures */
+
 #endif // Motif
 
 #ifdef __WXGTK__