X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0fd61b16099bbba1ebfe3fecf339e0807d207e4d..dfbb5eff442e9bcabd494f0340553fbf49739b25:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index 708b4b9aa7..b3819c09aa 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -908,7 +908,7 @@ typedef wxUint16 wxWord; #if defined(__MACH__) && !defined(SIZEOF_WCHAR_T) #define SIZEOF_WCHAR_T 4 #endif - #if wxUSE_WCHAR_T && !defined(SIZEOF_WCHAR_T) + #if !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) */ @@ -917,10 +917,14 @@ typedef wxUint16 wxWord; Wchar_tMustBeExactly2Bytes); #define SIZEOF_WCHAR_T 2 - #endif /* wxUSE_WCHAR_T */ + #endif /* !defined(SIZEOF_WCHAR_T) */ #endif #endif /* Win/!Win */ +#ifndef SIZEOF_WCHAR_T + #error "SIZEOF_WCHAR_T must be defined, but isn't" +#endif + /* also define C99-like sized MIN/MAX constants */ #define wxINT8_MIN CHAR_MIN #define wxINT8_MAX CHAR_MAX @@ -978,28 +982,28 @@ typedef wxUint32 wxDword; #if (defined(__VISUALC__) && defined(__WIN32__)) #define wxLongLong_t __int64 #define wxLongLongSuffix i64 - #define wxLongLongFmtSpec wxT("I64") + #define wxLongLongFmtSpec "I64" #elif defined(__BORLANDC__) && defined(__WIN32__) && (__BORLANDC__ >= 0x520) #define wxLongLong_t __int64 #define wxLongLongSuffix i64 - #define wxLongLongFmtSpec wxT("L") + #define wxLongLongFmtSpec "L" #elif (defined(__WATCOMC__) && (defined(__WIN32__) || defined(__DOS__) || defined(__OS2__))) #define wxLongLong_t __int64 #define wxLongLongSuffix i64 - #define wxLongLongFmtSpec wxT("L") + #define wxLongLongFmtSpec "L" #elif defined(__DIGITALMARS__) #define wxLongLong_t __int64 #define wxLongLongSuffix LL - #define wxLongLongFmtSpec wxT("ll") + #define wxLongLongFmtSpec "ll" #elif defined(__MINGW32__) #define wxLongLong_t long long #define wxLongLongSuffix ll - #define wxLongLongFmtSpec wxT("I64") + #define wxLongLongFmtSpec "I64" #elif defined(__MWERKS__) #if __option(longlong) #define wxLongLong_t long long #define wxLongLongSuffix ll - #define wxLongLongFmtSpec wxT("ll") + #define wxLongLongFmtSpec "ll" #else #error "The 64 bit integer support in CodeWarrior has been disabled." #error "See the documentation on the 'longlong' pragma." @@ -1011,7 +1015,7 @@ typedef wxUint32 wxDword; #define wxLongLong_t long long #endif /* __WXPALMOS6__ */ #define wxLongLongSuffix ll - #define wxLongLongFmtSpec wxT("ll") + #define wxLongLongFmtSpec "ll" #elif defined(__VISAGECPP__) && __IBMCPP__ >= 400 #define wxLongLong_t long long #elif (defined(SIZEOF_LONG_LONG) && SIZEOF_LONG_LONG >= 8) || \ @@ -1021,11 +1025,11 @@ typedef wxUint32 wxDword; (defined(__DJGPP__) && __DJGPP__ >= 2) #define wxLongLong_t long long #define wxLongLongSuffix ll - #define wxLongLongFmtSpec wxT("ll") + #define wxLongLongFmtSpec "ll" #elif defined(SIZEOF_LONG) && (SIZEOF_LONG == 8) #define wxLongLong_t long #define wxLongLongSuffix l - #define wxLongLongFmtSpec wxT("l") + #define wxLongLongFmtSpec "l" #define wxLongLongIsLong #endif @@ -1248,14 +1252,14 @@ typedef double wxDouble; /* Define wxChar16 and wxChar32 */ -#if wxUSE_WCHAR_T && (!defined(SIZEOF_WCHAR_T) || (SIZEOF_WCHAR_T == 2)) +#if SIZEOF_WCHAR_T == 2 #define wxWCHAR_T_IS_WXCHAR16 typedef wchar_t wxChar16; #else typedef wxUint16 wxChar16; #endif -#if wxUSE_WCHAR_T && defined(SIZEOF_WCHAR_T) && (SIZEOF_WCHAR_T == 4) +#if SIZEOF_WCHAR_T == 4 #define wxWCHAR_T_IS_WXCHAR32 typedef wchar_t wxChar32; #else @@ -1466,6 +1470,11 @@ enum wxDirection enum wxAlignment { + // 0 is a valid wxAlignment value (both wxALIGN_LEFT and wxALIGN_TOP use + // it) so define a symbolic name for an invalid alignment value which can + // be assumed to be different from anything else + wxALIGN_INVALID = -1, + wxALIGN_NOT = 0x0000, wxALIGN_CENTER_HORIZONTAL = 0x0100, wxALIGN_CENTRE_HORIZONTAL = wxALIGN_CENTER_HORIZONTAL, @@ -1486,8 +1495,11 @@ enum wxAlignment /* misc. flags for wxSizer items */ enum wxSizerFlagBits { - /* for compatibility only, default now, don't use explicitly any more */ -#if WXWIN_COMPATIBILITY_2_8 + // wxADJUST_MINSIZE doesn't do anything any more but we still define it for + // compatibility. Notice that it may be also predefined (as 0, hopefully) + // in the user code in order to use it even in !WXWIN_COMPATIBILITY_2_8 + // builds so don't redefine it in such case. +#if WXWIN_COMPATIBILITY_2_8 && !defined(wxADJUST_MINSIZE) wxADJUST_MINSIZE = 0, #endif wxFIXED_MINSIZE = 0x8000, @@ -1825,7 +1837,6 @@ enum wxBorder #define wxICON_INFORMATION 0x00000800 #define wxICON_STOP wxICON_HAND #define wxICON_ASTERISK wxICON_INFORMATION -#define wxICON_MASK (wxICON_EXCLAMATION|wxICON_HAND|wxICON_QUESTION|wxICON_INFORMATION) #define wxFORWARD 0x00001000 #define wxBACKWARD 0x00002000 @@ -1835,6 +1846,9 @@ enum wxBorder #define wxSETUP 0x00020000 #define wxICON_NONE 0x00040000 +#define wxICON_MASK \ + (wxICON_EXCLAMATION|wxICON_HAND|wxICON_QUESTION|wxICON_INFORMATION|wxICON_NONE) + /* * Background styles. See wxWindow::SetBackgroundStyle */ @@ -2536,10 +2550,11 @@ typedef enum } wxPaperSize; /* Printing orientation */ -#ifndef wxPORTRAIT -#define wxPORTRAIT 1 -#define wxLANDSCAPE 2 -#endif +enum wxPrintOrientation +{ + wxPORTRAIT = 1, + wxLANDSCAPE +}; /* Duplex printing modes */ @@ -2889,29 +2904,35 @@ typedef void * WXRECTANGLEPTR; /* ABX: check __WIN32__ instead of __WXMSW__ for the same MSWBase in any Win32 port */ #if defined(__WIN32__) -/* the keywords needed for WinMain() declaration */ -#ifndef WXFAR -# define WXFAR -#endif - /* Stand-ins for Windows types to avoid #including all of windows.h */ -typedef void * WXHWND; -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 * WXRECTPTR; -typedef void * WXHACCEL; -typedef void WXFAR * WXHINSTANCE; -typedef void * WXHBITMAP; -typedef void * WXHIMAGELIST; -typedef void * WXHGLOBAL; -typedef void * WXHDC; + +#ifndef NO_STRICT + #define WX_MSW_DECLARE_HANDLE(type) typedef struct type##__ * WX##type +#else + #define WX_MSW_DECLARE_HANDLE(type) typedef void * WX##type +#endif + +typedef void* WXHANDLE; +WX_MSW_DECLARE_HANDLE(HWND); +WX_MSW_DECLARE_HANDLE(HICON); +WX_MSW_DECLARE_HANDLE(HFONT); +WX_MSW_DECLARE_HANDLE(HMENU); +WX_MSW_DECLARE_HANDLE(HPEN); +WX_MSW_DECLARE_HANDLE(HBRUSH); +WX_MSW_DECLARE_HANDLE(HPALETTE); +WX_MSW_DECLARE_HANDLE(HCURSOR); +WX_MSW_DECLARE_HANDLE(HRGN); +WX_MSW_DECLARE_HANDLE(RECTPTR); +WX_MSW_DECLARE_HANDLE(HACCEL); +WX_MSW_DECLARE_HANDLE(HINSTANCE); +WX_MSW_DECLARE_HANDLE(HBITMAP); +WX_MSW_DECLARE_HANDLE(HIMAGELIST); +WX_MSW_DECLARE_HANDLE(HGLOBAL); +WX_MSW_DECLARE_HANDLE(HDC); +typedef WXHINSTANCE WXHMODULE; + +#undef WX_MSW_DECLARE_HANDLE + typedef unsigned int WXUINT; typedef unsigned long WXDWORD; typedef unsigned short WXWORD; @@ -2966,6 +2987,8 @@ typedef unsigned long WXHPALETTE; typedef unsigned long WXHCURSOR; typedef unsigned long WXHRGN; typedef unsigned long WXHACCEL; +typedef unsigned long WXHINSTANCE; +typedef unsigned long WXHMODULE; typedef unsigned long WXHBITMAP; typedef unsigned long WXHDC; typedef unsigned int WXUINT;