1///////////////////////////////////////////////////////////////////////////// 2// Name: wx/dfb/dcclient.h 3// Purpose: wxWindowDC, wxClientDC and wxPaintDC 4// Author: Vaclav Slavik 5// Created: 2006-08-10 6// RCS-ID: $Id: dcclient.h 42340 2006-10-24 12:29:14Z VS $ 7// Copyright: (c) 2006 REA Elektronik GmbH 8// Licence: wxWindows licence 9///////////////////////////////////////////////////////////////////////////// 10 11#ifndef _WX_DFB_DCCLIENT_H_ 12#define _WX_DFB_DCCLIENT_H_ 13 14#include "wx/dc.h" 15 16class WXDLLIMPEXP_CORE wxWindow; 17 18//----------------------------------------------------------------------------- 19// wxWindowDC 20//----------------------------------------------------------------------------- 21 22class WXDLLIMPEXP_CORE wxWindowDC : public wxDC 23{ 24public: 25 wxWindowDC() : m_shouldFlip(false) {} 26 wxWindowDC(wxWindow *win); 27 virtual ~wxWindowDC(); 28 29 virtual wxWindow *GetWindow() const { return m_win; } 30 31protected: 32 // initializes the DC for painting on given window; if rect!=NULL, then 33 // for painting only on the given region of the window 34 void InitForWin(wxWindow *win, const wxRect *rect); 35 36private: 37 wxWindow *m_win; 38 wxRect m_winRect; // rectangle of the window being painted 39 40 bool m_shouldFlip; // flip the surface when done? 41 42 friend class wxOverlayImpl; // for m_shouldFlip; 43 44 DECLARE_DYNAMIC_CLASS(wxWindowDC) 45 DECLARE_NO_COPY_CLASS(wxWindowDC) 46}; 47 48//----------------------------------------------------------------------------- 49// wxClientDC 50//----------------------------------------------------------------------------- 51 52class WXDLLIMPEXP_CORE wxClientDC : public wxWindowDC 53{ 54public: 55 wxClientDC() {} 56 wxClientDC(wxWindow *win); 57 58 DECLARE_DYNAMIC_CLASS(wxClientDC) 59 DECLARE_NO_COPY_CLASS(wxClientDC) 60}; 61 62 63//----------------------------------------------------------------------------- 64// wxPaintDC 65//----------------------------------------------------------------------------- 66 67class WXDLLIMPEXP_CORE wxPaintDC : public wxClientDC 68{ 69public: 70 wxPaintDC() {} 71 wxPaintDC(wxWindow *win) : wxClientDC(win) {} 72 73 DECLARE_DYNAMIC_CLASS(wxPaintDC) 74 DECLARE_NO_COPY_CLASS(wxPaintDC) 75}; 76 77#endif // _WX_DFB_DCCLIENT_H_ 78