]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
bakefile cleanup: use consistent way of setting lists
[wxWidgets.git] / include / wx / defs.h
index 7cf17571cbb6f299ebca7fcf5b48aa09c60a5e86..4929dec125feef80abbd7b7766485e1eae1be21b 100644 (file)
 #pragma interface "defs.h"
 #endif
 
+#ifndef __cplusplus
+    #error "This header is for C++ code only"
+#endif
+
 // ----------------------------------------------------------------------------
 // compiler and OS identification
 // ----------------------------------------------------------------------------
@@ -350,165 +354,8 @@ typedef int wxWindowID;
 // compatibility :-(
 #define CMPFUNC_CONV wxCMPFUNC_CONV
 
-// ----------------------------------------------------------------------------
-// Making or using wxWindows as a Windows DLL
-// ----------------------------------------------------------------------------
-
-#if defined(__WXMSW__)
-    // __declspec works in BC++ 5 and later, Watcom C++ 11.0 and later as well
-    // as VC++ and gcc
-    #if defined(__VISUALC__) || defined(__BORLANDC__) || defined(__GNUC__) || defined(__WATCOMC__)
-        #define WXEXPORT __declspec(dllexport)
-        #define WXIMPORT __declspec(dllimport)
-    #else // compiler doesn't support __declspec()
-        #define WXEXPORT
-        #define WXIMPORT
-    #endif
-#elif defined(__WXPM__)
-    #if defined (__WATCOMC__)
-        #define WXEXPORT __declspec(dllexport)
-        // __declspec(dllimport) prepends __imp to imported symbols. We do NOT
-        // want that!
-        #define WXIMPORT
-    #elif (!(defined(__VISAGECPP__) && (__IBMCPP__ < 400 || __IBMC__ < 400 )))
-        #define WXEXPORT _Export
-        #define WXIMPORT _Export
-    #endif
-#elif defined(__WXMAC__) || defined(__WXCOCOA__)
-    #ifdef __MWERKS__
-        #define WXEXPORT __declspec(export)
-        #define WXIMPORT __declspec(import)
-    #endif
-#endif
-
-// for other platforms/compilers we don't anything
-#ifndef WXEXPORT
-    #define WXEXPORT
-    #define WXIMPORT
-#endif
-
-/*
-   We support building wxWindows as a set of several libraries but we don't
-   support arbitrary combinations of libs/DLLs: either we build all of them as
-   DLLs (in which case WXMAKINGDLL is defined) or none (it isn't).
-
-   However we have a problem because we need separate WXDLLEXPORT versions for
-   different libraries as, for example, wxString class should be dllexported
-   when compiled in wxBase and dllimported otherwise, so we do define separate
-   WXMAKING/USINGDLL_XYZ constants for each component XYZ.
- */
-#ifdef WXMAKINGDLL
-    #if wxUSE_BASE
-        #define WXMAKINGDLL_BASE
-    #endif
-
-    #define WXMAKINGDLL_NET
-    #define WXMAKINGDLL_CORE
-    #define WXMAKINGDLL_ADV
-    #define WXMAKINGDLL_ODBC
-    #define WXMAKINGDLL_DBGRID
-    #define WXMAKINGDLL_HTML
-    #define WXMAKINGDLL_XML
-#endif // WXMAKINGDLL
-
-// WXDLLEXPORT maps to export declaration when building the DLL, to import
-// declaration if using it or to nothing at all if we don't use wxWin as DLL
-#ifdef WXMAKINGDLL_BASE
-    #define WXDLLIMPEXP_BASE WXEXPORT
-    #define WXDLLIMPEXP_DATA_BASE(type) WXEXPORT type
-#elif defined(WXUSINGDLL)
-    #define WXDLLIMPEXP_BASE WXIMPORT
-    #define WXDLLIMPEXP_DATA_BASE(type) WXIMPORT type
-#else // not making nor using DLL
-    #define WXDLLIMPEXP_BASE
-    #define WXDLLIMPEXP_DATA_BASE(type) type
-#endif
-
-#ifdef WXMAKINGDLL_NET
-    #define WXDLLIMPEXP_NET WXEXPORT
-    #define WXDLLIMPEXP_DATA_NET(type) WXEXPORT type
-#elif defined(WXUSINGDLL)
-    #define WXDLLIMPEXP_NET WXIMPORT
-    #define WXDLLIMPEXP_DATA_NET(type) WXIMPORT type
-#else // not making nor using DLL
-    #define WXDLLIMPEXP_NET
-    #define WXDLLIMPEXP_DATA_NET(type) type
-#endif
-
-#ifdef WXMAKINGDLL_CORE
-    #define WXDLLIMPEXP_CORE WXEXPORT
-    #define WXDLLIMPEXP_DATA_CORE(type) WXEXPORT type
-#elif defined(WXUSINGDLL)
-    #define WXDLLIMPEXP_CORE WXIMPORT
-    #define WXDLLIMPEXP_DATA_CORE(type) WXIMPORT type
-#else // not making nor using DLL
-    #define WXDLLIMPEXP_CORE
-    #define WXDLLIMPEXP_DATA_CORE(type) type
-#endif
-
-#ifdef WXMAKINGDLL_ADV
-    #define WXDLLIMPEXP_ADV WXEXPORT
-    #define WXDLLIMPEXP_DATA_ADV(type) WXEXPORT type
-#elif defined(WXUSINGDLL)
-    #define WXDLLIMPEXP_ADV WXIMPORT
-    #define WXDLLIMPEXP_DATA_ADV(type) WXIMPORT type
-#else // not making nor using DLL
-    #define WXDLLIMPEXP_ADV
-    #define WXDLLIMPEXP_DATA_ADV(type) type
-#endif
-
-#ifdef WXMAKINGDLL_ODBC
-    #define WXDLLIMPEXP_ODBC WXEXPORT
-    #define WXDLLIMPEXP_DATA_ODBC(type) WXEXPORT type
-#elif defined(WXUSINGDLL)
-    #define WXDLLIMPEXP_ODBC WXIMPORT
-    #define WXDLLIMPEXP_DATA_ODBC(type) WXIMPORT type
-#else // not making nor using DLL
-    #define WXDLLIMPEXP_ODBC
-    #define WXDLLIMPEXP_DATA_ODBC(type) type
-#endif
-
-#ifdef WXMAKINGDLL_DBGRID
-    #define WXDLLIMPEXP_DBGRID WXEXPORT
-    #define WXDLLIMPEXP_DATA_DBGRID(type) WXEXPORT type
-#elif defined(WXUSINGDLL)
-    #define WXDLLIMPEXP_DBGRID WXIMPORT
-    #define WXDLLIMPEXP_DATA_DBGRID(type) WXIMPORT type
-#else // not making nor using DLL
-    #define WXDLLIMPEXP_DBGRID
-    #define WXDLLIMPEXP_DATA_DBGRID(type) type
-#endif
-
-#ifdef WXMAKINGDLL_HTML
-    #define WXDLLIMPEXP_HTML WXEXPORT
-    #define WXDLLIMPEXP_DATA_HTML(type) WXEXPORT type
-#elif defined(WXUSINGDLL)
-    #define WXDLLIMPEXP_HTML WXIMPORT
-    #define WXDLLIMPEXP_DATA_HTML(type) WXIMPORT type
-#else // not making nor using DLL
-    #define WXDLLIMPEXP_HTML
-    #define WXDLLIMPEXP_DATA_HTML(type) type
-#endif
-
-#ifdef WXMAKINGDLL_GL
-    #define WXDLLIMPEXP_GL WXEXPORT
-#elif defined(WXUSINGDLL)
-    #define WXDLLIMPEXP_GL WXIMPORT
-#else // not making nor using DLL
-    #define WXDLLIMPEXP_GL
-#endif
-
-#ifdef WXMAKINGDLL_XML
-    #define WXDLLIMPEXP_XML WXEXPORT
-#elif defined(WXUSINGDLL)
-    #define WXDLLIMPEXP_XML WXIMPORT
-#else // not making nor using DLL
-    #define WXDLLIMPEXP_XML
-#endif
-
-// for backwards compatibility, define suffix-less versions too
-#define WXDLLEXPORT WXDLLIMPEXP_CORE
-#define WXDLLEXPORT_DATA WXDLLIMPEXP_DATA_CORE
+// DLL import/export declarations
+#include "wx/dlimpexp.h"
 
 // ----------------------------------------------------------------------------
 // Very common macros
@@ -545,29 +392,13 @@ typedef int wxWindowID;
 #endif
 
 // everybody gets the assert and other debug macros
-#ifdef __cplusplus
 #include "wx/debug.h"
-#endif
 
 // NULL declaration: it must be defined as 0 for C++ programs (in particular,
 // it must not be defined as "(void *)0" which is standard for C but completely
 // breaks C++ code)
 #include <stddef.h>
 
-// Macro to cut down on compiler warnings.
-#if REMOVE_UNUSED_ARG
-    #define WXUNUSED(identifier) /* identifier */
-#else  // stupid, broken compiler
-    #define WXUNUSED(identifier) identifier
-#endif
-
-// some arguments are only used in debug mode, but unused in release one
-#ifdef __WXDEBUG__
-    #define WXUNUSED_UNLESS_DEBUG(param)  param
-#else
-    #define WXUNUSED_UNLESS_DEBUG(param)  WXUNUSED(param)
-#endif
-
 // delete pointer if it is not NULL and NULL it afterwards
 // (checking that it's !NULL before passing it to delete is just a
 //  a question of style, because delete will do it itself anyhow, but it might
@@ -581,19 +412,54 @@ typedef int wxWindowID;
 // size of statically declared array
 #define WXSIZEOF(array)   (sizeof(array)/sizeof(array[0]))
 
+// helper macros to concatenate two tokens together
+#define wxCONCAT_HELPER(text, line) text ## line
+#define wxCONCAT(text, line)        wxCONCAT_HELPER(text, line)
+
 // helper macros to be able to define unique/anonymous objects: this works by
 // appending the current line number to the given identifier to reduce the
 // probability of the conflict (it may still happen if this is used in the
 // headers, hence you should avoid doing it or provide unique prefixes then)
-#define wxCONCAT(text, line)        text ## line
-#define wxCONCAT_LINE2(text, line)  wxCONCAT(text, line)
-#define wxCONCAT_LINE(text)         wxCONCAT_LINE2(text, __LINE__)
+#define wxCONCAT_LINE(text)         wxCONCAT(text, __LINE__)
 #define wxMAKE_UNIQUE_NAME(text)    wxCONCAT_LINE(text)
 
 // symbolic constant used by all Find()-like functions returning positive
 // integer on success as failure indicator
 #define wxNOT_FOUND       (-1)
 
+// ----------------------------------------------------------------------------
+// macros to avoid compiler warnings
+// ----------------------------------------------------------------------------
+
+// Macro to cut down on compiler warnings.
+#if 1 // there should be no more any compilers needing the "#else" version
+    #define WXUNUSED(identifier) /* identifier */
+#else  // stupid, broken compiler
+    #define WXUNUSED(identifier) identifier
+#endif
+
+// some arguments are only used in debug mode, but unused in release one
+#ifdef __WXDEBUG__
+    #define WXUNUSED_UNLESS_DEBUG(param)  param
+#else
+    #define WXUNUSED_UNLESS_DEBUG(param)  WXUNUSED(param)
+#endif
+
+// some compilers give warning about a possibly unused variable if it is
+// initialized in both branches of if/else and shut up if it is initialized
+// when declared, but other compilers then give warnings about unused variable
+// value -- this should satisfy both of them
+#if defined(__VISUALC__)
+    #define wxDUMMY_INITIALIZE(val) = val
+#else
+    #define wxDUMMY_INITIALIZE(val)
+#endif
+
+// sometimes the value of a variable is *really* not used, to suppress  the
+// resulting warning you may pass it to this function
+template <class T>
+inline void wxUnusedVar(const T& WXUNUSED(t)) { }
+
 // ----------------------------------------------------------------------------
 // compiler specific settings
 // ----------------------------------------------------------------------------
@@ -617,6 +483,10 @@ typedef int wxWindowID;
     #define except(x) catch(...)
 #endif // Metrowerks
 
+#if defined(__WATCOMC__)
+    typedef short mode_t;
+#endif
+
 // where should i put this? we need to make sure of this as it breaks
 // the <iostream> code.
 #if !wxUSE_IOSTREAMH && defined(__WXDEBUG__)
@@ -808,11 +678,18 @@ typedef wxUint16 wxWord;
         typedef int wxInt32;
         typedef unsigned int wxUint32;
 
-        #if wxUSE_WCHAR_T
-            // also assume that sizeof(wchar_t) == 4 under Unix, this is by far
+               #if defined(__MACH__) && !defined(SIZEOF_WCHAR_T)
+                       #define SIZEOF_WCHAR_T 4
+               #endif
+        #if wxUSE_WCHAR_T && !defined(SIZEOF_WCHAR_T)
+            // also assume that sizeof(wchar_t) == 2 (under Unix the most
+            // common case is 4 but there configure would have defined
+            // SIZEOF_WCHAR_T for us)
             // the most common case
-            wxCOMPILE_TIME_ASSERT( sizeof(wchar_t) == 4,
-                                    Wchar_tMustBeExactly4Bytes);
+            wxCOMPILE_TIME_ASSERT( sizeof(wchar_t) == 2,
+                                    Wchar_tMustBeExactly2Bytes);
+
+            #define SIZEOF_WCHAR_T 2
         #endif // wxUSE_WCHAR_T
     #endif
 #endif // Win/!Win
@@ -837,7 +714,7 @@ typedef wxUint32 wxDword;
     #define wxLongLongSuffix l
     #define wxLongLongFmtSpec _T("l")
     #define wxLongLongIsLong
-#elif (defined(__VISUALC__) && defined(__WIN32__)) || defined( __VMS__ )
+#elif (defined(__VISUALC__) && defined(__WIN32__)) 
     #define wxLongLong_t __int64
     #define wxLongLongSuffix i64
     #define wxLongLongFmtSpec _T("I64")
@@ -845,6 +722,14 @@ typedef wxUint32 wxDword;
     #define wxLongLong_t __int64
     #define wxLongLongSuffix i64
     #define wxLongLongFmtSpec _T("Ld")
+#elif (defined(__WATCOMC__) && defined(__WIN32__))
+      #define wxLongLong_t __int64
+      #define wxLongLongSuffix i64
+      #define wxLongLongFmtSpec _T("Ld")
+#elif defined(__DIGITALMARS__) 
+      #define wxLongLong_t __int64
+      #define wxLongLongSuffix LL
+      #define wxLongLongFmtSpec _T("ll")
 #elif (defined(SIZEOF_LONG_LONG) && SIZEOF_LONG_LONG >= 8)  || \
         defined(__MINGW32__) || \
         defined(__GNUC__) || \
@@ -869,6 +754,10 @@ typedef wxUint32 wxDword;
 
 
 #ifdef wxLongLong_t
+    // these macros allow to definea 64 bit constants in a portable way
+    #define wxLL(x) wxCONCAT(x, wxLongLongSuffix)
+    #define wxULL(x) wxCONCAT(x, wxCONCAT(u, wxLongLongSuffix))
+
     typedef wxLongLong_t wxInt64;
     typedef unsigned wxLongLong_t wxUint64;
 #endif
@@ -968,98 +857,74 @@ typedef float wxFloat32;
 #endif
 // machine specific byte swapping
 
-#if defined(SIZEOF_LONG) && (SIZEOF_LONG == 8)
-#define wxUINT64_SWAP_ALWAYS(val) \
-   ((wxUint64) ( \
-    (((wxUint64) (val) & (wxUint64) 0x00000000000000ffUL) << 56) | \
-    (((wxUint64) (val) & (wxUint64) 0x000000000000ff00UL) << 40) | \
-    (((wxUint64) (val) & (wxUint64) 0x0000000000ff0000UL) << 24) | \
-    (((wxUint64) (val) & (wxUint64) 0x00000000ff000000UL) <<  8) | \
-    (((wxUint64) (val) & (wxUint64) 0x000000ff00000000UL) >>  8) | \
-    (((wxUint64) (val) & (wxUint64) 0x0000ff0000000000UL) >> 24) | \
-    (((wxUint64) (val) & (wxUint64) 0x00ff000000000000UL) >> 40) | \
-    (((wxUint64) (val) & (wxUint64) 0xff00000000000000UL) >> 56)))
-
-#define wxINT64_SWAP_ALWAYS(val) \
-   ((wxInt64) ( \
-    (((wxUint64) (val) & (wxUint64) 0x00000000000000ffUL) << 56) | \
-    (((wxUint64) (val) & (wxUint64) 0x000000000000ff00UL) << 40) | \
-    (((wxUint64) (val) & (wxUint64) 0x0000000000ff0000UL) << 24) | \
-    (((wxUint64) (val) & (wxUint64) 0x00000000ff000000UL) <<  8) | \
-    (((wxUint64) (val) & (wxUint64) 0x000000ff00000000UL) >>  8) | \
-    (((wxUint64) (val) & (wxUint64) 0x0000ff0000000000UL) >> 24) | \
-    (((wxUint64) (val) & (wxUint64) 0x00ff000000000000UL) >> 40) | \
-    (((wxUint64) (val) & (wxUint64) 0xff00000000000000UL) >> 56)))
-
-#elif defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 8)
-#define wxUINT64_SWAP_ALWAYS(val) \
-   ((wxUint64) ( \
-    (((wxUint64) (val) & (wxUint64) 0x00000000000000ffULL) << 56) | \
-    (((wxUint64) (val) & (wxUint64) 0x000000000000ff00ULL) << 40) | \
-    (((wxUint64) (val) & (wxUint64) 0x0000000000ff0000ULL) << 24) | \
-    (((wxUint64) (val) & (wxUint64) 0x00000000ff000000ULL) <<  8) | \
-    (((wxUint64) (val) & (wxUint64) 0x000000ff00000000ULL) >>  8) | \
-    (((wxUint64) (val) & (wxUint64) 0x0000ff0000000000ULL) >> 24) | \
-    (((wxUint64) (val) & (wxUint64) 0x00ff000000000000ULL) >> 40) | \
-    (((wxUint64) (val) & (wxUint64) 0xff00000000000000ULL) >> 56)))
-
-#define wxINT64_SWAP_ALWAYS(val) \
-   ((wxInt64) ( \
-    (((wxUint64) (val) & (wxUint64) 0x00000000000000ffULL) << 56) | \
-    (((wxUint64) (val) & (wxUint64) 0x000000000000ff00ULL) << 40) | \
-    (((wxUint64) (val) & (wxUint64) 0x0000000000ff0000ULL) << 24) | \
-    (((wxUint64) (val) & (wxUint64) 0x00000000ff000000ULL) <<  8) | \
-    (((wxUint64) (val) & (wxUint64) 0x000000ff00000000ULL) >>  8) | \
-    (((wxUint64) (val) & (wxUint64) 0x0000ff0000000000ULL) >> 24) | \
-    (((wxUint64) (val) & (wxUint64) 0x00ff000000000000ULL) >> 40) | \
-    (((wxUint64) (val) & (wxUint64) 0xff00000000000000ULL) >> 56)))
-
-#else
-#define wxUINT64_SWAP_ALWAYS(val) \
-   ((wxUint64) ( \
-    ((wxULongLong(val) & wxULongLong(0L, 0x000000ffU)) << 56) | \
-    ((wxULongLong(val) & wxULongLong(0L, 0x0000ff00U)) << 40) | \
-    ((wxULongLong(val) & wxULongLong(0L, 0x00ff0000U)) << 24) | \
-    ((wxULongLong(val) & wxULongLong(0L, 0xff000000U)) <<  8) | \
-    ((wxULongLong(val) & wxULongLong(0x000000ffL, 0U)) >>  8) | \
-    ((wxULongLong(val) & wxULongLong(0x0000ff00L, 0U)) >> 24) | \
-    ((wxULongLong(val) & wxULongLong(0x00ff0000L, 0U)) >> 40) | \
-    ((wxULongLong(val) & wxULongLong(0xff000000L, 0U)) >> 56)))
-
-#define wxINT64_SWAP_ALWAYS(val) \
-   ((wxInt64) ( \
-    ((wxLongLong(val) & wxLongLong(0L, 0x000000ffU)) << 56) | \
-    ((wxLongLong(val) & wxLongLong(0L, 0x0000ff00U)) << 40) | \
-    ((wxLongLong(val) & wxLongLong(0L, 0x00ff0000U)) << 24) | \
-    ((wxLongLong(val) & wxLongLong(0L, 0xff000000U)) <<  8) | \
-    ((wxLongLong(val) & wxLongLong(0x000000ffL, 0U)) >>  8) | \
-    ((wxLongLong(val) & wxLongLong(0x0000ff00L, 0U)) >> 24) | \
-    ((wxLongLong(val) & wxLongLong(0x00ff0000L, 0U)) >> 40) | \
-    ((wxLongLong(val) & wxLongLong(0xff000000L, 0U)) >> 56)))
-#endif
+#ifdef wxLongLong_t
+    #define wxUINT64_SWAP_ALWAYS(val) \
+       ((wxUint64) ( \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x00000000000000ff)) << 56) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x000000000000ff00)) << 40) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x0000000000ff0000)) << 24) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x00000000ff000000)) <<  8) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x000000ff00000000)) >>  8) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x0000ff0000000000)) >> 24) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x00ff000000000000)) >> 40) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0xff00000000000000)) >> 56)))
+
+    #define wxINT64_SWAP_ALWAYS(val) \
+       ((wxInt64) ( \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x00000000000000ff)) << 56) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x000000000000ff00)) << 40) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x0000000000ff0000)) << 24) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x00000000ff000000)) <<  8) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x000000ff00000000)) >>  8) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x0000ff0000000000)) >> 24) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0x00ff000000000000)) >> 40) | \
+        (((wxUint64) (val) & (wxUint64) wxULL(0xff00000000000000)) >> 56)))
+#else // !wxLongLong_t
+    #define wxUINT64_SWAP_ALWAYS(val) \
+       ((wxUint64) ( \
+        ((wxULongLong(val) & wxULongLong(0L, 0x000000ffU)) << 56) | \
+        ((wxULongLong(val) & wxULongLong(0L, 0x0000ff00U)) << 40) | \
+        ((wxULongLong(val) & wxULongLong(0L, 0x00ff0000U)) << 24) | \
+        ((wxULongLong(val) & wxULongLong(0L, 0xff000000U)) <<  8) | \
+        ((wxULongLong(val) & wxULongLong(0x000000ffL, 0U)) >>  8) | \
+        ((wxULongLong(val) & wxULongLong(0x0000ff00L, 0U)) >> 24) | \
+        ((wxULongLong(val) & wxULongLong(0x00ff0000L, 0U)) >> 40) | \
+        ((wxULongLong(val) & wxULongLong(0xff000000L, 0U)) >> 56)))
+
+    #define wxINT64_SWAP_ALWAYS(val) \
+       ((wxInt64) ( \
+        ((wxLongLong(val) & wxLongLong(0L, 0x000000ffU)) << 56) | \
+        ((wxLongLong(val) & wxLongLong(0L, 0x0000ff00U)) << 40) | \
+        ((wxLongLong(val) & wxLongLong(0L, 0x00ff0000U)) << 24) | \
+        ((wxLongLong(val) & wxLongLong(0L, 0xff000000U)) <<  8) | \
+        ((wxLongLong(val) & wxLongLong(0x000000ffL, 0U)) >>  8) | \
+        ((wxLongLong(val) & wxLongLong(0x0000ff00L, 0U)) >> 24) | \
+        ((wxLongLong(val) & wxLongLong(0x00ff0000L, 0U)) >> 40) | \
+        ((wxLongLong(val) & wxLongLong(0xff000000L, 0U)) >> 56)))
+#endif // wxLongLong_t/!wxLongLong_t
 
 #ifdef WORDS_BIGENDIAN
-  #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)
-  #define wxUINT64_SWAP_ON_BE(val)  wxUINT64_SWAP_ALWAYS(val)
-  #define wxUINT64_SWAP_ON_LE(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)
+    #define wxUINT64_SWAP_ON_BE(val)  wxUINT64_SWAP_ALWAYS(val)
+    #define wxUINT64_SWAP_ON_LE(val)  (val)
 #else
-  #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)
-  #define wxUINT64_SWAP_ON_LE(val)  wxUINT64_SWAP_ALWAYS(val)
-  #define wxUINT64_SWAP_ON_BE(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)
+    #define wxUINT64_SWAP_ON_LE(val)  wxUINT64_SWAP_ALWAYS(val)
+    #define wxUINT64_SWAP_ON_BE(val)  (val)
 #endif
 
 // Macros to convert from unsigned long to void pointer.
@@ -1225,9 +1090,15 @@ enum wxBorder
 // mouse is clicked outside of it or if it loses focus in any other way
 #define wxPOPUP_WINDOW          0x00020000
 
+// force a full repaint when the window is resized (instead of repainting just
+// the invalidated area)
+#define wxFULL_REPAINT_ON_RESIZE 0x00010000
+
+// obsolete: now this is the default behaviour
+//
 // don't invalidate the whole window (resulting in a PAINT event) when the
 // window is resized (currently, makes sense for wxMSW only)
-#define wxNO_FULL_REPAINT_ON_RESIZE 0x00010000
+#define wxNO_FULL_REPAINT_ON_RESIZE 0
 
 /*
  * Extra window style flags (use wxWS_EX prefix to make it clear that they