X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8adc196b0e9581f2d731710200d104b10b135c98..254fbd140e67b60f46d7380c6ac242110ddd7585:/include/wx/mac/carbon/window.h diff --git a/include/wx/mac/carbon/window.h b/include/wx/mac/carbon/window.h index 3d5fa0d152..e8ed1c6e1b 100644 --- a/include/wx/mac/carbon/window.h +++ b/include/wx/mac/carbon/window.h @@ -205,9 +205,13 @@ public: virtual void MacSetBackgroundBrush( const wxBrush &brush ) ; const wxBrush& MacGetBackgroundBrush() const { return m_macBackgroundBrush ; } + // return the rectangle that would be visible of this control, regardless whether controls are hidden + // only taking into account clipping by parent windows + const wxRect& MacGetClippedClientRect() const ; + const wxRect& MacGetClippedRect() const ; + const wxRect& MacGetClippedRectWithOuterStructure() const ; // returns the visible region of this control in window ie non-client coordinates - - wxRegion MacGetVisibleRegion( bool includeOuterStructures = false ) ; + const wxRegion& MacGetVisibleRegion( bool includeOuterStructures = false ) ; // returns true if children have to clipped to the content area (eg scrolled window) bool MacClipChildren() const { return m_clipChildren ; } void MacSetClipChildren( bool clip ) { m_clipChildren = clip ; } @@ -264,6 +268,15 @@ protected: #if wxMAC_USE_CORE_GRAPHICS void * m_cgContextRef ; #endif + // cache the clipped rectangles within the window hierarchy + void MacUpdateClippedRects() const ; + mutable bool m_cachedClippedRectValid ; + mutable wxRect m_cachedClippedRectWithOuterStructure ; + mutable wxRect m_cachedClippedRect ; + mutable wxRect m_cachedClippedClientRect ; + mutable wxRegion m_cachedClippedRegionWithOuterStructure ; + mutable wxRegion m_cachedClippedRegion ; + mutable wxRegion m_cachedClippedClientRegion ; // true if is is not a native control but a wxWindow control bool m_macIsUserPane ; wxBrush m_macBackgroundBrush ; @@ -280,6 +293,8 @@ protected: // it becomes the target window of a scrolled window it has to... bool m_clipChildren ; + virtual bool MacIsChildOfClientArea( const wxWindow* child ) const ; + void MacCreateScrollBars( long style ) ; void MacRepositionScrollBars() ; void MacUpdateControlFont() ;