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