X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2e2cf78dc1f2db0caa8b982a072e88d13c8303cf..c4ec0ce8205de4659f1e52d16480b5c025ebc41e:/include/wx/strconv.h?ds=sidebyside diff --git a/include/wx/strconv.h b/include/wx/strconv.h index e2ef14a6ba..ba28c8a81a 100644 --- a/include/wx/strconv.h +++ b/include/wx/strconv.h @@ -373,13 +373,21 @@ public: wxCSConv& operator=(const wxCSConv& conv); + virtual size_t ToWChar(wchar_t *dst, size_t dstLen, + const char *src, size_t srcLen = wxNO_LEN) const; + virtual size_t FromWChar(char *dst, size_t dstLen, + const wchar_t *src, size_t srcLen = wxNO_LEN) const; virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const; virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const; virtual size_t GetMBNulLen() const; + virtual wxMBConv *Clone() const { return new wxCSConv(*this); } void Clear(); + // return true if the conversion could be initilized successfully + bool IsOk() const; + private: // common part of all ctors void Init(); @@ -435,9 +443,14 @@ extern WXDLLIMPEXP_DATA_BASE(wxMBConv *) wxConvFileName; // default in a couple of places inside wx (initially same as wxConvLibc) extern WXDLLIMPEXP_DATA_BASE(wxMBConv *) wxConvCurrent; -// ??? +// the conversion corresponding to the current locale extern WXDLLIMPEXP_DATA_BASE(wxCSConv&) wxConvLocal; +// the conversion corresponding to the encoding of the standard UI elements +// +// by default this is the same as wxConvLocal but may be changed if the program +// needs to use a fixed encoding +extern WXDLLIMPEXP_DATA_BASE(wxMBConv *) wxConvUI; // ---------------------------------------------------------------------------- // endianness-dependent conversions @@ -455,8 +468,8 @@ extern WXDLLIMPEXP_DATA_BASE(wxCSConv&) wxConvLocal; // filename conversion macros // ---------------------------------------------------------------------------- -// filenames are multibyte on Unix and probably widechar on Windows? -#if defined(__UNIX__) || defined(__BORLANDC__) || defined(__WXMAC__ ) +// filenames are multibyte on Unix and widechar on Windows +#if defined(__UNIX__) || defined(__WXMAC__) #define wxMBFILES 1 #else #define wxMBFILES 0