]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/corefoundation/cfstring.h
make wxTmemchr() return (and take) char* instead of void* in ANSI build too
[wxWidgets.git] / include / wx / mac / corefoundation / cfstring.h
index 428e5c8c14164a758391ecfd85765ae55b3da7fd..38d6a9f47ec01cfd7ad4981582e45742142c40fe 100644 (file)
@@ -9,21 +9,24 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+#ifndef __WX_CFSTRINGHOLDER_H__
+#define __WX_CFSTRINGHOLDER_H__
+
 #ifdef __DARWIN__
     #include <CoreFoundation/CFString.h>
 #else
     #include <CFString.h>
 #endif
 
 #ifdef __DARWIN__
     #include <CoreFoundation/CFString.h>
 #else
     #include <CFString.h>
 #endif
 
-void wxMacConvertNewlines13To10( char * data ) ;
-void wxMacConvertNewlines10To13( char * data ) ;
+#include "wx/fontenc.h"
+
+class WXDLLIMPEXP_FWD_BASE wxString;
+
 void wxMacConvertNewlines13To10( wxString *data ) ;
 void wxMacConvertNewlines10To13( wxString *data ) ;
 
 void wxMacConvertNewlines13To10( wxString *data ) ;
 void wxMacConvertNewlines10To13( wxString *data ) ;
 
-#if wxUSE_UNICODE
-void wxMacConvertNewlines13To10( wxChar * data ) ;
-void wxMacConvertNewlines10To13( wxChar * data ) ;
-#endif
+void wxMacConvertNewlines13To10( char * data ) ;
+void wxMacConvertNewlines10To13( char * data ) ;
 
 wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding) ;
 wxFontEncoding wxMacGetFontEncFromSystemEnc(wxUint32 encoding) ;
 
 wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding) ;
 wxFontEncoding wxMacGetFontEncFromSystemEnc(wxUint32 encoding) ;
@@ -32,19 +35,20 @@ void wxMacWakeUp() ;
 class wxMacCFStringHolder
 {
 public:
 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 )
     {
         Assign( str , encoding ) ;
     }
 
     wxMacCFStringHolder(CFStringRef ref , bool release = true )
-        : m_cfs(ref) , m_release(release) 
+        : m_cfs(ref) , m_release(release)
     {
     }
 
     {
     }
 
@@ -68,16 +72,35 @@ public:
         m_cfs = NULL ;
     }
 
         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 ;
     wxString AsString( wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ;
 
 private:
 
     CFStringRef m_cfs;
     bool m_release ;
-    
+
     DECLARE_NO_COPY_CLASS( wxMacCFStringHolder )
 } ;
 
     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__