]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
1. Win9x support + async dialing + many more for wxDialUpManager
[wxWidgets.git] / include / wx / defs.h
index 48d5bbd3ce04bcd9c36ec0bb71dba5e191a48044..4d44264966fe9449cd999d859eee237f0d856ee3 100644 (file)
 #if defined(__HPUX__) && defined(__GNUG__)
     #define va_list __gnuc_va_list
 #endif // HP-UX
 #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)
 // 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)
@@ -297,9 +297,40 @@ typedef int wxWindowID;
     #define WXUNUSED(identifier) identifier
 #endif
 
     #define WXUNUSED(identifier) identifier
 #endif
 
-/*
- * Making or using wxWindows as a Windows DLL
- */
+// ----------------------------------------------------------------------------
+// portable calling conventions macros
+// ----------------------------------------------------------------------------
+
+// wxCALLBACK should be used for the functions which are called back by
+// Windows (such as compare function for wxListCtrl)
+#if defined(__WXMSW__)
+    #if defined(__MINGW32__)
+        #define wxCALLBACK __attribute__((stdcall))
+    #else
+        // both VC++ and Borland understand this
+        #define wxCALLBACK _stdcall
+    #endif
+#else
+    // no stdcall under Unix
+    #define wxCALLBACK
+#endif // platform
+
+// callling convention for the qsort(3) callback
+
+#if defined(__VISUALC__)
+  #define   wxCMPFUNC_CONV    _cdecl
+#elif defined(__VISAGECPP__)
+  #define   wxCMPFUNC_CONV    _Optlink
+#else   // !Visual C++
+  #define   wxCMPFUNC_CONV
+#endif  // compiler
+
+// compatibility :-(
+#define CMPFUNC_CONV wxCMPFUNC_CONV
+
+// ----------------------------------------------------------------------------
+// Making or using wxWindows as a Windows DLL
+// ----------------------------------------------------------------------------
 
 #if defined(__WXMSW__)
 
 
 #if defined(__WXMSW__)
 
@@ -465,7 +496,8 @@ enum
   wxMGL_UNIX,               // MGL with direct hardware access
   wxMGL_X,                  // MGL on X
   wxMGL_WIN32,              // MGL on Win32
   wxMGL_UNIX,               // MGL with direct hardware access
   wxMGL_X,                  // MGL on X
   wxMGL_WIN32,              // MGL on Win32
-  wxMGL_OS2                 // MGL on OS/2
+  wxMGL_OS2,                // MGL on OS/2
+  wxWINDOWS_OS2             // Native OS/2 PM
 };
 
 // ----------------------------------------------------------------------------
 };
 
 // ----------------------------------------------------------------------------
@@ -603,7 +635,7 @@ enum wxOrientation
 {
     wxHORIZONTAL              = 0x0004,
     wxVERTICAL                = 0x0008,
 {
     wxHORIZONTAL              = 0x0004,
     wxVERTICAL                = 0x0008,
-    
+
     wxBOTH                    = (wxVERTICAL | wxHORIZONTAL)
 };
 
     wxBOTH                    = (wxVERTICAL | wxHORIZONTAL)
 };
 
@@ -613,15 +645,15 @@ enum wxDirection
     wxRIGHT                   = 0x0020,
     wxUP                      = 0x0040,
     wxDOWN                    = 0x0080,
     wxRIGHT                   = 0x0020,
     wxUP                      = 0x0040,
     wxDOWN                    = 0x0080,
-    
+
     wxTOP                     = wxUP,
     wxBOTTOM                  = wxDOWN,
     wxTOP                     = wxUP,
     wxBOTTOM                  = wxDOWN,
-    
+
     wxNORTH                   = wxUP,
     wxSOUTH                   = wxDOWN,
     wxWEST                    = wxLEFT,
     wxEAST                    = wxRIGHT,
     wxNORTH                   = wxUP,
     wxSOUTH                   = wxDOWN,
     wxWEST                    = wxLEFT,
     wxEAST                    = wxRIGHT,
-    
+
     wxALL                     = (wxUP | wxDOWN | wxRIGHT | wxLEFT)
 };
 
     wxALL                     = (wxUP | wxDOWN | wxRIGHT | wxLEFT)
 };
 
@@ -809,6 +841,8 @@ enum wxStretch
 // this style means to use RICHEDIT control and does something only under wxMSW
 // and Win32 and is silently ignored under all other platforms
 #define wxTE_RICH           0x0080
 // this style means to use RICHEDIT control and does something only under wxMSW
 // and Win32 and is silently ignored under all other platforms
 #define wxTE_RICH           0x0080
+#define wxTE_NO_VSCROLL     0x0100
+#define wxTE_AUTO_SCROLL    0x0200
 
 /*
  * wxComboBox style flags
 
 /*
  * wxComboBox style flags
@@ -840,16 +874,16 @@ enum wxStretch
 #define wxGA_HORIZONTAL      wxHORIZONTAL
 #define wxGA_VERTICAL        wxVERTICAL
 // Windows only
 #define wxGA_HORIZONTAL      wxHORIZONTAL
 #define wxGA_VERTICAL        wxVERTICAL
 // Windows only
-#define wxGA_SMOOTH          0x0008
+#define wxGA_SMOOTH          0x0010
 
 /*
  * wxSlider flags
  */
 
 /*
  * wxSlider flags
  */
-#define wxSL_HORIZONTAL      wxHORIZONTAL
-#define wxSL_VERTICAL        wxVERTICAL
+#define wxSL_HORIZONTAL      wxHORIZONTAL // 4
+#define wxSL_VERTICAL        wxVERTICAL   // 8
 // The next one is obsolete - use scroll events instead
 #define wxSL_NOTIFY_DRAG     0x0000
 // The next one is obsolete - use scroll events instead
 #define wxSL_NOTIFY_DRAG     0x0000
-#define wxSL_AUTOTICKS       0x0008
+#define wxSL_AUTOTICKS       0x0010
 // #define wxSL_MANUALTICKS     0x0010
 #define wxSL_LABELS          0x0020
 #define wxSL_LEFT            0x0040
 // #define wxSL_MANUALTICKS     0x0010
 #define wxSL_LABELS          0x0020
 #define wxSL_LEFT            0x0040
@@ -946,6 +980,9 @@ enum wxStretch
  * wxNotebook flags
  */
 #define wxNB_FIXEDWIDTH       0x0008
  * wxNotebook flags
  */
 #define wxNB_FIXEDWIDTH       0x0008
+#define wxNB_LEFT             0x0020
+#define wxNB_RIGHT            0x0040
+#define wxNB_BOTTOM           0x0080
 
 /*
  * wxStatusBar95 flags
 
 /*
  * wxStatusBar95 flags
@@ -1065,6 +1102,8 @@ enum wxStretch
 #define wxID_SETUP              5110
 #define wxID_RESET              5111
 
 #define wxID_SETUP              5110
 #define wxID_RESET              5111
 
+// IDs used by generic file dialog (11 consecutive starting from this value)
+#define wxID_FILEDLGG           5900
 #define wxID_HIGHEST            5999
 
 // ----------------------------------------------------------------------------
 #define wxID_HIGHEST            5999
 
 // ----------------------------------------------------------------------------
@@ -1465,8 +1504,15 @@ typedef unsigned long   WXHDC;
 typedef unsigned int    WXUINT;
 typedef unsigned long   WXDWORD;
 typedef unsigned short  WXWORD;
 typedef unsigned int    WXUINT;
 typedef unsigned long   WXDWORD;
 typedef unsigned short  WXWORD;
+#ifdef __WXMSW__
 typedef unsigned int    WXWPARAM;
 typedef long            WXLPARAM;
 typedef unsigned int    WXWPARAM;
 typedef long            WXLPARAM;
+#else
+#  define WXWPARAM      MPARAM
+#  define WXLPARAM      MPARAM
+#  define RECT          RECTL
+#  define LOGFONT       FATTRS
+#endif
 typedef unsigned long   WXCOLORREF;
 typedef void *          WXRGNDATA;
 typedef void *          WXMSG;
 typedef unsigned long   WXCOLORREF;
 typedef void *          WXRGNDATA;
 typedef void *          WXMSG;