1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/osx/core/cfstring.h
3 // Purpose: wxCFStringRef and other string functions
4 // Author: Stefan Csomor
6 // Created: 2004-10-29 (from code in wx/mac/carbon/private.h)
8 // Copyright: (c) Stefan Csomor
9 // Licence: wxWindows licence
10 // Usage: Darwin (base library)
11 /////////////////////////////////////////////////////////////////////////////
13 #ifndef __WX_CFSTRINGHOLDER_H__
14 #define __WX_CFSTRINGHOLDER_H__
16 #include <CoreFoundation/CFString.h>
18 #include "wx/dlimpexp.h"
19 #include "wx/fontenc.h"
20 #include "wx/osx/core/cfref.h"
22 #ifdef WORDS_BIGENDIAN
23 #define kCFStringEncodingUTF32Native kCFStringEncodingUTF32BE
25 #define kCFStringEncodingUTF32Native kCFStringEncodingUTF32LE
28 class WXDLLIMPEXP_FWD_BASE wxString
;
30 WXDLLIMPEXP_BASE
void wxMacConvertNewlines13To10( wxString
*data
) ;
31 WXDLLIMPEXP_BASE
void wxMacConvertNewlines10To13( wxString
*data
) ;
33 WXDLLIMPEXP_BASE
void wxMacConvertNewlines13To10( char * data
) ;
34 WXDLLIMPEXP_BASE
void wxMacConvertNewlines10To13( char * data
) ;
36 WXDLLIMPEXP_BASE wxUint32
wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding
) ;
37 WXDLLIMPEXP_BASE wxFontEncoding
wxMacGetFontEncFromSystemEnc(wxUint32 encoding
) ;
38 WXDLLIMPEXP_BASE
void wxMacWakeUp() ;
40 class WXDLLIMPEXP_BASE wxCFStringRef
: public wxCFRef
< CFStringRef
>
47 wxCFStringRef(const wxString
&str
,
48 wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
) ;
50 #if wxOSX_USE_COCOA_OR_IPHONE
51 wxCFStringRef(NSString
* ref
)
52 : wxCFRef
< CFStringRef
>((CFStringRef
) ref
)
57 wxCFStringRef(CFStringRef ref
)
58 : wxCFRef
< CFStringRef
>(ref
)
62 wxCFStringRef(const wxCFStringRef
& otherRef
)
63 : wxCFRef
< CFStringRef
>(otherRef
)
71 wxString
AsString( wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
) const;
73 static wxString
AsString( CFStringRef ref
, wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
) ;
74 static wxString
AsStringWithNormalizationFormC( CFStringRef ref
, wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
) ;
75 #if wxOSX_USE_COCOA_OR_IPHONE
76 static wxString
AsString( NSString
* ref
, wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
) ;
77 static wxString
AsStringWithNormalizationFormC( NSString
* ref
, wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
) ;
80 #if wxOSX_USE_COCOA_OR_IPHONE
81 NSString
* AsNSString() const { return (NSString
*)(CFStringRef
) *this; }
86 // corresponding class for holding UniChars (native unicode characters)
88 class WXDLLIMPEXP_BASE wxMacUniCharBuffer
91 wxMacUniCharBuffer( const wxString
&str
) ;
93 ~wxMacUniCharBuffer() ;
95 UniCharPtr
GetBuffer() ;
97 UniCharCount
GetChars() ;
101 UniCharCount m_chars
;
103 #endif //__WXCFSTRINGHOLDER_H__