X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3342663931cc6d203c1d2ded6da44a17347cb0e7..e2ca829e7dc84e32a0949cbd852adf9b59cacd0b:/include/wx/mac/private.h diff --git a/include/wx/mac/private.h b/include/wx/mac/private.h index 61b87e237d..379042ecbe 100644 --- a/include/wx/mac/private.h +++ b/include/wx/mac/private.h @@ -15,10 +15,10 @@ #define _WX_PRIVATE_H_ #include "wx/defs.h" +#include "wx/app.h" -#if defined(__POWERPC__) && defined(__DARWIN__) +#ifdef __DARWIN__ # include -# define TARGET_CARBON 1 #else # include # include @@ -72,6 +72,18 @@ private: const wxDC* m_dc ; } ; +class WXDLLEXPORT wxMacWindowClipper +{ + DECLARE_NO_COPY_CLASS(wxMacWindowClipper) + +public: + wxMacWindowClipper( const wxWindow* win ) ; + ~wxMacWindowClipper() ; +private: + RgnHandle m_formerClip ; + RgnHandle m_newClip ; +} ; + class wxMacDrawingHelper { DECLARE_NO_COPY_CLASS(wxMacDrawingHelper) @@ -117,7 +129,7 @@ PicHandle wxMacCreatePict( GWorldPtr gw , GWorldPtr mask = NULL ) ; 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)) @@ -129,5 +141,64 @@ void wxMacCreateBitmapButton( ControlButtonContentInfo*info , const wxBitmap& bi #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_