]> git.saurik.com Git - wxWidgets.git/blob - include/wx/osx/core/cfstring.h
Remove all lines containing cvs/svn "$Id$" keyword.
[wxWidgets.git] / include / wx / osx / core / cfstring.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/osx/core/cfstring.h
3 // Purpose: wxCFStringRef and other string functions
4 // Author: Stefan Csomor
5 // Modified by:
6 // Created: 2004-10-29 (from code in wx/mac/carbon/private.h)
7 // Copyright: (c) Stefan Csomor
8 // Licence: wxWindows licence
9 // Usage: Darwin (base library)
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef __WX_CFSTRINGHOLDER_H__
13 #define __WX_CFSTRINGHOLDER_H__
14
15 #include <CoreFoundation/CFString.h>
16
17 #include "wx/dlimpexp.h"
18 #include "wx/fontenc.h"
19 #include "wx/osx/core/cfref.h"
20
21 #ifdef WORDS_BIGENDIAN
22 #define kCFStringEncodingUTF32Native kCFStringEncodingUTF32BE
23 #else
24 #define kCFStringEncodingUTF32Native kCFStringEncodingUTF32LE
25 #endif
26
27 class WXDLLIMPEXP_FWD_BASE wxString;
28
29 WXDLLIMPEXP_BASE void wxMacConvertNewlines13To10( wxString *data ) ;
30 WXDLLIMPEXP_BASE void wxMacConvertNewlines10To13( wxString *data ) ;
31
32 WXDLLIMPEXP_BASE void wxMacConvertNewlines13To10( char * data ) ;
33 WXDLLIMPEXP_BASE void wxMacConvertNewlines10To13( char * data ) ;
34
35 WXDLLIMPEXP_BASE wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding) ;
36 WXDLLIMPEXP_BASE wxFontEncoding wxMacGetFontEncFromSystemEnc(wxUint32 encoding) ;
37 WXDLLIMPEXP_BASE void wxMacWakeUp() ;
38
39 class WXDLLIMPEXP_BASE wxCFStringRef : public wxCFRef< CFStringRef >
40 {
41 public:
42 wxCFStringRef()
43 {
44 }
45
46 wxCFStringRef(const wxString &str,
47 wxFontEncoding encoding = wxFONTENCODING_DEFAULT) ;
48
49 #if wxOSX_USE_COCOA_OR_IPHONE
50 wxCFStringRef(NSString* ref)
51 : wxCFRef< CFStringRef >((CFStringRef) ref)
52 {
53 }
54 #endif
55
56 wxCFStringRef(CFStringRef ref)
57 : wxCFRef< CFStringRef >(ref)
58 {
59 }
60
61 wxCFStringRef(const wxCFStringRef& otherRef )
62 : wxCFRef< CFStringRef >(otherRef)
63 {
64 }
65
66 ~wxCFStringRef()
67 {
68 }
69
70 wxString AsString( wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) const;
71
72 static wxString AsString( CFStringRef ref, wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ;
73 static wxString AsStringWithNormalizationFormC( CFStringRef ref, wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ;
74 #if wxOSX_USE_COCOA_OR_IPHONE
75 static wxString AsString( NSString* ref, wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ;
76 static wxString AsStringWithNormalizationFormC( NSString* ref, wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ;
77 #endif
78
79 #if wxOSX_USE_COCOA_OR_IPHONE
80 NSString* AsNSString() const { return (NSString*)(CFStringRef) *this; }
81 #endif
82 private:
83 } ;
84
85 // corresponding class for holding UniChars (native unicode characters)
86
87 class WXDLLIMPEXP_BASE wxMacUniCharBuffer
88 {
89 public :
90 wxMacUniCharBuffer( const wxString &str ) ;
91
92 ~wxMacUniCharBuffer() ;
93
94 UniCharPtr GetBuffer() ;
95
96 UniCharCount GetChars() ;
97
98 private :
99 UniCharPtr m_ubuf ;
100 UniCharCount m_chars ;
101 };
102 #endif //__WXCFSTRINGHOLDER_H__