// with "wx".
// Author: Stefan Csomor
// Modified by:
-// Created: ??/??/98
+// Created: 1998-01-01
// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
#define _WX_PRIVATE_H_
#include "wx/defs.h"
+#include "wx/app.h"
-#if defined(__POWERPC__) && defined(__DARWIN__)
+#ifdef __DARWIN__
# include <Carbon/Carbon.h>
-# define TARGET_CARBON 1
#else
# include <Quickdraw.h>
# include <Appearance.h>
CIconHandle wxMacCreateCIcon(GWorldPtr image , GWorldPtr mask , short dstDepth , short iconSize ) ;
void wxMacSetColorTableEntry( CTabHandle newColors , int index , int red , int green , int blue ) ;
CTabHandle wxMacCreateColorTable( int numColors ) ;
-void wxMacCreateBitmapButton( ControlButtonContentInfo*info , const wxBitmap& bitmap ) ;
+void wxMacCreateBitmapButton( ControlButtonContentInfo*info , const wxBitmap& bitmap , int forceType = 0 ) ;
#define MAC_WXCOLORREF(a) (*((RGBColor*)&(a)))
#define MAC_WXHBITMAP(a) (GWorldPtr(a))
#define MAC_WXRECPTR(a) ((Rect*)a)
#define MAC_WXPOINTPTR(a) ((Point*)a)
#define MAC_WXHMENU(a) ((MenuHandle)a)
+
+//---------------------------------------------------------------------------
+// wxMac string conversions
+//---------------------------------------------------------------------------
+
+void wxMacConvertToPC( const char *from , char *to , int len ) ;
+void wxMacConvertFromPC( const char *from , char *to , int len ) ;
+void wxMacConvertToPC( const char *from , char *to , int len ) ;
+
+wxString wxMacMakeMacStringFromPC( const char * p ) ;
+
+wxString wxMacMakePCStringFromMac( const char * p ) ;
+
+
+// converts this c string into a wxString with optional mac 2 pc encoding
+wxString wxMacMakeStringFromMacString( const char* from , bool mac2pcEncoding ) ;
+
+// converts this c string into a wxString with pc 2 mac encoding if s_macDefaultEncodingIsPC
+inline wxString wxMacMakeStringFromMacString( const char* from )
+ { return wxMacMakeStringFromMacString( from , wxApp::s_macDefaultEncodingIsPC ) ; }
+
+// converts this c string into a wxString with pc 2 mac encoding if s_macDefaultEncodingIsPC
+inline wxString wxMacMakeStringFromMacString( const wxString& from )
+ { return wxApp::s_macDefaultEncodingIsPC ?
+ wxMacMakeStringFromMacString( from.c_str() , true ) : from ; }
+
+//
+// Pascal Strings
+//
+
+// converts this string into a pascal with optional pc 2 mac encoding
+void wxMacStringToPascal( const char * from , StringPtr to , bool pc2macEncoding ) ;
+
+// converts this string into a pascal with pc 2 mac encoding if s_macDefaultEncodingIsPC
+inline void wxMacStringToPascal( const char * from , StringPtr to )
+ { wxMacStringToPascal( from , to , wxApp::s_macDefaultEncodingIsPC ) ; }
+
+// converts this string into a pascal with optional mac 2 pc encoding
+wxString wxMacMakeStringFromPascal( ConstStringPtr from , bool mac2pcEncoding ) ;
+
+// converts this pascal string into a wxString with pc 2 mac encoding if s_macDefaultEncodingIsPC
+inline wxString wxMacMakeStringFromPascal( ConstStringPtr from )
+ { return wxMacMakeStringFromPascal( from , wxApp::s_macDefaultEncodingIsPC ) ; }
+
+//
+// CFStringRefs (Carbon only)
+//
+
+#if TARGET_CARBON
+// converts this string into a carbon foundation string with optional pc 2 mac encoding
+CFStringRef wxMacCreateCFString( const wxString &str , bool pc2macEncoding ) ;
+
+// converts this string into a carbon foundation string with optional pc 2 mac encoding
+inline CFStringRef wxMacCreateCFString( const wxString &str )
+ { return wxMacCreateCFString( str , wxApp::s_macDefaultEncodingIsPC ) ; }
+
+#endif //TARGET_CARBON
+
+
#endif
// _WX_PRIVATE_H_