add possibility to specify the conversion to use in wxStringOutputStream; use it instead of reimplementing the same logic erroneously in wxHTML (bug 1711476)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-04-15 12:22:41 +00:00
parent 02e9bde2ef
commit 63482fd5e8
3 changed files with 30 additions and 38 deletions

View File

@@ -59,9 +59,14 @@ class WXDLLIMPEXP_BASE wxStringOutputStream : public wxOutputStream
public:
// The stream will write data either to the provided string or to an
// internal string which can be retrieved using GetString()
wxStringOutputStream(wxString *pString = NULL)
//
// Note that the conversion object should have the life time greater than
// this stream.
wxStringOutputStream(wxString *pString = NULL,
wxMBConv& conv = wxConvUTF8)
: m_conv(conv)
#if wxUSE_UNICODE_WCHAR
: m_unconv(0)
, m_unconv(0)
#endif // wxUSE_UNICODE_WCHAR
{
m_str = pString ? pString : &m_strInternal;
@@ -85,12 +90,10 @@ private:
// position in the stream in bytes, *not* in chars
size_t m_pos;
#if wxUSE_WCHAR_T
// string encoding converter (UTF8 is the standard)
wxMBConvUTF8 m_conv;
#else
wxMBConv m_conv;
#endif
// converter to use: notice that with the default UTF-8 one the input
// stream must contain valid UTF-8 data, use wxConvISO8859_1 to work with
// arbitrary 8 bit data
wxMBConv& m_conv;
#if wxUSE_UNICODE_WCHAR
// unconverted data from the last call to OnSysWrite()