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