X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2daa5d2c99cce01b7f7f7e17d9f0e6892b02183b..0738b901b17340f09766524b8d9d79e9ed1268e7:/src/osx/core/cfstring.cpp diff --git a/src/osx/core/cfstring.cpp b/src/osx/core/cfstring.cpp index d067feaa1e..46a9c0c8af 100644 --- a/src/osx/core/cfstring.cpp +++ b/src/osx/core/cfstring.cpp @@ -632,16 +632,16 @@ wxCFStringRef::wxCFStringRef( const wxString &st , wxFontEncoding WXUNUSED_IN_UN } } -wxString wxCFStringRef::AsString(wxFontEncoding WXUNUSED_IN_UNICODE(encoding)) +wxString wxCFStringRef::AsString( CFStringRef ref, wxFontEncoding WXUNUSED_IN_UNICODE(encoding) ) { - if ( !get() ) + if ( !ref ) return wxEmptyString ; - Size cflen = CFStringGetLength( get() ) ; + Size cflen = CFStringGetLength( ref ) ; char* buf = NULL ; CFStringEncoding cfencoding = 0; - wxString result; + wxString result; #if wxUSE_UNICODE #if wxUSE_UNICODE_WCHAR cfencoding = kCFStringEncodingUTF32Native; @@ -655,12 +655,12 @@ wxString wxCFStringRef::AsString(wxFontEncoding WXUNUSED_IN_UNICODE(encoding)) #endif CFIndex cStrLen ; - CFStringGetBytes( get() , CFRangeMake(0, cflen) , cfencoding , + CFStringGetBytes( ref , CFRangeMake(0, cflen) , cfencoding , '?' , false , NULL , 0 , &cStrLen ) ; buf = new char[ cStrLen ] ; - CFStringGetBytes( get() , CFRangeMake(0, cflen) , cfencoding, + CFStringGetBytes( ref , CFRangeMake(0, cflen) , cfencoding, '?' , false , (unsigned char*) buf , cStrLen , &cStrLen) ; - + #if wxUSE_UNICODE #if wxUSE_UNICODE_WCHAR result = wxString( (const wchar_t*) buf , cStrLen/4); @@ -670,14 +670,27 @@ wxString wxCFStringRef::AsString(wxFontEncoding WXUNUSED_IN_UNICODE(encoding)) #error "unsupported unicode representation" #endif #else - wxString result(buf, cStrLen) ; + result = wxString(buf, cStrLen) ; #endif - + delete[] buf ; wxMacConvertNewlines10To13( &result); return result ; } +wxString wxCFStringRef::AsString(wxFontEncoding encoding) const +{ + return AsString( get(), encoding ); +} + +#if wxOSX_USE_COCOA_OR_IPHONE +wxString wxCFStringRef::AsString( NSString* ref, wxFontEncoding encoding ) +{ + return AsString( (CFStringRef) ref, encoding ); +} +#endif + + // // wxMacUniCharBuffer // @@ -718,11 +731,11 @@ wxMacUniCharBuffer::~wxMacUniCharBuffer() free( m_ubuf ) ; } -UniCharPtr wxMacUniCharBuffer::GetBuffer() +UniCharPtr wxMacUniCharBuffer::GetBuffer() { return m_ubuf ; } - + UniCharCount wxMacUniCharBuffer::GetChars() { return m_chars ;