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() wxOVERRIDE;
27 
28 protected:
29     virtual bool DoClearShape() wxOVERRIDE;
30     virtual bool DoSetRegionShape(const wxRegion& region) wxOVERRIDE;
31 #if wxUSE_GRAPHICS_CONTEXT
32     virtual bool DoSetPathShape(const wxGraphicsPath& path) wxOVERRIDE;
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