X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e3f6cbd99cd7c5b86742d56114b21da5b34a5c74..1d66b09982c9cadc20f9abcf9e2bdc804ffa877a:/include/wx/chartype.h diff --git a/include/wx/chartype.h b/include/wx/chartype.h index 0395e000a5..a326f0691c 100644 --- a/include/wx/chartype.h +++ b/include/wx/chartype.h @@ -89,10 +89,6 @@ #ifdef HAVE_WIDEC_H #include #endif - - #if !defined(__GNUC__) || defined(__DARWIN__) - #define wxWINT_T_IS_TYPEDEF - #endif #endif /* wxUSE_WCHAR_T */ /* -------------------------------------------------------------------------- */ @@ -158,8 +154,8 @@ /* Sun's SunPro compiler supports the wchar_t type and wide character */ /* functions, but does not define __WCHAR_TYPE__. Define it here to */ /* allow unicode enabled builds. */ - #if defined(__SUNPRO_CC) || defined(__SUNPRO_C) - #define __WCHAR_TYPE__ wxchar_t + #if (defined(__SUNPRO_CC) || defined(__SUNPRO_C)) && !defined(__WCHAR_TYPE__) + #define __WCHAR_TYPE__ wxchar_t #endif /* GNU libc has __WCHAR_TYPE__ which requires special treatment, see */ @@ -187,6 +183,46 @@ #endif /* __WCHAR_TYPE__ */ #endif /* ASCII/Unicode */ +/* ------------------------------------------------------------------------- */ +/* define wxStringCharType */ +/* ------------------------------------------------------------------------- */ + +/* depending on the platform, Unicode build can either store wxStrings as + wchar_t* or UTF-8 encoded char*: */ +#if wxUSE_UNICODE + /* FIXME-UTF8: what would be better place for this? */ + #if defined(wxUSE_UTF8_LOCALE_ONLY) && !defined(wxUSE_UNICODE_UTF8) + #error "wxUSE_UTF8_LOCALE_ONLY only makes sense with wxUSE_UNICODE_UTF8" + #endif + #ifndef wxUSE_UTF8_LOCALE_ONLY + #define wxUSE_UTF8_LOCALE_ONLY 0 + #endif + + #ifndef wxUSE_UNICODE_UTF8 + #define wxUSE_UNICODE_UTF8 0 + #endif + + #if wxUSE_UNICODE_UTF8 + #define wxUSE_UNICODE_WCHAR 0 + #else + #define wxUSE_UNICODE_WCHAR 1 + #endif +#else + #define wxUSE_UNICODE_WCHAR 0 + #define wxUSE_UNICODE_UTF8 0 + #define wxUSE_UTF8_LOCALE_ONLY 0 +#endif + +/* define char type used by wxString internal representation: */ +#if wxUSE_UNICODE_UTF8 + typedef char wxStringCharType; +#elif wxUSE_UNICODE_WCHAR + typedef wchar_t wxStringCharType; +#else + typedef char wxStringCharType; +#endif + + /* ------------------------------------------------------------------------- */ /* define _T() and related macros */ /* ------------------------------------------------------------------------- */