X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3e109f6d7863ebdb97d2d24cef14e516cf907d4e..947f3b358cae28b63c6f69af21c493cab355fb7e:/include/wx/mac/carbon/private.h diff --git a/include/wx/mac/carbon/private.h b/include/wx/mac/carbon/private.h index f053c3fe77..1964d366fb 100644 --- a/include/wx/mac/carbon/private.h +++ b/include/wx/mac/carbon/private.h @@ -29,50 +29,9 @@ typedef SInt32 SRefCon; #if wxUSE_GUI #include "wx/listbox.h" - -#ifndef __LP64__ - -class WXDLLEXPORT wxMacPortSaver -{ - DECLARE_NO_COPY_CLASS(wxMacPortSaver) - -public: - wxMacPortSaver( GrafPtr port ); - ~wxMacPortSaver(); -private : - GrafPtr m_port; -}; - - -/* - Clips to the visible region of a control within the current port - */ - -class WXDLLEXPORT wxMacWindowClipper : public wxMacPortSaver -{ - DECLARE_NO_COPY_CLASS(wxMacWindowClipper) - -public: - wxMacWindowClipper( const wxWindow* win ); - ~wxMacWindowClipper(); -private: - GrafPtr m_newPort; - RgnHandle m_formerClip; - RgnHandle m_newClip; -}; - -class WXDLLEXPORT wxMacWindowStateSaver : public wxMacWindowClipper -{ - DECLARE_NO_COPY_CLASS(wxMacWindowStateSaver) - -public: - wxMacWindowStateSaver( const wxWindow* win ); - ~wxMacWindowStateSaver(); -private: - GrafPtr m_newPort; - ThemeDrawingState m_themeDrawingState; -}; -#endif +#include "wx/mac/carbon/dc.h" +#include "wx/mac/carbon/dcclient.h" +#include "wx/mac/carbon/dcmemory.h" class WXDLLEXPORT wxMacCGContextStateSaver { @@ -141,7 +100,7 @@ template<> inline EventParamType wxMacGetEventParamType() { return template<> EventParamType wxMacGetEventParamType() { return typeGWorldPtr; } */ -class wxMacCarbonEvent +class WXDLLEXPORT wxMacCarbonEvent { public : @@ -282,65 +241,11 @@ private : typedef wxMacUPP wxMacNMUPP; -template class wxMacCFRefHolder -{ -public : - wxMacCFRefHolder() - : m_ref(NULL) , m_release(false) - { - } - - wxMacCFRefHolder( refType ref , bool release = true ) - : m_ref(ref) , m_release(release) - { - } - - ~wxMacCFRefHolder() - { - Release(); - } - - void Release() - { - if ( m_release && m_ref != NULL ) - CFRelease( m_ref ); - m_ref = NULL; - } - - refType Detach() - { - refType val = m_ref; - m_release = false; - m_ref = NULL; - return val; - } - - void Set( refType ref , bool release = true ) - { - Release(); - m_release = release; - m_ref = ref; - } - - operator refType () const { return m_ref; } - - wxMacCFRefHolder& operator=(refType r) - { - Set( r ); - return *this; - } -private : - refType m_ref; - bool m_release; - - DECLARE_NO_COPY_CLASS( wxMacCFRefHolder ) -}; - #if wxUSE_GUI -class wxMacToolTipTimer ; +class WXDLLIMPEXP_FWD_CORE wxMacToolTipTimer ; -class wxMacToolTip +class WXDLLEXPORT wxMacToolTip { public : wxMacToolTip() ; @@ -364,13 +269,13 @@ private : PicHandle m_backpict ; bool m_shown ; long m_mark ; -#if wxUSE_TIMER +#if wxUSE_TIMER wxMacToolTipTimer* m_timer ; #endif - wxMacCFStringHolder m_helpTextRef ; + wxCFStringRef m_helpTextRef ; } ; -// Quartz +// Quartz WXDLLIMPEXP_CORE void wxMacCreateBitmapButton( ControlButtonContentInfo*info , const wxBitmap& bitmap , int forceType = 0 ); WXDLLIMPEXP_CORE void wxMacReleaseBitmapButton( ControlButtonContentInfo*info ); @@ -399,10 +304,10 @@ private : WindowRef m_data; }; -void wxMacRectToNative( const wxRect *wx , Rect *n ); -void wxMacNativeToRect( const Rect *n , wxRect* wx ); -void wxMacPointToNative( const wxPoint* wx , Point *n ); -void wxMacNativeToPoint( const Point *n , wxPoint* wx ); +WXDLLIMPEXP_CORE void wxMacRectToNative( const wxRect *wx , Rect *n ); +WXDLLIMPEXP_CORE void wxMacNativeToRect( const Rect *n , wxRect* wx ); +WXDLLIMPEXP_CORE void wxMacPointToNative( const wxPoint* wx , Point *n ); +WXDLLIMPEXP_CORE void wxMacNativeToPoint( const Point *n , wxPoint* wx ); WXDLLIMPEXP_CORE wxWindow * wxFindControlFromMacControl(ControlRef inControl ); WXDLLIMPEXP_CORE wxTopLevelWindowMac* wxFindWinFromMacWindow( WindowRef inWindow ); @@ -418,7 +323,15 @@ WXDLLIMPEXP_CORE Rect wxMacGetBoundsForControl( wxWindow* window , const wxPoint ControlActionUPP GetwxMacLiveScrollbarActionProc(); -class wxMacControl : public wxObject +// additional optional event defines + +#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5 +enum { + kEventControlFocusPartChanged = 164 +}; +#endif + +class WXDLLEXPORT wxMacControl : public wxObject { public : wxMacControl( wxWindow* peer , bool isRootControl = false ); @@ -506,9 +419,12 @@ public : T value; OSStatus err = GetData( inPartCode , inTag , &value ); - wxASSERT_MSG( err == noErr, - wxString::Format(wxT("GetData Failed for Part [%i] and Tag [%i]"), - inPartCode, (int)inTag) ); + if ( err != noErr ) + { + wxFAIL_MSG( wxString::Format(wxT("GetData Failed for Part [%i] and Tag [%i]"), + inPartCode, (int)inTag) ); + } + return value; } template OSStatus GetData( ResType inTag , T *data ) const @@ -597,7 +513,7 @@ protected : // basing on DataBrowserItemIDs // -class wxMacDataBrowserControl : public wxMacControl +class WXDLLEXPORT wxMacDataBrowserControl : public wxMacControl { public : wxMacDataBrowserControl( wxWindow* peer, const wxPoint& pos, const wxSize& size, long style); @@ -750,7 +666,7 @@ const DataBrowserPropertyID kMinColumnId = 1050; // base API for high-level databrowser operations -class wxMacListControl +class WXDLLEXPORT wxMacListControl { public: virtual void MacDelete( unsigned int n ) = 0; @@ -780,7 +696,7 @@ enum DataItemType { DataItem_Text }; -class wxMacDataItem +class WXDLLEXPORT wxMacDataItem { public : wxMacDataItem(); @@ -814,7 +730,7 @@ public : protected : wxString m_label; - wxMacCFStringHolder m_cfLabel; + wxCFStringRef m_cfLabel; void * m_data; SInt32 m_order; DataBrowserPropertyID m_colId; @@ -832,7 +748,7 @@ const wxMacDataItemPtr wxMacDataBrowserRootContainer = NULL; WX_DEFINE_USER_EXPORTED_ARRAY_PTR(wxMacDataItemPtr, wxArrayMacDataItemPtr, class WXDLLIMPEXP_CORE); -class wxMacDataItemBrowserControl : public wxMacDataBrowserControl, public wxMacListControl +class WXDLLEXPORT wxMacDataItemBrowserControl : public wxMacDataBrowserControl, public wxMacListControl { public : wxMacDataItemBrowserControl( wxWindow* peer , const wxPoint& pos, const wxSize& size, long style); @@ -965,7 +881,7 @@ private : DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacDataItemBrowserControl) }; -class wxMacDataItemBrowserSelectionSuppressor +class WXDLLEXPORT wxMacDataItemBrowserSelectionSuppressor { public : wxMacDataItemBrowserSelectionSuppressor(wxMacDataItemBrowserControl *browser); @@ -983,7 +899,7 @@ private : // exposed for reuse in wxCheckListBox -class wxMacListBoxItem : public wxMacDataItem +class WXDLLEXPORT wxMacListBoxItem : public wxMacDataItem { public : wxMacListBoxItem(); @@ -995,7 +911,7 @@ public : DataBrowserItemDataRef itemData ) const; }; -class wxMacDataBrowserListControl : public wxMacDataItemBrowserControl +class WXDLLEXPORT wxMacDataBrowserListControl : public wxMacDataItemBrowserControl { public: wxMacDataBrowserListControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style ); @@ -1028,7 +944,7 @@ CGColorSpaceRef WXDLLIMPEXP_CORE wxMacGetGenericRGBColorSpace(void); // toplevel.cpp -class wxMacDeferredWindowDeleter : public wxObject +class WXDLLEXPORT wxMacDeferredWindowDeleter : public wxObject { public : wxMacDeferredWindowDeleter( WindowRef windowRef ); @@ -1080,7 +996,7 @@ void wxMacGlobalToLocal( WindowRef window , Point*pt ); bool wxMacInitCocoa(); -class wxMacAutoreleasePool +class WXDLLEXPORT wxMacAutoreleasePool { public : wxMacAutoreleasePool();