]> git.saurik.com Git - wxWidgets.git/blob - include/wx/dfb/dcclient.h
adding measuring contexts, streamlining printing code
[wxWidgets.git] / include / wx / dfb / dcclient.h
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$
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
16 class WXDLLIMPEXP_CORE wxWindow;
17
18 //-----------------------------------------------------------------------------
19 // wxWindowDC
20 //-----------------------------------------------------------------------------
21
22 class WXDLLIMPEXP_CORE wxWindowDC : public wxDC
23 {
24 public:
25 wxWindowDC() : m_shouldFlip(false) {}
26 wxWindowDC(wxWindow *win);
27 virtual ~wxWindowDC();
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(wxWindowDC)
45 DECLARE_NO_COPY_CLASS(wxWindowDC)
46 };
47
48 //-----------------------------------------------------------------------------
49 // wxClientDC
50 //-----------------------------------------------------------------------------
51
52 class WXDLLIMPEXP_CORE wxClientDC : public wxWindowDC
53 {
54 public:
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
67 class WXDLLIMPEXP_CORE wxPaintDC : public wxClientDC
68 {
69 public:
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_