simplifying native string handling, see #11061

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2009-08-18 15:30:24 +00:00
parent eceb28f912
commit f66ecdc4fb
7 changed files with 32 additions and 23 deletions

View File

@@ -632,12 +632,12 @@ 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;
@@ -655,10 +655,10 @@ 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
@@ -678,6 +678,19 @@ wxString wxCFStringRef::AsString(wxFontEncoding WXUNUSED_IN_UNICODE(encoding))
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
//