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