]> git.saurik.com Git - wxWidgets.git/blame - include/wx/osx/core/cfstring.h
replace templae Connect() overloads with separate Bind() method to improve compatibil...
[wxWidgets.git] / include / wx / osx / core / cfstring.h
CommitLineData
5c6eb3a8
SC
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/mac/corefoundation/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// RCS-ID: $Id$
8// Copyright: (c) Stefan Csomor
9// Licence: wxWindows licence
10// Usage: Darwin (base library)
11/////////////////////////////////////////////////////////////////////////////
12
13#ifndef __WX_CFSTRINGHOLDER_H__
14#define __WX_CFSTRINGHOLDER_H__
15
16#include <CoreFoundation/CFString.h>
17
18#include "wx/dlimpexp.h"
19#include "wx/fontenc.h"
ef0e9220 20#include "wx/osx/core/cfref.h"
5c6eb3a8 21
456057f8 22#ifdef WORDS_BIGENDIAN
f5f17248
SC
23 #define kCFStringEncodingUTF32Native kCFStringEncodingUTF32BE
24#else
25 #define kCFStringEncodingUTF32Native kCFStringEncodingUTF32LE
26#endif
27
5c6eb3a8
SC
28class WXDLLIMPEXP_FWD_BASE wxString;
29
30WXDLLIMPEXP_BASE void wxMacConvertNewlines13To10( wxString *data ) ;
31WXDLLIMPEXP_BASE void wxMacConvertNewlines10To13( wxString *data ) ;
32
33WXDLLIMPEXP_BASE void wxMacConvertNewlines13To10( char * data ) ;
34WXDLLIMPEXP_BASE void wxMacConvertNewlines10To13( char * data ) ;
35
36WXDLLIMPEXP_BASE wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding) ;
37WXDLLIMPEXP_BASE wxFontEncoding wxMacGetFontEncFromSystemEnc(wxUint32 encoding) ;
38WXDLLIMPEXP_BASE void wxMacWakeUp() ;
39
40class WXDLLIMPEXP_BASE wxCFStringRef : public wxCFRef< CFStringRef >
41{
42public:
43 wxCFStringRef()
44 {
45 }
46
47 wxCFStringRef(const wxString &str,
48 wxFontEncoding encoding = wxFONTENCODING_DEFAULT) ;
49
eefe52da
SC
50#if wxOSX_USE_COCOA_OR_IPHONE
51 wxCFStringRef(NSString* ref)
52 : wxCFRef< CFStringRef >((CFStringRef) ref)
53 {
54 }
55#endif
56
5c6eb3a8
SC
57 wxCFStringRef(CFStringRef ref)
58 : wxCFRef< CFStringRef >(ref)
59 {
60 }
61
62 wxCFStringRef(const wxCFStringRef& otherRef )
63 : wxCFRef< CFStringRef >(otherRef)
64 {
65 }
66
67 ~wxCFStringRef()
68 {
69 }
70
71 wxString AsString( wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ;
72
eefe52da
SC
73#if wxOSX_USE_COCOA_OR_IPHONE
74 NSString* AsNSString() const { return (NSString*)(CFStringRef) *this; }
75#endif
5c6eb3a8
SC
76private:
77} ;
78
79// corresponding class for holding UniChars (native unicode characters)
80
81class WXDLLIMPEXP_BASE wxMacUniCharBuffer
82{
83public :
84 wxMacUniCharBuffer( const wxString &str ) ;
85
86 ~wxMacUniCharBuffer() ;
87
88 UniCharPtr GetBuffer() ;
89
90 UniCharCount GetChars() ;
91
92private :
93 UniCharPtr m_ubuf ;
94 UniCharCount m_chars ;
95};
96#endif //__WXCFSTRINGHOLDER_H__