1 /////////////////////////////////////////////////////////////////////////////// 2 // Name: wx/gtk/nonownedwnd.h 3 // Purpose: wxGTK-specific wxNonOwnedWindow declaration. 4 // Author: Vadim Zeitlin 5 // Created: 2011-10-12 6 // Copyright: (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org> 7 // Licence: wxWindows licence 8 /////////////////////////////////////////////////////////////////////////////// 9 10 #ifndef _WX_GTK_NONOWNEDWND_H_ 11 #define _WX_GTK_NONOWNEDWND_H_ 12 13 class wxNonOwnedWindowShapeImpl; 14 15 // ---------------------------------------------------------------------------- 16 // wxNonOwnedWindow contains code common to wx{Popup,TopLevel}Window in wxGTK. 17 // ---------------------------------------------------------------------------- 18 19 class WXDLLIMPEXP_CORE wxNonOwnedWindow : public wxNonOwnedWindowBase 20 { 21 public: wxNonOwnedWindow()22 wxNonOwnedWindow() { m_shapeImpl = NULL; } 23 virtual ~wxNonOwnedWindow(); 24 25 // Overridden to actually set the shape when the window becomes realized. 26 virtual void GTKHandleRealized(); 27 28 protected: 29 virtual bool DoClearShape(); 30 virtual bool DoSetRegionShape(const wxRegion& region); 31 #if wxUSE_GRAPHICS_CONTEXT 32 virtual bool DoSetPathShape(const wxGraphicsPath& path); 33 #endif // wxUSE_GRAPHICS_CONTEXT 34 35 36 private: 37 // If non-NULL, contains information about custom window shape. 38 wxNonOwnedWindowShapeImpl* m_shapeImpl; 39 40 wxDECLARE_NO_COPY_CLASS(wxNonOwnedWindow); 41 }; 42 43 #endif // _WX_GTK_NONOWNEDWND_H_ 44