X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6d4c54a7680f240153033f44e233c20b53ec6043..179e085f05fab385b89a18281e115003de890388:/include/wx/mac/carbon/window.h?ds=sidebyside diff --git a/include/wx/mac/carbon/window.h b/include/wx/mac/carbon/window.h index 4dd02468ef..0890ca5cb5 100644 --- a/include/wx/mac/carbon/window.h +++ b/include/wx/mac/carbon/window.h @@ -17,6 +17,7 @@ #endif #include "wx/brush.h" +#include "wx/dc.h" // --------------------------------------------------------------------------- // forward declarations @@ -81,6 +82,9 @@ public: virtual void Freeze() ; virtual void Thaw() ; + virtual void Update() ; + virtual void ClearBackground() ; + virtual bool SetCursor( const wxCursor &cursor ); virtual bool SetFont( const wxFont &font ) ; virtual bool SetBackgroundColour( const wxColour &colour ); @@ -140,6 +144,7 @@ public: // event handlers // -------------- void OnSetFocus(wxFocusEvent& event) ; + void OnPaint(wxPaintEvent& event); void OnNcPaint(wxNcPaintEvent& event); void OnEraseBackground(wxEraseEvent& event); void OnMouseEvent( wxMouseEvent &event ) ; @@ -161,7 +166,6 @@ public: public: virtual void MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool mouseStillDown ) ; virtual bool MacDoRedraw( WXHRGN updatergn , long time ) ; - virtual void MacRedraw( WXHRGN updatergn , long time , bool erase) ; virtual bool MacCanFocus() const ; // this should not be overriden in classes above wxWindowMac because it is called from its destructor via DeleteChildren @@ -181,6 +185,7 @@ public: // the absolute coortinates of this window's root have changed virtual void MacTopLevelWindowChangedPosition() ; + virtual void MacChildAdded() ; virtual void MacVisibilityChanged() ; virtual void MacEnabledStateChanged() ; virtual void MacHiliteChanged() ; @@ -192,24 +197,27 @@ public: bool MacIsUserPane() { return m_macIsUserPane; } - virtual void Update() ; virtual bool MacSetupCursor( const wxPoint& pt ) ; - virtual void MacSetBackgroundBrush( const wxBrush &brush ) { m_macBackgroundBrush = brush ; } + virtual void MacSetBackgroundBrush( const wxBrush &brush ) ; const wxBrush& MacGetBackgroundBrush() const { return m_macBackgroundBrush ; } // returns the visible region of this control in window ie non-client coordinates wxRegion MacGetVisibleRegion( bool includeOuterStructures = false ) ; + // returns true if children have to clipped to the content area (eg scrolled window) + virtual bool MacClipChildren() const { return false ; } + // returns true if the grandchildren have to be clipped to the children's content area (eg + // splitter window) + virtual bool MacClipGrandChildren() const { return false ; } bool MacIsWindowScrollbar( const wxScrollBar* sb ) { return (m_hScrollBar == sb || m_vScrollBar == sb) ; } wxList& GetSubcontrols() { return m_subControls; } - virtual void MacInstallEventHandler() ; - virtual void MacRedrawControl(); + virtual void MacInstallEventHandler(WXWidget native) ; WXEVENTHANDLERREF MacGetControlEventHandler() { return m_macControlEventHandler ; } void MacPostControlCreate(const wxPoint& pos, const wxSize& size) ; - +#ifndef __WXMAC_OSX__ virtual void MacControlUserPaneDrawProc(wxInt16 part) ; virtual wxInt16 MacControlUserPaneHitTestProc(wxInt16 x, wxInt16 y) ; virtual wxInt16 MacControlUserPaneTrackingProc(wxInt16 x, wxInt16 y, void* actionProc) ; @@ -218,7 +226,7 @@ public: virtual void MacControlUserPaneActivateProc(bool activating) ; virtual wxInt16 MacControlUserPaneFocusProc(wxInt16 action) ; virtual void MacControlUserPaneBackgroundProc(void* info) ; - +#endif // translate wxWidgets coords into ones suitable to be passed to // the CreateControl calls // @@ -235,7 +243,10 @@ public: // flash the current invalid area, useful for debugging in OSX double buffered situation void MacFlashInvalidAreas() ; - +#if wxMAC_USE_CORE_GRAPHICS + void * MacGetCGContextRef() { return m_cgContextRef ; } + void MacSetCGContextRef(void * cg) { m_cgContextRef = cg ; } +#endif protected: // For controls like radiobuttons which are really composite wxList m_subControls; @@ -243,6 +254,9 @@ protected: unsigned int m_frozenness; // the peer object, allowing for cleaner API support wxMacControl* m_peer ; +#if wxMAC_USE_CORE_GRAPHICS + void * m_cgContextRef ; +#endif // true if is is not a native control but a wxWindow control bool m_macIsUserPane ; wxBrush m_macBackgroundBrush ;