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