]> git.saurik.com Git - wxWidgets.git/blob - include/wx/dfb/dcclient.h
9916742c741ed08251f2aa24db2bc7077588b7a0
[wxWidgets.git] / include / wx / dfb / dcclient.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/dfb/dcclient.h
3 // Purpose: wxWindowDCImpl, wxClientDCImpl and wxPaintDCImpl
4 // Author: Vaclav Slavik
5 // Created: 2006-08-10
6 // RCS-ID: $Id$
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/dfb/dc.h"
15
16 class WXDLLIMPEXP_FWD_CORE wxWindow;
17
18 //-----------------------------------------------------------------------------
19 // wxWindowDCImpl
20 //-----------------------------------------------------------------------------
21
22 class WXDLLIMPEXP_CORE wxWindowDCImpl : public wxDFBDCImpl
23 {
24 public:
25 wxWindowDCImpl(wxDC *owner) : wxDFBDCImpl(owner), m_shouldFlip(false) { }
26 wxWindowDCImpl(wxDC *owner, wxWindow *win);
27 virtual ~wxWindowDCImpl();
28
29 virtual wxWindow *GetWindow() const { return m_win; }
30
31 protected:
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
36 private:
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(wxWindowDCImpl)
45 DECLARE_NO_COPY_CLASS(wxWindowDCImpl)
46 };
47
48 //-----------------------------------------------------------------------------
49 // wxClientDCImpl
50 //-----------------------------------------------------------------------------
51
52 class WXDLLIMPEXP_CORE wxClientDCImpl : public wxWindowDCImpl
53 {
54 public:
55 wxClientDCImpl(wxDC *owner) : wxWindowDCImpl(owner) { }
56 wxClientDCImpl(wxDC *owner, wxWindow *win);
57
58 DECLARE_DYNAMIC_CLASS(wxClientDCImpl)
59 DECLARE_NO_COPY_CLASS(wxClientDCImpl)
60 };
61
62
63 //-----------------------------------------------------------------------------
64 // wxPaintDCImpl
65 //-----------------------------------------------------------------------------
66
67 class WXDLLIMPEXP_CORE wxPaintDCImpl : public wxClientDCImpl
68 {
69 public:
70 wxPaintDCImpl(wxDC *owner) : wxClientDCImpl(owner) { }
71 wxPaintDCImpl(wxDC *owner, wxWindow *win) : wxClientDCImpl(owner, win) { }
72
73 DECLARE_DYNAMIC_CLASS(wxPaintDCImpl)
74 DECLARE_NO_COPY_CLASS(wxPaintDCImpl)
75 };
76
77 #endif // _WX_DFB_DCCLIENT_H_