/* VC++ 6.0 and 5.0 have std::wstring (what about earlier versions?) */
#define HAVE_STD_WSTRING
#elif ( defined(__MINGW32__) || defined(__CYGWIN32__) ) \
- && wxCHECK_GCC_VERSION(3, 1)
+ && wxCHECK_GCC_VERSION(3, 3)
/* GCC 3.1 has std::wstring; 3.0 never was in MinGW, 2.95 hasn't it */
#define HAVE_STD_WSTRING
#endif
/* we will need to define this */
#undef wxLongLongIsLong
-/* first check for generic cases which are long on 64bit machine and "long */
-/* long", then check for specific compilers */
-#if defined(SIZEOF_LONG) && (SIZEOF_LONG == 8)
- #define wxLongLong_t long
- #define wxLongLongSuffix l
- #define wxLongLongFmtSpec _T("l")
- #define wxLongLongIsLong
-#elif defined(__WXPALMOS__)
- #define wxLongLong_t int64_t
- #define wxLongLongSuffix ll
- #define wxLongLongFmtSpec _T("ll")
-#elif (defined(__VISUALC__) && defined(__WIN32__))
+/*
+ First check for specific compilers which have known 64 bit integer types,
+ this avoids clashes with SIZEOF_LONG[_LONG] being defined incorrectly for
+ e.g. MSVC builds (Python.h defines it as 8 even for MSVC).
+
+ Also notice that we check for "long long" before checking for 64 bit long as
+ we still want to use "long long" and not "long" for wxLongLong_t on 64 bit
+ architectures to be able to pass wxLongLong_t to the standard functions
+ prototyped as taking "long long" such as strtoll().
+ */
+#if (defined(__VISUALC__) && defined(__WIN32__))
#define wxLongLong_t __int64
#define wxLongLongSuffix i64
#define wxLongLongFmtSpec _T("I64")
#define wxLongLong_t long long
#define wxLongLongSuffix ll
#define wxLongLongFmtSpec _T("I64")
-#elif (defined(SIZEOF_LONG_LONG) && SIZEOF_LONG_LONG >= 8) || \
- defined(__GNUC__) || \
- defined(__CYGWIN__) || \
- defined(__WXMICROWIN__) || \
- (defined(__DJGPP__) && __DJGPP__ >= 2)
- #define wxLongLong_t long long
- #define wxLongLongSuffix ll
- #define wxLongLongFmtSpec _T("ll")
#elif defined(__MWERKS__)
#if __option(longlong)
#define wxLongLong_t long long
#error "The 64 bit integer support in CodeWarrior has been disabled."
#error "See the documentation on the 'longlong' pragma."
#endif
+#elif defined(__WXPALMOS__)
+ #define wxLongLong_t int64_t
+ #define wxLongLongSuffix ll
+ #define wxLongLongFmtSpec _T("ll")
#elif defined(__VISAGECPP__) && __IBMCPP__ >= 400
#define wxLongLong_t long long
+#elif (defined(SIZEOF_LONG_LONG) && SIZEOF_LONG_LONG >= 8) || \
+ defined(__GNUC__) || \
+ defined(__CYGWIN__) || \
+ defined(__WXMICROWIN__) || \
+ (defined(__DJGPP__) && __DJGPP__ >= 2)
+ #define wxLongLong_t long long
+ #define wxLongLongSuffix ll
+ #define wxLongLongFmtSpec _T("ll")
+#elif defined(SIZEOF_LONG) && (SIZEOF_LONG == 8)
+ #define wxLongLong_t long
+ #define wxLongLongSuffix l
+ #define wxLongLongFmtSpec _T("l")
+ #define wxLongLongIsLong
#endif
#define wxULongLong_t unsigned wxLongLong_t
#endif
- /* these macros allow to definea 64 bit constants in a portable way */
+ /* these macros allow to define 64 bit constants in a portable way */
#define wxLL(x) wxCONCAT(x, wxLongLongSuffix)
#define wxULL(x) wxCONCAT(x, wxCONCAT(u, wxLongLongSuffix))
#define wxHAS_INT64 1
#elif wxUSE_LONGLONG
- /* these macros allow to definea 64 bit constants in a portable way */
+ /* these macros allow to define 64 bit constants in a portable way */
#define wxLL(x) wxLongLong(x)
#define wxULL(x) wxULongLong(x)
#define wxSP_ARROW_KEYS 0x1000
#define wxSP_WRAP 0x2000
-/*
- * wxBookCtrl flags (common for wxNotebook, wxListbook, wxChoicebook, wxTreebook)
- */
-
-#define wxBK_DEFAULT 0x0000
-#define wxBK_TOP 0x0010
-#define wxBK_BOTTOM 0x0020
-#define wxBK_LEFT 0x0040
-#define wxBK_RIGHT 0x0080
-#define wxBK_ALIGN_MASK ( wxBK_TOP | wxBK_BOTTOM | wxBK_LEFT | wxBK_RIGHT )
-
-/*
- * wxNotebook flags
- */
-#if WXWIN_COMPATIBILITY_2_6
-/* Use common book wxBK_* flags for describing alignment */
-#define wxNB_DEFAULT wxBK_DEFAULT
-#define wxNB_TOP wxBK_TOP
-#define wxNB_BOTTOM wxBK_BOTTOM
-#define wxNB_LEFT wxBK_LEFT
-#define wxNB_RIGHT wxBK_RIGHT
-#endif
-
-#define wxNB_FIXEDWIDTH 0x0100
-#define wxNB_MULTILINE 0x0200
-#define wxNB_NOPAGETHEME 0x0400
-#define wxNB_FLAT 0x0800
-
-/*
- * wxListbook flags
- */
-#if WXWIN_COMPATIBILITY_2_6
-/* Use common book wxBK_* flags for describing alignment */
-#define wxLB_DEFAULT wxBK_DEFAULT
-#define wxLB_TOP wxBK_TOP
-#define wxLB_BOTTOM wxBK_BOTTOM
-#define wxLB_LEFT wxBK_LEFT
-#define wxLB_RIGHT wxBK_RIGHT
-#define wxLB_ALIGN_MASK wxBK_ALIGN_MASK
-#endif
-
-/*
- * wxChoicebook flags
- */
-#if WXWIN_COMPATIBILITY_2_6
-/* Use common book wxBK_* flags for describing alignment */
-#define wxCHB_DEFAULT wxBK_DEFAULT
-#define wxCHB_TOP wxBK_TOP
-#define wxCHB_BOTTOM wxBK_BOTTOM
-#define wxCHB_LEFT wxBK_LEFT
-#define wxCHB_RIGHT wxBK_RIGHT
-#define wxCHB_ALIGN_MASK wxBK_ALIGN_MASK
-#endif
-
/*
* wxTabCtrl flags
*/
#define wxTC_LEFT 0x0020
#define wxTC_RIGHT 0x0040
#define wxTC_BOTTOM 0x0080
-#define wxTC_MULTILINE wxNB_MULTILINE
-#define wxTC_OWNERDRAW 0x0200
+#define wxTC_MULTILINE 0x0200 /* == wxNB_MULTILINE */
+#define wxTC_OWNERDRAW 0x0400
/*
* wxStatusBar95 flags
/* WIN32 graphics types for OS/2 GPI */
/* RGB under OS2 is more like a PALETTEENTRY struct under Windows so we need a real RGB def */
-/* WARNING: The OS/2 headers typedef BYTE simply as 'char'; if the default is signed, all */
-/* hell will break loose! */
-/* #define OS2RGB(r,g,b) ((DWORD ((BYTE) (b) | ((WORD) (g) << 8)) | (((DWORD)(BYTE)(r)) << 16))) */
#define OS2RGB(r,g,b) ((DWORD)((unsigned char)(b) | ((unsigned char)(g) << 8)) | ((unsigned char)(r) << 16))
typedef unsigned long COLORREF;
-#define GetBValue(rgb) ((BYTE)((rgb) >> 16))
-#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
-#define GetRValue(rgb) ((BYTE)(rgb))
+#define GetRValue(rgb) ((unsigned char)((rgb) >> 16))
+#define GetGValue(rgb) ((unsigned char)(((unsigned short)(rgb)) >> 8))
+#define GetBValue(rgb) ((unsigned char)(rgb))
#define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (DWORD)(WORD)(i)))
#define PALETTERGB(r,g,b) (0x02000000 | OS2RGB(r,g,b))
/* OS2's RGB/RGB2 is backwards from this */
#define GTK_CLASS_TYPE(klass) ((klass)->type)
#endif
-#ifdef __WXGTK20__
-#define G_DISABLE_DEPRECATED
-#define PANGO_DISABLE_DEPRECATED
-#define GDK_PIXBUF_DISABLE_DEPRECATED
-#ifndef __VMS
-/* GtkCombo is not defined on VMS if this is defined */
-# define GTK_DISABLE_DEPRECATED
-#endif
-#endif
-
#endif /* __WXGTK__ */
#if defined(__WXGTK20__) || (defined(__WXX11__) && wxUSE_UNICODE)