1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/dfb/private/overlay.h
3 // Purpose:     wxOverlayImpl declaration
4 // Author:      Vaclav Slavik
5 // Created:     2006-10-20
6 // Copyright:   (c) wxWidgets team
7 // Licence:     wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9 
10 #ifndef _WX_DFB_PRIVATE_OVERLAY_H_
11 #define _WX_DFB_PRIVATE_OVERLAY_H_
12 
13 #include "wx/dfb/dfbptr.h"
14 #include "wx/gdicmn.h"
15 
16 wxDFB_DECLARE_INTERFACE(IDirectFBSurface);
17 
18 class WXDLLIMPEXP_FWD_CORE wxWindow;
19 class WXDLLIMPEXP_FWD_CORE wxDC;
20 
21 class wxOverlayImpl
22 {
23 public:
24     wxOverlayImpl();
25     ~wxOverlayImpl();
26 
27     void Reset();
28     bool IsOk();
29     void Init(wxDC* dc, int x , int y , int width , int height);
30     void BeginDrawing(wxDC* dc);
31     void EndDrawing(wxDC* dc);
32     void Clear(wxDC* dc);
33 
34     // wxDFB specific methods:
IsEmpty()35     bool IsEmpty() const { return m_isEmpty; }
GetRect()36     wxRect GetRect() const { return m_rect; }
GetDirectFBSurface()37     wxIDirectFBSurfacePtr GetDirectFBSurface() const { return m_surface; }
38 
39 public:
40     // window the overlay is associated with
41     wxWindow *m_window;
42     // rectangle covered by the overlay, in m_window's window coordinates
43     wxRect m_rect;
44     // surface of the overlay, same size as m_rect
45     wxIDirectFBSurfacePtr m_surface;
46     // this flag is set to true if nothing was drawn on the overlay (either
47     // initially or Clear() was called)
48     bool m_isEmpty;
49 };
50 
51 #endif // _WX_DFB_PRIVATE_OVERLAY_H_
52