]> git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk/nonownedwnd.h
Avoid calling gtk_window_get_position() from "configure-event" handler, if possible.
[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 // 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:
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_