// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+#ifndef __WX_CFSTRINGHOLDER_H__
+#define __WX_CFSTRINGHOLDER_H__
+
#ifdef __DARWIN__
#include <CoreFoundation/CFString.h>
#else
#include <CFString.h>
#endif
-void wxMacConvertNewlines13To10( char * data ) ;
-void wxMacConvertNewlines10To13( char * data ) ;
-void wxMacConvertNewlines13To10( wxString *data ) ;
-void wxMacConvertNewlines10To13( wxString *data ) ;
+#include "wx/dlimpexp.h"
+#include "wx/fontenc.h"
-#if wxUSE_UNICODE
-void wxMacConvertNewlines13To10( wxChar * data ) ;
-void wxMacConvertNewlines10To13( wxChar * data ) ;
-#endif
+class WXDLLIMPEXP_FWD_BASE wxString;
+
+WXDLLIMPEXP_BASE void wxMacConvertNewlines13To10( wxString *data ) ;
+WXDLLIMPEXP_BASE void wxMacConvertNewlines10To13( wxString *data ) ;
+
+WXDLLIMPEXP_BASE void wxMacConvertNewlines13To10( char * data ) ;
+WXDLLIMPEXP_BASE void wxMacConvertNewlines10To13( char * data ) ;
-wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding) ;
-wxFontEncoding wxMacGetFontEncFromSystemEnc(wxUint32 encoding) ;
-void wxMacWakeUp() ;
+WXDLLIMPEXP_BASE wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding) ;
+WXDLLIMPEXP_BASE wxFontEncoding wxMacGetFontEncFromSystemEnc(wxUint32 encoding) ;
+WXDLLIMPEXP_BASE void wxMacWakeUp() ;
-class wxMacCFStringHolder
+class WXDLLIMPEXP_BASE wxMacCFStringHolder
{
public:
wxMacCFStringHolder()
+ : m_cfs(NULL) , m_release(false)
{
- m_cfs = NULL ;
- m_release = false ;
}
- wxMacCFStringHolder(const wxString &str , wxFontEncoding encoding )
+ wxMacCFStringHolder(const wxString &str,
+ wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
+ : m_cfs(NULL) , m_release(false)
{
- 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 ;
}
~wxMacCFStringHolder()
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 WXDLLIMPEXP_BASE wxMacUniCharBuffer
+{
+public :
+ wxMacUniCharBuffer( const wxString &str ) ;
+
+ ~wxMacUniCharBuffer() ;
+
+ UniChar* GetBuffer() ;
+
+ UniCharCount GetChars() ;
+
+private :
+ UniChar* m_ubuf ;
+ UniCharCount m_chars ;
+};
+#endif //__WXCFSTRINGHOLDER_H__