]> git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/dcclient.h
Many bug fixes for display code:
[wxWidgets.git] / include / wx / os2 / dcclient.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: dcclient.h
3 // Purpose: wxClientDC class
4 // Author: David Webster
5 // Modified by:
6 // Created: 09/12/99
7 // RCS-ID: $Id$
8 // Copyright: (c) David Webster
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_DCCLIENT_H_
13 #define _WX_DCCLIENT_H_
14
15 // ----------------------------------------------------------------------------
16 // headers
17 // ----------------------------------------------------------------------------
18
19 #include "wx/dc.h"
20 #include "wx/dynarray.h"
21
22 // ----------------------------------------------------------------------------
23 // array types
24 // ----------------------------------------------------------------------------
25
26 // this one if used by wxPaintDC only
27 struct WXDLLEXPORT wxPaintDCInfo;
28
29 WX_DECLARE_OBJARRAY(wxPaintDCInfo, wxArrayDCInfo);
30
31 // ----------------------------------------------------------------------------
32 // DC classes
33 // ----------------------------------------------------------------------------
34
35 class WXDLLEXPORT wxWindowDC : public wxDC
36 {
37 DECLARE_DYNAMIC_CLASS(wxWindowDC)
38
39 public:
40 wxWindowDC();
41
42 // Create a DC corresponding to the whole window
43 wxWindowDC(wxWindow *win);
44
45 virtual ~wxWindowDC();
46
47 // PM specific stuff
48 HPS m_hPS;
49 private:
50 HAB m_hab;
51 SIZEL m_PageSize;
52 };
53
54 class WXDLLEXPORT wxClientDC : public wxWindowDC
55 {
56 DECLARE_DYNAMIC_CLASS(wxClientDC)
57
58 public:
59 wxClientDC();
60
61 // Create a DC corresponding to the client area of the window
62 wxClientDC(wxWindow *win);
63
64 virtual ~wxClientDC();
65 };
66
67 class WXDLLEXPORT wxPaintDC : public wxWindowDC
68 {
69 DECLARE_DYNAMIC_CLASS(wxPaintDC)
70
71 public:
72 wxPaintDC();
73
74 // Create a DC corresponding for painting the window in OnPaint()
75 wxPaintDC(wxWindow *win);
76
77 virtual ~wxPaintDC();
78
79 protected:
80 static wxArrayDCInfo ms_cache;
81
82 // find the entry for this DC in the cache (keyed by the window)
83 wxPaintDCInfo *FindInCache(size_t *index = NULL) const;
84 };
85
86 #endif
87 // _WX_DCCLIENT_H_