+ // invalidates the borders and focus area around the control;
+ // must not be virtual as it will be called during destruction
+ void MacInvalidateBorders() ;
+
+ WXWindow MacGetTopLevelWindowRef() const ;
+ wxNonOwnedWindow* MacGetTopLevelWindow() const ;
+
+ virtual long MacGetLeftBorderSize() const ;
+ virtual long MacGetRightBorderSize() const ;
+ virtual long MacGetTopBorderSize() const ;
+ virtual long MacGetBottomBorderSize() const ;
+
+ virtual void MacSuperChangedPosition() ;
+
+ // absolute coordinates of this window's root have changed
+ virtual void MacTopLevelWindowChangedPosition() ;
+
+ virtual void MacChildAdded() ;
+ virtual void MacVisibilityChanged() ;
+ virtual void MacEnabledStateChanged() ;
+ virtual void MacHiliteChanged() ;
+ virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ;
+
+ bool MacIsReallyEnabled() ;
+ bool MacIsReallyHilited() ;
+
+ bool MacIsUserPane() { return m_macIsUserPane; }
+
+ virtual bool MacSetupCursor( const wxPoint& pt ) ;
+
+ // 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
+ const wxRegion& MacGetVisibleRegion( bool includeOuterStructures = false ) ;
+
+ // returns true if children have to clipped to the content area
+ // (e.g., scrolled windows)
+ bool MacClipChildren() const { return m_clipChildren ; }
+ void MacSetClipChildren( bool clip ) { m_clipChildren = clip ; }
+
+ // returns true if the grandchildren need to be clipped to the children's content area
+ // (e.g., splitter windows)
+ virtual bool MacClipGrandChildren() const { return false ; }
+ bool MacIsWindowScrollbar( const wxWindow* sb ) const
+ { return ((wxWindow*)m_hScrollBar == sb || (wxWindow*)m_vScrollBar == sb) ; }
+ virtual bool IsClientAreaChild(const wxWindow *child) const
+ {
+ return !MacIsWindowScrollbar(child) &&
+ wxWindowBase::IsClientAreaChild(child);
+ }
+
+ virtual void MacInstallEventHandler(WXWidget native) ;
+ void MacPostControlCreate(const wxPoint& pos, const wxSize& size) ;
+ wxList& GetSubcontrols() { return m_subControls; }
+ WXEVENTHANDLERREF MacGetControlEventHandler() { return m_macControlEventHandler ; }
+
+ // translate wxWidgets coords into ones suitable
+ // to be passed to CreateControl calls
+ //
+ // returns true if non-default coords are returned, false otherwise
+ bool MacGetBoundsForControl(const wxPoint& pos,
+ const wxSize& size,
+ int& x, int& y,
+ int& w, int& h , bool adjustForOrigin ) const ;
+
+ // calculates the real window position and size from the native control
+ void MacGetPositionAndSizeFromControl(int& x, int& y,
+ int& w, int& h) const ;
+
+ // gets the inset from every part
+ virtual void MacGetContentAreaInset( int &left , int &top , int &right , int &bottom ) ;
+
+ // visibly flash the current invalid area:
+ // useful for debugging in OSX composited (double-buffered) situation
+ void MacFlashInvalidAreas() ;
+
+ // the 'true' OS level control for this wxWindow
+ wxMacControl* GetPeer() const { return m_peer ; }
+
+ void * MacGetCGContextRef() { return m_cgContextRef ; }
+ void MacSetCGContextRef(void * cg) { m_cgContextRef = cg ; }