]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
fixed Cygwin compilation (there's no _get_osfhandle)
[wxWidgets.git] / include / wx / defs.h
index d70efa4cb8d45b1e39e78a79b219ea269acf179a..71ec108a5391f77b342a70b5a0d626d0f9fb4ea6 100644 (file)
 /*  Make sure the environment is set correctly */
 #   if defined(__WXMSW__) && defined(__X__)
 #       error "Target can't be both X and Windows"
 /*  Make sure the environment is set correctly */
 #   if defined(__WXMSW__) && defined(__X__)
 #       error "Target can't be both X and Windows"
+#   elif defined(__WXMSW__) && defined(__PALMOS__)
+#       error "Target can't be both PalmOS and Windows"
 #   elif !defined(__WXMOTIF__) && \
          !defined(__WXMSW__)   && \
 #   elif !defined(__WXMOTIF__) && \
          !defined(__WXMSW__)   && \
+         !defined(__WXPALMOS__)&& \
          !defined(__WXGTK__)   && \
          !defined(__WXPM__)    && \
          !defined(__WXMAC__)   && \
          !defined(__WXGTK__)   && \
          !defined(__WXPM__)    && \
          !defined(__WXMAC__)   && \
@@ -354,7 +357,7 @@ typedef int wxWindowID;
             #define wxVaCopy(d, s) ((d) = (s))
         #endif
     #endif /* va_copy/!va_copy */
             #define wxVaCopy(d, s) ((d) = (s))
         #endif
     #endif /* va_copy/!va_copy */
-#endif // wxVaCopy
+#endif /* wxVaCopy */
 
 
 /*  ---------------------------------------------------------------------------- */
 
 
 /*  ---------------------------------------------------------------------------- */
@@ -678,14 +681,25 @@ typedef wxUint16 wxWord;
  */
 
 /*  32bit */
  */
 
 /*  32bit */
-#ifdef __WINDOWS__
+#ifdef __PALMOS__
+    typedef int wxInt32;
+    typedef unsigned int wxUint32;
+    #define SIZEOF_INT 4
+    #define SIZEOF_LONG 4
+    #define SIZEOF_WCHAR_T 2
+    #define SIZEOF_SIZE_T 4
+    #define wxSIZE_T_IS_UINT
+    #define SIZEOF_VOID_P 4
+    #define SIZEOF_SIZE_T 4
+#elif defined(__WINDOWS__)
     /*  Win64 uses LLP64 model and so ints and longs have the same size as in */
     /*  Win32 */
     #if defined(__WIN32__)
         typedef int wxInt32;
         typedef unsigned int wxUint32;
 
     /*  Win64 uses LLP64 model and so ints and longs have the same size as in */
     /*  Win32 */
     #if defined(__WIN32__)
         typedef int wxInt32;
         typedef unsigned int wxUint32;
 
-        /*  conside that if SIZEOF_INT is defined, all the other ones are too */
+        /* Assume that if SIZEOF_INT is defined that all the other ones except
+           SIZEOF_SIZE_T, are too.  See next #if below.  */
         #ifndef SIZEOF_INT
             #define SIZEOF_INT 4
             #define SIZEOF_LONG 4
         #ifndef SIZEOF_INT
             #define SIZEOF_INT 4
             #define SIZEOF_LONG 4
@@ -712,6 +726,19 @@ typedef wxUint16 wxWord;
                 #define SIZEOF_VOID_P 4
             #endif /*  Win64/32 */
         #endif /*  !defined(SIZEOF_INT) */
                 #define SIZEOF_VOID_P 4
             #endif /*  Win64/32 */
         #endif /*  !defined(SIZEOF_INT) */
+
+        /*
+          If Python.h was included first, it defines all of the SIZEOF's above
+          except for SIZEOF_SIZE_T, so we need to do it here to avoid
+          triggering the #error in the ssize_t typedefs below...
+        */
+        #ifndef SIZEOF_SIZE_T
+            #ifdef __WIN64__
+                #define SIZEOF_SIZE_T 8
+            #else /* Win32 */
+                #define SIZEOF_SIZE_T 4
+            #endif
+        #endif
     #else
         #error "Unsupported Windows version"
     #endif
     #else
         #error "Unsupported Windows version"
     #endif
@@ -1391,12 +1418,14 @@ enum wxBorder
 /*  Old names for compatibility */
 #define wxRA_HORIZONTAL     wxHORIZONTAL
 #define wxRA_VERTICAL       wxVERTICAL
 /*  Old names for compatibility */
 #define wxRA_HORIZONTAL     wxHORIZONTAL
 #define wxRA_VERTICAL       wxVERTICAL
+#define wxRA_USE_CHECKBOX   0x0010 /* alternative native subcontrols (wxPalmOS) */
 
 /*
  * wxRadioButton style flag
  */
 #define wxRB_GROUP          0x0004
 #define wxRB_SINGLE         0x0008
 
 /*
  * wxRadioButton style flag
  */
 #define wxRB_GROUP          0x0004
 #define wxRB_SINGLE         0x0008
+#define wxRB_USE_CHECKBOX   0x0010 /* alternative native control (wxPalmOS) */
 
 /*
  * wxSlider flags
 
 /*
  * wxSlider flags
@@ -1414,6 +1443,7 @@ enum wxBorder
 #define wxSL_BOTTOM          0x0200
 #define wxSL_BOTH            0x0400
 #define wxSL_SELRANGE        0x0800
 #define wxSL_BOTTOM          0x0200
 #define wxSL_BOTH            0x0400
 #define wxSL_SELRANGE        0x0800
+#define wxSL_INVERSE         0x1000
 
 /*
  * wxScrollBar flags
 
 /*
  * wxScrollBar flags
@@ -1441,6 +1471,7 @@ enum wxBorder
 #define wxNB_RIGHT            0x0040
 #define wxNB_BOTTOM           0x0080
 #define wxNB_MULTILINE        0x0100
 #define wxNB_RIGHT            0x0040
 #define wxNB_BOTTOM           0x0080
 #define wxNB_MULTILINE        0x0100
+#define wxNB_NOPAGETHEME      0x0200
 #define wxNB_DEFAULT          wxNB_TOP
 
 /*
 #define wxNB_DEFAULT          wxNB_TOP
 
 /*
@@ -1504,10 +1535,9 @@ enum wxBorder
 #define wxPD_AUTO_HIDE          0x0004
 #define wxPD_ELAPSED_TIME       0x0008
 #define wxPD_ESTIMATED_TIME     0x0010
 #define wxPD_AUTO_HIDE          0x0004
 #define wxPD_ELAPSED_TIME       0x0008
 #define wxPD_ESTIMATED_TIME     0x0010
-/*  wxGA_SMOOTH = 0x0020 may also be used with wxProgressDialog */
-/*  NO!!! This is wxDIALOG_MODAL and will cause the progress dialog to */
-/*  be modal. No progress will then be made at all. */
+#define wxPD_SMOOTH             0x0020
 #define wxPD_REMAINING_TIME     0x0040
 #define wxPD_REMAINING_TIME     0x0040
+#define wxPD_CAN_SKIP           0x0080
 
 /*
  * wxDirDialog styles
 
 /*
  * wxDirDialog styles
@@ -1794,12 +1824,15 @@ enum
     wxSTIPPLE_MASK,        /* mask is used for masking areas in the stipple bitmap (TO DO) */
     /*  drawn with a Pen, and without any Brush -- and it can be stippled. */
     wxSTIPPLE =          110,
     wxSTIPPLE_MASK,        /* mask is used for masking areas in the stipple bitmap (TO DO) */
     /*  drawn with a Pen, and without any Brush -- and it can be stippled. */
     wxSTIPPLE =          110,
-    wxBDIAGONAL_HATCH,
-    wxCROSSDIAG_HATCH,
-    wxFDIAGONAL_HATCH,
-    wxCROSS_HATCH,
+
+    wxBDIAGONAL_HATCH,     /* In wxWidgets < 2.6 use WX_HATCH macro  */
+    wxCROSSDIAG_HATCH,     /* to verify these wx*_HATCH are in style */
+    wxFDIAGONAL_HATCH,     /* of wxBrush. In wxWidgets >= 2.6 use    */
+    wxCROSS_HATCH,         /* wxBrush::IsHatch() instead.            */
     wxHORIZONTAL_HATCH,
     wxVERTICAL_HATCH,
     wxHORIZONTAL_HATCH,
     wxVERTICAL_HATCH,
+    wxFIRST_HATCH = wxBDIAGONAL_HATCH,
+    wxLAST_HATCH = wxVERTICAL_HATCH,
 
     wxJOIN_BEVEL =     120,
     wxJOIN_MITER,
 
     wxJOIN_BEVEL =     120,
     wxJOIN_MITER,
@@ -1810,28 +1843,31 @@ enum
     wxCAP_BUTT
 };
 
     wxCAP_BUTT
 };
 
-/*  VZ: why doesn't it start with "wx"? FIXME */
-#define IS_HATCH(s)    ((s)>=wxBDIAGONAL_HATCH && (s)<=wxVERTICAL_HATCH)
+#if WXWIN_COMPATIBILITY_2_4
+    #define IS_HATCH(s)    ((s)>=wxFIRST_HATCH && (s)<=wxLAST_HATCH)
+#else
+    /* use wxBrush::IsHatch() instead thought wxMotif still uses it in src/motif/dcclient.cpp */
+#endif
 
 /*  Logical ops */
 typedef enum
 {
 
 /*  Logical ops */
 typedef enum
 {
-  wxCLEAR,        wxROP_BLACK = wxCLEAR,             wxBLIT_BLACKNESS = wxCLEAR,        /*  0 */
-  wxXOR,          wxROP_XORPEN = wxXOR,              wxBLIT_SRCINVERT = wxXOR,          /*  src XOR dst */
-  wxINVERT,       wxROP_NOT = wxINVERT,              wxBLIT_DSTINVERT = wxINVERT,       /*  NOT dst */
-  wxOR_REVERSE,   wxROP_MERGEPENNOT = wxOR_REVERSE,  wxBLIT_00DD0228 = wxOR_REVERSE,    /*  src OR (NOT dst) */
-  wxAND_REVERSE,  wxROP_MASKPENNOT = wxAND_REVERSE,  wxBLIT_SRCERASE = wxAND_REVERSE,   /*  src AND (NOT dst) */
-  wxCOPY,         wxROP_COPYPEN = wxCOPY,            wxBLIT_SRCCOPY = wxCOPY,           /*  src */
-  wxAND,          wxROP_MASKPEN = wxAND,             wxBLIT_SRCAND = wxAND,             /*  src AND dst */
-  wxAND_INVERT,   wxROP_MASKNOTPEN = wxAND_INVERT,   wxBLIT_00220326 = wxAND_INVERT,    /*  (NOT src) AND dst */
-  wxNO_OP,        wxROP_NOP = wxNO_OP,               wxBLIT_00AA0029 = wxNO_OP,         /*  dst */
-  wxNOR,          wxROP_NOTMERGEPEN = wxNOR,         wxBLIT_NOTSRCERASE = wxNOR,        /*  (NOT src) AND (NOT dst) */
-  wxEQUIV,        wxROP_NOTXORPEN = wxEQUIV,         wxBLIT_00990066 = wxEQUIV,         /*  (NOT src) XOR dst */
-  wxSRC_INVERT,   wxROP_NOTCOPYPEN = wxSRC_INVERT,   wxBLIT_NOTSCRCOPY = wxSRC_INVERT,  /*  (NOT src) */
-  wxOR_INVERT,    wxROP_MERGENOTPEN = wxOR_INVERT,   wxBLIT_MERGEPAINT = wxOR_INVERT,   /*  (NOT src) OR dst */
-  wxNAND,         wxROP_NOTMASKPEN = wxNAND,         wxBLIT_007700E6 = wxNAND,          /*  (NOT src) OR (NOT dst) */
-  wxOR,           wxROP_MERGEPEN = wxOR,             wxBLIT_SRCPAINT = wxOR,            /*  src OR dst */
-  wxSET,          wxROP_WHITE = wxSET,               wxBLIT_WHITENESS = wxSET           /*  1 */
+    wxCLEAR,        wxROP_BLACK = wxCLEAR,             wxBLIT_BLACKNESS = wxCLEAR,        /*  0 */
+    wxXOR,          wxROP_XORPEN = wxXOR,              wxBLIT_SRCINVERT = wxXOR,          /*  src XOR dst */
+    wxINVERT,       wxROP_NOT = wxINVERT,              wxBLIT_DSTINVERT = wxINVERT,       /*  NOT dst */
+    wxOR_REVERSE,   wxROP_MERGEPENNOT = wxOR_REVERSE,  wxBLIT_00DD0228 = wxOR_REVERSE,    /*  src OR (NOT dst) */
+    wxAND_REVERSE,  wxROP_MASKPENNOT = wxAND_REVERSE,  wxBLIT_SRCERASE = wxAND_REVERSE,   /*  src AND (NOT dst) */
+    wxCOPY,         wxROP_COPYPEN = wxCOPY,            wxBLIT_SRCCOPY = wxCOPY,           /*  src */
+    wxAND,          wxROP_MASKPEN = wxAND,             wxBLIT_SRCAND = wxAND,             /*  src AND dst */
+    wxAND_INVERT,   wxROP_MASKNOTPEN = wxAND_INVERT,   wxBLIT_00220326 = wxAND_INVERT,    /*  (NOT src) AND dst */
+    wxNO_OP,        wxROP_NOP = wxNO_OP,               wxBLIT_00AA0029 = wxNO_OP,         /*  dst */
+    wxNOR,          wxROP_NOTMERGEPEN = wxNOR,         wxBLIT_NOTSRCERASE = wxNOR,        /*  (NOT src) AND (NOT dst) */
+    wxEQUIV,        wxROP_NOTXORPEN = wxEQUIV,         wxBLIT_00990066 = wxEQUIV,         /*  (NOT src) XOR dst */
+    wxSRC_INVERT,   wxROP_NOTCOPYPEN = wxSRC_INVERT,   wxBLIT_NOTSCRCOPY = wxSRC_INVERT,  /*  (NOT src) */
+    wxOR_INVERT,    wxROP_MERGENOTPEN = wxOR_INVERT,   wxBLIT_MERGEPAINT = wxOR_INVERT,   /*  (NOT src) OR dst */
+    wxNAND,         wxROP_NOTMASKPEN = wxNAND,         wxBLIT_007700E6 = wxNAND,          /*  (NOT src) OR (NOT dst) */
+    wxOR,           wxROP_MERGEPEN = wxOR,             wxBLIT_SRCPAINT = wxOR,            /*  src OR dst */
+    wxSET,          wxROP_WHITE = wxSET,               wxBLIT_WHITENESS = wxSET           /*  1 */
 } form_ops_t;
 
 /*  Flood styles */
 } form_ops_t;
 
 /*  Flood styles */
@@ -1896,7 +1932,7 @@ enum wxKeyCode
     /* These are, by design, not compatable with unicode characters.
        If you want to get a unicode character from a key event, use
        wxKeyEvent::GetUnicodeKey instead.                           */
     /* These are, by design, not compatable with unicode characters.
        If you want to get a unicode character from a key event, use
        wxKeyEvent::GetUnicodeKey instead.                           */
-    WXK_START   = 300, 
+    WXK_START   = 300,
     WXK_LBUTTON,
     WXK_RBUTTON,
     WXK_CANCEL,
     WXK_LBUTTON,
     WXK_RBUTTON,
     WXK_CANCEL,
@@ -2182,9 +2218,10 @@ enum wxUpdateUI
 #define WX_OPAQUE_TYPE( name ) struct wxOpaque##name
 
 typedef unsigned char WXCOLORREF[6];
 #define WX_OPAQUE_TYPE( name ) struct wxOpaque##name
 
 typedef unsigned char WXCOLORREF[6];
+typedef void*       WXCGIMAGEREF;
 typedef void*       WXHBITMAP;
 typedef void*       WXHBITMAP;
-typedef void*       WXHMETAFILE;
-typedef void*       WXHICON;
+//typedef void*       WXHMETAFILE;
+//typedef void*       WXHICON;
 typedef void*       WXHCURSOR;
 typedef void*       WXHRGN;
 typedef void*       WXRECTPTR;
 typedef void*       WXHCURSOR;
 typedef void*       WXHRGN;
 typedef void*       WXRECTPTR;
@@ -2200,6 +2237,9 @@ typedef unsigned int    WXUINT;
 typedef unsigned long   WXDWORD;
 typedef unsigned short  WXWORD;
 
 typedef unsigned long   WXDWORD;
 typedef unsigned short  WXWORD;
 
+typedef WX_OPAQUE_TYPE(CIconHandle ) * WXHICON ;
+typedef WX_OPAQUE_TYPE(PicHandle ) * WXHMETAFILE ;
+
 
 /* typedef void*       WXWidget; */
 /* typedef void*       WXWindow; */
 
 /* typedef void*       WXWidget; */
 /* typedef void*       WXWindow; */
@@ -2306,7 +2346,37 @@ DECLARE_WXCOCOA_OBJC_CLASS(NSView);
 typedef WX_NSView WXWidget; /*  wxWidgets BASE definition */
 #endif /*  __WXCOCOA__ */
 
 typedef WX_NSView WXWidget; /*  wxWidgets BASE definition */
 #endif /*  __WXCOCOA__ */
 
-#ifdef __WXMSW__
+#if defined(__WXPALMOS__)
+
+typedef void *          WXHANDLE;
+typedef void *          WXHICON;
+typedef void *          WXHFONT;
+typedef void *          WXHMENU;
+typedef void *          WXHPEN;
+typedef void *          WXHBRUSH;
+typedef void *          WXHPALETTE;
+typedef void *          WXHCURSOR;
+typedef void *          WXHRGN;
+typedef void *          WXHACCEL;
+typedef void *          WXHINSTANCE;
+typedef void *          WXHBITMAP;
+typedef void *          WXHIMAGELIST;
+typedef void *          WXHGLOBAL;
+typedef void *          WXHDC;
+typedef unsigned int    WXUINT;
+typedef unsigned long   WXDWORD;
+typedef unsigned short  WXWORD;
+
+typedef unsigned long   WXCOLORREF;
+typedef struct tagMSG   WXMSG;
+
+typedef WinHandle       WXWINHANDLE;
+typedef WXWINHANDLE     WXWidget;
+
+#endif /* __WXPALMOS__ */
+
+
+#if defined(__WXMSW__)
 
 /*  the keywords needed for WinMain() declaration */
 #ifndef WXFAR
 
 /*  the keywords needed for WinMain() declaration */
 #ifndef WXFAR
@@ -2549,6 +2619,7 @@ typedef struct _GtkNotebookPage   GtkNotebookPage;
 typedef struct _GtkAccelGroup     GtkAccelGroup;
 typedef struct _GtkItemFactory    GtkItemFactory;
 typedef struct _GtkSelectionData  GtkSelectionData;
 typedef struct _GtkAccelGroup     GtkAccelGroup;
 typedef struct _GtkItemFactory    GtkItemFactory;
 typedef struct _GtkSelectionData  GtkSelectionData;
+typedef struct _GtkTextBuffer     GtkTextBuffer;
 
 typedef GtkWidget *WXWidget;
 
 
 typedef GtkWidget *WXWidget;