]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/dcclient.h
Getting various compilers to work with wxWin again
[wxWidgets.git] / include / wx / msw / dcclient.h
CommitLineData
2bda0e17
KB
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
3a5ffa81 9// Licence: wxWindows license
2bda0e17
KB
10/////////////////////////////////////////////////////////////////////////////
11
bbcdf8bc
JS
12#ifndef _WX_DCCLIENT_H_
13#define _WX_DCCLIENT_H_
2bda0e17 14
3a5ffa81
VZ
15// ----------------------------------------------------------------------------
16// headers
17// ----------------------------------------------------------------------------
18
2bda0e17 19#ifdef __GNUG__
3a5ffa81 20 #pragma interface "dcclient.h"
2bda0e17
KB
21#endif
22
23#include "wx/dc.h"
4286a5b5 24#include "wx/dynarray.h"
2bda0e17 25
3a5ffa81
VZ
26// ----------------------------------------------------------------------------
27// array types
28// ----------------------------------------------------------------------------
29
30// this one if used by wxPaintDC only
31struct WXDLLEXPORT wxPaintDCInfo;
32WX_DECLARE_OBJARRAY(wxPaintDCInfo, wxArrayDCInfo);
33
34// ----------------------------------------------------------------------------
35// DC classes
36// ----------------------------------------------------------------------------
37
38class WXDLLEXPORT wxWindowDC : public wxDC
2bda0e17 39{
3a5ffa81 40 DECLARE_DYNAMIC_CLASS(wxWindowDC)
2bda0e17 41
3a5ffa81
VZ
42public:
43 wxWindowDC();
2bda0e17 44
3a5ffa81
VZ
45 // Create a DC corresponding to the whole window
46 wxWindowDC(wxWindow *win);
2bda0e17 47
3a5ffa81 48 virtual ~wxWindowDC();
2bda0e17
KB
49};
50
3a5ffa81 51class WXDLLEXPORT wxClientDC : public wxWindowDC
2bda0e17 52{
3a5ffa81 53 DECLARE_DYNAMIC_CLASS(wxClientDC)
2bda0e17 54
3a5ffa81
VZ
55public:
56 wxClientDC();
2bda0e17 57
3a5ffa81
VZ
58 // Create a DC corresponding to the client area of the window
59 wxClientDC(wxWindow *win);
2bda0e17 60
3a5ffa81 61 virtual ~wxClientDC();
2bda0e17
KB
62};
63
3a5ffa81 64class WXDLLEXPORT wxPaintDC : public wxWindowDC
2bda0e17 65{
3a5ffa81
VZ
66 DECLARE_DYNAMIC_CLASS(wxPaintDC)
67
68public:
69 wxPaintDC();
2bda0e17 70
3a5ffa81
VZ
71 // Create a DC corresponding for painting the window in OnPaint()
72 wxPaintDC(wxWindow *win);
2bda0e17 73
3a5ffa81 74 virtual ~wxPaintDC();
2bda0e17 75
3a5ffa81
VZ
76protected:
77 static wxArrayDCInfo ms_cache;
2bda0e17 78
3a5ffa81
VZ
79 // find the entry for this DC in the cache (keyed by the window)
80 wxPaintDCInfo *FindInCache(size_t *index = NULL) const;
2bda0e17
KB
81};
82
83#endif
bbcdf8bc 84 // _WX_DCCLIENT_H_