// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+#ifndef __WX_CFSTRINGHOLDER_H__
+#define __WX_CFSTRINGHOLDER_H__
+
#ifdef __DARWIN__
#include <CoreFoundation/CFString.h>
#else
#include <CFString.h>
#endif
+#include "wx/fontenc.h"
+
+class WXDLLIMPEXP_BASE wxString;
+
void wxMacConvertNewlines13To10( char * data ) ;
void wxMacConvertNewlines10To13( char * data ) ;
void wxMacConvertNewlines13To10( wxString *data ) ;
class wxMacCFStringHolder
{
public:
- wxMacCFStringHolder()
- : m_cfs(NULL) , m_release(false)
+ wxMacCFStringHolder()
+ : m_cfs(NULL) , m_release(false)
{
}
- wxMacCFStringHolder(const wxString &str , wxFontEncoding encoding )
- : m_cfs(NULL) , m_release(false)
+ wxMacCFStringHolder(const wxString &str,
+ wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
+ : m_cfs(NULL) , m_release(false)
{
Assign( str , encoding ) ;
}
wxMacCFStringHolder(CFStringRef ref , bool release = true )
- : m_cfs(ref) , m_release(release)
+ : m_cfs(ref) , m_release(release)
{
}
m_cfs = NULL ;
}
- void Assign( const wxString &str , wxFontEncoding encoding ) ;
+ void Assign(const wxString &str,
+ wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
- operator CFStringRef () { return m_cfs; }
+ operator CFStringRef () const { return m_cfs; }
wxString AsString( wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ;
private:
CFStringRef m_cfs;
bool m_release ;
-
+
DECLARE_NO_COPY_CLASS( wxMacCFStringHolder )
} ;
+// corresponding class for holding UniChars (native unicode characters)
+
+class wxMacUniCharBuffer
+{
+public :
+ wxMacUniCharBuffer( const wxString &str ) ;
+
+ ~wxMacUniCharBuffer() ;
+
+ UniChar* GetBuffer() ;
+
+ UniCharCount GetChars() ;
+
+private :
+ UniChar* m_ubuf ;
+ UniCharCount m_chars ;
+};
+#endif //__WXCFSTRINGHOLDER_H__