X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ab9a0b84de5207cb26048ed3c237aaffb7a1356c..880d76dfb12d4e8466df30d641bb25c6f71bd398:/include/wx/osx/nonownedwnd.h?ds=sidebyside diff --git a/include/wx/osx/nonownedwnd.h b/include/wx/osx/nonownedwnd.h index e650d7e094..a972612b2b 100644 --- a/include/wx/osx/nonownedwnd.h +++ b/include/wx/osx/nonownedwnd.h @@ -1,10 +1,10 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: wx/mac/nonownedwnd.h +// Name: wx/osx/nonownedwnd.h // Purpose: declares wxNonOwnedWindow class // Author: Stefan Csomor // Modified by: // Created: 2008-03-24 -// RCS-ID: $Id: nonownedwnd.h 46993 2007-06-28 08:46:04Z VS $ +// RCS-ID: $Id$ // Copyright: (c) 2008 Stefan Csomor // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -14,6 +14,8 @@ #include "wx/window.h" +#include "wx/graphics.h" + #if wxUSE_SYSTEM_OPTIONS #define wxMAC_WINDOW_PLAIN_TRANSITION wxT("mac.window-plain-transition") #endif @@ -30,7 +32,7 @@ class wxNonOwnedWindowImpl; -class WXDLLIMPEXP_CORE wxNonOwnedWindow : public wxWindow +class WXDLLIMPEXP_CORE wxNonOwnedWindow : public wxNonOwnedWindowBase { public: // constructors and such @@ -55,8 +57,13 @@ public: long style = 0, const wxString& name = wxPanelNameStr); + bool Create(wxWindow *parent, WXWindow nativeWindow); + virtual ~wxNonOwnedWindow(); + virtual void SubclassWin(WXWindow nativeWindow); + virtual void UnsubclassWin(); + virtual wxPoint GetClientAreaOrigin() const; // implement base class pure virtuals @@ -74,12 +81,17 @@ public: // implementation from now on // -------------------------- - virtual bool DoSetShape(const wxRegion& region); + // These accessors are Mac-specific and don't exist in other ports. + const wxRegion& GetShape() const { return m_shape; } +#if wxUSE_GRAPHICS_CONTEXT + const wxGraphicsPath& GetShapePath() { return m_shapePath; } +#endif // wxUSE_GRAPHICS_CONTEXT // activation hooks only necessary for MDI Implementation static void MacDelayedDeactivation(long timestamp); virtual void MacActivate( long timestamp , bool inIsActivating ) ; + virtual void SetWindowStyleFlag(long flags); virtual void Raise(); virtual void Lower(); @@ -102,6 +114,10 @@ public: virtual void HandleResized( double timestampsec ); virtual void HandleMoved( double timestampsec ); virtual void HandleResizing( double timestampsec, wxRect* rect ); + + void WindowWasPainted(); + + virtual bool Destroy(); protected: // common part of all ctors @@ -116,12 +132,27 @@ protected: wxShowEffect effect, unsigned timeout); + virtual bool DoClearShape(); + virtual bool DoSetRegionShape(const wxRegion& region); +#if wxUSE_GRAPHICS_CONTEXT + virtual bool DoSetPathShape(const wxGraphicsPath& path); +#endif // wxUSE_GRAPHICS_CONTEXT + + virtual void WillBeDestroyed(); + wxNonOwnedWindowImpl* m_nowpeer ; // wxWindowMac* m_macFocus ; static wxNonOwnedWindow *s_macDeactivateWindow; + private : + static clock_t s_lastFlush; + + wxRegion m_shape; +#if wxUSE_GRAPHICS_CONTEXT + wxGraphicsPath m_shapePath; +#endif // wxUSE_GRAPHICS_CONTEXT }; // list of all frames and modeless dialogs