1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxClientDC class
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart and Markus Holzem
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_DCCLIENT_H_
13 #define _WX_DCCLIENT_H_
15 // ----------------------------------------------------------------------------
17 // ----------------------------------------------------------------------------
20 #pragma interface "dcclient.h"
24 #include "wx/dynarray.h"
26 // ----------------------------------------------------------------------------
28 // ----------------------------------------------------------------------------
30 // this one if used by wxPaintDC only
31 struct WXDLLEXPORT wxPaintDCInfo
;
33 #undef WXDLLEXPORTLOCAL
34 #define WXDLLEXPORTLOCAL WXDLLEXPORT
35 WX_DECLARE_OBJARRAY(wxPaintDCInfo
, wxArrayDCInfo
);
36 #undef WXDLLEXPORTLOCAL
37 #define WXDLLEXPORTLOCAL
39 // ----------------------------------------------------------------------------
41 // ----------------------------------------------------------------------------
43 class WXDLLEXPORT wxWindowDC
: public wxDC
45 DECLARE_DYNAMIC_CLASS(wxWindowDC
)
50 // Create a DC corresponding to the whole window
51 wxWindowDC(wxWindow
*win
);
53 virtual ~wxWindowDC();
56 class WXDLLEXPORT wxClientDC
: public wxWindowDC
58 DECLARE_DYNAMIC_CLASS(wxClientDC
)
63 // Create a DC corresponding to the client area of the window
64 wxClientDC(wxWindow
*win
);
66 virtual ~wxClientDC();
69 class WXDLLEXPORT wxPaintDC
: public wxWindowDC
71 DECLARE_DYNAMIC_CLASS(wxPaintDC
)
76 // Create a DC corresponding for painting the window in OnPaint()
77 wxPaintDC(wxWindow
*win
);
82 static wxArrayDCInfo ms_cache
;
84 // find the entry for this DC in the cache (keyed by the window)
85 wxPaintDCInfo
*FindInCache(size_t *index
= NULL
) const;