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