]> git.saurik.com Git - wxWidgets.git/blame - include/wx/os2/dcclient.h
test
[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 37 DECLARE_DYNAMIC_CLASS(wxWindowDC)
0e320a79 38
23e4b7d8
DW
39public:
40 wxWindowDC();
0e320a79 41
23e4b7d8
DW
42 // Create a DC corresponding to the whole window
43 wxWindowDC(wxWindow *win);
44
45 virtual ~wxWindowDC();
ce44c50e
DW
46
47 // PM specific stuff
48 HPS m_hPS;
49private:
50 HAB m_hab;
51 SIZEL m_PageSize;
23e4b7d8
DW
52};
53
54class WXDLLEXPORT wxClientDC : public wxWindowDC
0e320a79 55{
23e4b7d8 56 DECLARE_DYNAMIC_CLASS(wxClientDC)
0e320a79 57
23e4b7d8
DW
58public:
59 wxClientDC();
0e320a79 60
23e4b7d8
DW
61 // Create a DC corresponding to the client area of the window
62 wxClientDC(wxWindow *win);
0e320a79 63
23e4b7d8 64 virtual ~wxClientDC();
0e320a79
DW
65};
66
23e4b7d8 67class WXDLLEXPORT wxPaintDC : public wxWindowDC
0e320a79 68{
23e4b7d8
DW
69 DECLARE_DYNAMIC_CLASS(wxPaintDC)
70
71public:
72 wxPaintDC();
73
74 // Create a DC corresponding for painting the window in OnPaint()
75 wxPaintDC(wxWindow *win);
0e320a79 76
23e4b7d8 77 virtual ~wxPaintDC();
0e320a79 78
23e4b7d8
DW
79protected:
80 static wxArrayDCInfo ms_cache;
0e320a79 81
23e4b7d8
DW
82 // find the entry for this DC in the cache (keyed by the window)
83 wxPaintDCInfo *FindInCache(size_t *index = NULL) const;
0e320a79
DW
84};
85
86#endif
87 // _WX_DCCLIENT_H_