X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/938fbc8f74d393dc051fa5c80972e29ccdb2c500..86ac84b8ce086e6bbda58f422d41f84268606e35:/include/wx/osx/window.h?ds=sidebyside diff --git a/include/wx/osx/window.h b/include/wx/osx/window.h index 4152f18329..49d6e54a49 100644 --- a/include/wx/osx/window.h +++ b/include/wx/osx/window.h @@ -19,8 +19,14 @@ class WXDLLIMPEXP_FWD_CORE wxButton; class WXDLLIMPEXP_FWD_CORE wxScrollBar; class WXDLLIMPEXP_FWD_CORE wxNonOwnedWindow; -class WXDLLIMPEXP_FWD_CORE wxMacControl ; -class WXDLLIMPEXP_FWD_CORE wxWidgetImpl ; +#if wxOSX_USE_CARBON + class WXDLLIMPEXP_FWD_CORE wxMacControl ; + typedef wxMacControl wxOSXWidgetImpl; +#elif wxOSX_USE_COCOA_OR_IPHONE + class WXDLLIMPEXP_FWD_CORE wxWidgetImpl ; + typedef wxWidgetImpl wxOSXWidgetImpl; +#endif + class WXDLLIMPEXP_CORE wxWindowMac: public wxWindowBase { @@ -76,20 +82,6 @@ public: virtual int GetCharHeight() const; virtual int GetCharWidth() const; - virtual void GetTextExtent( const wxString& string, - int *x, int *y, - int *descent = NULL, - int *externalLeading = NULL, - const wxFont *theFont = NULL ) - const; -protected: - virtual void DoEnable( bool enable ); -#if wxUSE_MENUS - virtual bool DoPopupMenu( wxMenu *menu, int x, int y ); -#endif - - virtual void DoFreeze(); - virtual void DoThaw(); public: virtual void SetScrollbar( int orient, int pos, int thumbVisible, @@ -139,8 +131,6 @@ public: // event handlers // -------------- - void OnNcPaint( wxNcPaintEvent& event ); - void OnEraseBackground(wxEraseEvent& event ); void OnMouseEvent( wxMouseEvent &event ); void MacOnScroll( wxScrollEvent&event ); @@ -244,11 +234,7 @@ public: int& w, int& h , bool adjustForOrigin ) const ; // the 'true' OS level control for this wxWindow -#if wxOSX_USE_CARBON - wxMacControl* GetPeer() const { return m_peer ; } -#else - wxWidgetImpl* GetPeer() const { return m_peer ; } -#endif + wxOSXWidgetImpl* GetPeer() const { return m_peer ; } void * MacGetCGContextRef() { return m_cgContextRef ; } void MacSetCGContextRef(void * cg) { m_cgContextRef = cg ; } @@ -261,12 +247,9 @@ protected: // For controls like radio buttons which are genuinely composite wxList m_subControls; -#if wxOSX_USE_CARBON // the peer object, allowing for cleaner API support - wxMacControl * m_peer ; -#else - wxWidgetImpl * m_peer ; -#endif + wxOSXWidgetImpl * m_peer ; + void * m_cgContextRef ; // cache the clipped rectangles within the window hierarchy @@ -307,6 +290,20 @@ protected: void MacUpdateControlFont() ; // implement the base class pure virtuals + virtual void DoGetTextExtent(const wxString& string, + int *x, int *y, + int *descent = NULL, + int *externalLeading = NULL, + const wxFont *theFont = NULL ) const; + + virtual void DoEnable( bool enable ); +#if wxUSE_MENUS + virtual bool DoPopupMenu( wxMenu *menu, int x, int y ); +#endif + + virtual void DoFreeze(); + virtual void DoThaw(); + virtual wxSize DoGetBestSize() const; virtual wxSize DoGetSizeFromClientSize( const wxSize & size ) const; virtual void DoClientToScreen( int *x, int *y ) const;