X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5f3c0120ed7efbe3272148eed864ef09b0059a67..86ac84b8ce086e6bbda58f422d41f84268606e35:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index a845da8d5f..75d36d81b3 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -141,6 +141,9 @@ #ifndef _CRT_NON_CONFORMING_SWPRINTFS #define _CRT_NON_CONFORMING_SWPRINTFS 1 #endif + #ifndef _SCL_SECURE_NO_WARNINGS + #define _SCL_SECURE_NO_WARNINGS 1 + #endif #endif /* VC++ 8 */ #endif /* __VISUALC__ */ @@ -303,8 +306,7 @@ typedef short int WXTYPE; #if defined(__VISUALC__) && (__VISUALC__ >= 1100) /* 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, 3) + #elif defined(__MINGW32__) && 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 @@ -374,10 +376,11 @@ typedef short int WXTYPE; #ifndef HAVE_WOSTREAM - // Mingw <= 3.4 and any version (so far) when targetting PalmOS don't have - // std::wostream + // Mingw <= 3.4 and all versions of Cygwin as well as any gcc version (so + // far) targeting PalmOS don't have std::wostream #if defined(__PALMOS__) || \ - (defined(__MINGW32__) && !wxCHECK_GCC_VERSION(4, 0)) + (defined(__MINGW32__) && !wxCHECK_GCC_VERSION(4, 0)) || \ + defined(__CYGWIN__) #define wxNO_WOSTREAM #endif @@ -519,6 +522,11 @@ typedef short int WXTYPE; */ #define wxDEPRECATED_INLINE(func, body) wxDEPRECATED(func) { body } +/* + A macro to define a simple deprecated accessor. + */ +#define wxDEPRECATED_ACCESSOR(func, what) wxDEPRECATED_INLINE(func, return what;) + /* Special variant of the macro above which should be used for the functions which are deprecated but called by wx itself: this often happens with @@ -541,9 +549,6 @@ typedef short int WXTYPE; wxDEPRECATED(func) { body } #endif -/* everybody gets the assert and other debug macros */ -#include "wx/debug.h" - /* 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) */ @@ -552,6 +557,10 @@ typedef short int WXTYPE; #endif #ifdef __cplusplus + +// everybody gets the assert and other debug macros +#include "wx/debug.h" + // delete pointer if it is not NULL and NULL it afterwards template inline void wxDELETE(T*& ptr) @@ -595,6 +604,10 @@ typedef short int WXTYPE; /* integer on success as failure indicator */ #define wxNOT_FOUND (-1) +/* the default value for some length parameters meaning that the string is */ +/* NUL-terminated */ +#define wxNO_LEN ((size_t)-1) + /* ---------------------------------------------------------------------------- */ /* macros dealing with comparison operators */ /* ---------------------------------------------------------------------------- */ @@ -660,13 +673,6 @@ typedef short int WXTYPE; #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 arguments are not used in unicode mode */ #if wxUSE_UNICODE #define WXUNUSED_IN_UNICODE(param) WXUNUSED(param) @@ -918,16 +924,20 @@ typedef wxUint16 wxWord; /* also define C99-like sized MIN/MAX constants */ #define wxINT8_MIN CHAR_MIN #define wxINT8_MAX CHAR_MAX +#define wxUINT8_MAX UCHAR_MAX #define wxINT16_MIN SHRT_MIN #define wxINT16_MAX SHRT_MAX +#define wxUINT16_MAX USHRT_MAX #if SIZEOF_INT == 4 #define wxINT32_MIN INT_MIN #define wxINT32_MAX INT_MAX + #define wxUINT32_MAX UINT_MAX #elif SIZEOF_LONG == 4 #define wxINT32_MIN LONG_MIN #define wxINT32_MAX LONG_MAX + #define wxUINT32_MAX ULONG_MAX #else #error "Unknown 32 bit type" #endif @@ -935,11 +945,13 @@ typedef wxUint16 wxWord; typedef wxUint32 wxDword; #ifdef LLONG_MAX - #define wxINT64_MAX LLONG_MAX #define wxINT64_MIN LLONG_MIN + #define wxINT64_MAX LLONG_MAX + #define wxUINT64_MAX ULLONG_MAX #else - #define wxINT64_MAX wxLL(9223372036854775807) #define wxINT64_MIN (wxLL(-9223372036854775807)-1) + #define wxINT64_MAX wxLL(9223372036854775807) + #define wxUINT64_MAX wxULL(0xFFFFFFFFFFFFFFFF) #endif /* 64 bit */ @@ -1083,6 +1095,9 @@ typedef wxUint32 wxDword; #else #error "error defining ssize_t, size_t is not 4 or 8 bytes" #endif + + /* prevent ssize_t redefinitions in other libraries */ + #define HAVE_SSIZE_T #endif // we can't rely on Windows _W64 being defined as windows.h may not be included @@ -1768,11 +1783,6 @@ enum wxBorder #define wxTC_MULTILINE 0x0200 /* == wxNB_MULTILINE */ #define wxTC_OWNERDRAW 0x0400 -/* - * wxStatusBar95 flags - */ -#define wxST_SIZEGRIP 0x0010 - /* * wxStaticBitmap flags */ @@ -1826,13 +1836,32 @@ enum wxBorder /* * Background styles. See wxWindow::SetBackgroundStyle */ - enum wxBackgroundStyle { - wxBG_STYLE_SYSTEM, - wxBG_STYLE_COLOUR, - wxBG_STYLE_CUSTOM, - wxBG_STYLE_TRANSPARENT + // background is erased in the EVT_ERASE_BACKGROUND handler or using the + // system default background if no such handler is defined (this is the + // default style) + wxBG_STYLE_ERASE, + + // background is erased by the system, no EVT_ERASE_BACKGROUND event is + // generated at all + wxBG_STYLE_SYSTEM, + + // background is erased in EVT_PAINT handler and not erased at all before + // it, this should be used if the paint handler paints over the entire + // window to avoid flicker + wxBG_STYLE_PAINT, + + + // this is a Mac-only style, don't use in portable code + wxBG_STYLE_TRANSPARENT, + + // this style is deprecated and doesn't do anything, don't use + wxBG_STYLE_COLOUR, + + // this style is deprecated and is synonymous with wxBG_STYLE_PAINT, use + // the new name + wxBG_STYLE_CUSTOM = wxBG_STYLE_PAINT }; /* @@ -2624,8 +2653,8 @@ typedef unsigned short WXWORD; typedef WX_OPAQUE_TYPE(PicHandle ) * WXHMETAFILE ; #if wxOSX_USE_CARBON -typedef WX_OPAQUE_TYPE(ControlRef ) * WXWidget ; -typedef WX_OPAQUE_TYPE(WindowRef) * WXWindow ; +typedef struct OpaqueControlRef* WXWidget ; +typedef struct OpaqueWindowPtr* WXWindow ; typedef struct __AGLPixelFormatRec *WXGLPixelFormat; typedef struct __AGLContextRec *WXGLContext; #endif