]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
For wxMSW capture and release the mouse as the cursor moves out or
[wxWidgets.git] / include / wx / defs.h
index 87f65850d611fa9ddfc9e542cd7b54d315d61ed4..afaacc7b4cad765fc396048824d75ed2017b22f4 100644 (file)
@@ -20,8 +20,6 @@
 
 #include "wx/platform.h"
 
-/*  RN - only double-check the environment when building in C++
-    Shouldn't configure pass the environment to all sub-libs too? */
 #ifdef __cplusplus
 /*  Make sure the environment is set correctly */
 #   if defined(__WXMSW__) && defined(__X__)
@@ -269,6 +267,9 @@ typedef int wxWindowID;
     #ifndef HAVE_STATIC_CAST
         #define HAVE_STATIC_CAST
     #endif
+    #ifndef HAVE_DYNAMIC_CAST
+        #define HAVE_DYNAMIC_CAST
+    #endif
 #endif /*  HAVE_CXX_CASTS */
 
 #ifdef HAVE_STATIC_CAST
@@ -601,7 +602,9 @@ enum
     wxWIN32S,                 /*  Windows 32S API */
     wxWIN95,                  /*  Windows 95 */
     wxWIN386,                 /*  Watcom 32-bit supervisor modus */
-    wxWINDOWS_CE,             /*  Windows CE */
+    wxWINDOWS_CE,             /*  Windows CE (generic) */
+    wxWINDOWS_POCKETPC,       /*  Windows CE PocketPC */
+    wxWINDOWS_SMARTPHONE,     /*  Windows CE Smartphone */
     wxMGL_UNIX,               /*  MGL with direct hardware access */
     wxMGL_X,                  /*  MGL on X */
     wxMGL_WIN32,              /*  MGL on Win32 */
@@ -609,7 +612,8 @@ enum
     wxMGL_DOS,                /*  MGL on MS-DOS */
     wxWINDOWS_OS2,            /*  Native OS/2 PM */
     wxUNIX,                   /*  wxBase under Unix */
-    wxX11                     /*  Plain X11 and Universal widgets */
+    wxX11,                    /*  Plain X11 and Universal widgets */
+    wxPALMOS                  /*  PalmOS */
 };
 
 /*  ---------------------------------------------------------------------------- */
@@ -760,7 +764,7 @@ typedef wxUint16 wxWord;
 
             typedef long wxInt32;
             typedef unsigned long wxUint32;
-        #elif
+        #else
             /*  wxWidgets is not ready for 128bit systems yet... */
             #error "Unknown sizeof(int) value, what are you compiling for?"
         #endif
@@ -1147,10 +1151,11 @@ enum wxGeometryCentre
 
 enum wxOrientation
 {
+    // don't change the values of these elements, they are used elsewhere
     wxHORIZONTAL              = 0x0004,
     wxVERTICAL                = 0x0008,
 
-    wxBOTH                    = (wxVERTICAL | wxHORIZONTAL)
+    wxBOTH                    = wxVERTICAL | wxHORIZONTAL
 };
 
 enum wxDirection
@@ -1226,6 +1231,13 @@ enum wxBorder
     wxBORDER_MASK   = 0x1f200000
 };
 
+/* This makes it easier to specify a 'normal' border for a control */
+#if defined(__SMARTPHONE__) || defined(__POCKETPC__)
+#define wxDEFAULT_CONTROL_BORDER    wxBORDER_SIMPLE
+#else
+#define wxDEFAULT_CONTROL_BORDER    wxBORDER_SUNKEN
+#endif
+
 /*  ---------------------------------------------------------------------------- */
 /*  Window style flags */
 /*  ---------------------------------------------------------------------------- */
@@ -1350,6 +1362,10 @@ enum wxBorder
 #define wxFRAME_EX_CONTEXTHELP  0x00000004
 #define wxDIALOG_EX_CONTEXTHELP 0x00000004
 
+/*  Draw the window in a metal theme on Mac */
+#define wxFRAME_EX_METAL                0x00000040
+#define wxDIALOG_EX_METAL               0x00000040
+
 /*  Create a window which is attachable to another top level window */
 #define wxFRAME_DRAWER          0x0020
 
@@ -1360,20 +1376,6 @@ enum wxBorder
 
 #define wxFRAME_NO_WINDOW_MENU  0x0100
 
-/*
- * wxExtDialog style flags
- */
-#define wxED_CLIENT_MARGIN      0x0004
-#define wxED_BUTTONS_BOTTOM     0x0000  /*  has no effect */
-#define wxED_BUTTONS_RIGHT      0x0002
-#define wxED_STATIC_LINE        0x0001
-
-#if defined(__WXMSW__) || defined(__WXMAC__)
-#   define wxEXT_DIALOG_STYLE  (wxDEFAULT_DIALOG_STYLE|wxED_CLIENT_MARGIN)
-#else
-#   define wxEXT_DIALOG_STYLE  (wxDEFAULT_DIALOG_STYLE|wxED_CLIENT_MARGIN|wxED_STATIC_LINE)
-#endif
-
 /*
  * wxMenuBar style flags
  */
@@ -1442,24 +1444,6 @@ enum wxBorder
 #define wxRB_SINGLE         0x0008
 #define wxRB_USE_CHECKBOX   0x0010 /* alternative native control (wxPalmOS) */
 
-/*
- * wxSlider flags
- */
-#define wxSL_HORIZONTAL      wxHORIZONTAL /*  4 */
-#define wxSL_VERTICAL        wxVERTICAL   /*  8 */
-/*  The next one is obsolete - use scroll events instead */
-#define wxSL_NOTIFY_DRAG     0x0000
-#define wxSL_TICKS           0x0010
-#define wxSL_AUTOTICKS       wxSL_TICKS /*  we don't support manual ticks */
-#define wxSL_LABELS          0x0020
-#define wxSL_LEFT            0x0040
-#define wxSL_TOP             0x0080
-#define wxSL_RIGHT           0x0100
-#define wxSL_BOTTOM          0x0200
-#define wxSL_BOTH            0x0400
-#define wxSL_SELRANGE        0x0800
-#define wxSL_INVERSE         0x1000
-
 /*
  * wxScrollBar flags
  */
@@ -1487,6 +1471,7 @@ enum wxBorder
 #define wxNB_BOTTOM           0x0080
 #define wxNB_MULTILINE        0x0100
 #define wxNB_NOPAGETHEME      0x0200
+#define wxNB_FLAT             0x0400
 #define wxNB_DEFAULT          wxNB_TOP
 
 /*
@@ -1944,7 +1929,7 @@ enum wxKeyCode
     WXK_SPACE   =    32,
     WXK_DELETE  =    127,
 
-    /* These are, by design, not compatable with unicode characters.
+    /* These are, by design, not compatible with unicode characters.
        If you want to get a unicode character from a key event, use
        wxKeyEvent::GetUnicodeKey instead.                           */
     WXK_START   = 300,
@@ -2049,7 +2034,29 @@ enum wxKeyCode
     WXK_WINDOWS_LEFT,
     WXK_WINDOWS_RIGHT,
     WXK_WINDOWS_MENU ,
-    WXK_COMMAND
+    WXK_COMMAND,
+
+    /* Hardware-specific buttons */
+    WXK_SPECIAL1 = 193,
+    WXK_SPECIAL2,
+    WXK_SPECIAL3,
+    WXK_SPECIAL4,
+    WXK_SPECIAL5,
+    WXK_SPECIAL6,
+    WXK_SPECIAL7,
+    WXK_SPECIAL8,
+    WXK_SPECIAL9,
+    WXK_SPECIAL10,
+    WXK_SPECIAL11,
+    WXK_SPECIAL12,
+    WXK_SPECIAL13,
+    WXK_SPECIAL14,
+    WXK_SPECIAL15,
+    WXK_SPECIAL16,
+    WXK_SPECIAL17,
+    WXK_SPECIAL18,
+    WXK_SPECIAL19,
+    WXK_SPECIAL20
 };
 
 #if wxUSE_HOTKEY
@@ -2222,6 +2229,17 @@ enum wxUpdateUI
 #   define wxALL_FILES           gettext_noop("All files (*)|*")
 #endif
 
+#if defined(__CYGWIN__) && defined(__WXMSW__)
+#   if wxUSE_STL || defined(wxUSE_STD_STRING)
+         //NASTY HACK because the gethostname in sys/unistd.h which the gnu stl includes
+         //and wx builds with by default clash with each other (windows version
+         //2nd param is int, sys/unistd.h version is unsigned int).  
+#        define gethostname gethostnameHACK
+#        include <unistd.h>
+#        undef gethostname
+#   endif
+#endif
+
 /*  --------------------------------------------------------------------------- */
 /*  macros that enable wxWidgets apps to be compiled in absence of the */
 /*  sytem headers, although some platform specific types are used in the */
@@ -2235,8 +2253,6 @@ enum wxUpdateUI
 typedef unsigned char WXCOLORREF[6];
 typedef void*       WXCGIMAGEREF;
 typedef void*       WXHBITMAP;
-//typedef void*       WXHMETAFILE;
-//typedef void*       WXHICON;
 typedef void*       WXHCURSOR;
 typedef void*       WXHRGN;
 typedef void*       WXRECTPTR;
@@ -2409,6 +2425,7 @@ typedef void *          WXHBRUSH;
 typedef void *          WXHPALETTE;
 typedef void *          WXHCURSOR;
 typedef void *          WXHRGN;
+typedef void *          WXRECTPTR;
 typedef void *          WXHACCEL;
 typedef void WXFAR  *   WXHINSTANCE;
 typedef void *          WXHBITMAP;