]> git.saurik.com Git - wxWidgets.git/blame - interface/wx/dcclient.h
fix GetTextExtent with non-null font argument, fixes #13750
[wxWidgets.git] / interface / wx / dcclient.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: dcclient.h
3a7fb603 3// Purpose: interface of wxClientDC and wxPaintDC
23324ae1
FM
4// Author: wxWidgets team
5// RCS-ID: $Id$
526954c5 6// Licence: wxWindows licence
23324ae1
FM
7/////////////////////////////////////////////////////////////////////////////
8
9/**
10 @class wxPaintDC
7c913512 11
23324ae1 12 A wxPaintDC must be constructed if an application wishes to paint on the
3a7fb603
BP
13 client area of a window from within an EVT_PAINT() event handler. This
14 should normally be constructed as a temporary stack object; don't store a
15 wxPaintDC object. If you have an EVT_PAINT() handler, you @e must create a
16 wxPaintDC object within it even if you don't actually use it.
7c913512 17
3a7fb603
BP
18 Using wxPaintDC within your EVT_PAINT() handler is important because it
19 automatically sets the clipping area to the damaged area of the window.
20 Attempts to draw outside this area do not appear.
7c913512 21
3a7fb603
BP
22 To draw on a window from outside your EVT_PAINT() handler, construct a
23 wxClientDC object.
7c913512 24
3a7fb603
BP
25 To draw on the whole window including decorations, construct a wxWindowDC
26 object (Windows only).
7c913512 27
edc51344
VZ
28 A wxPaintDC object is initialized to use the same font and colours as the
29 window it is associated with.
30
23324ae1
FM
31 @library{wxcore}
32 @category{dc}
7c913512 33
3a7fb603 34 @see wxDC, wxClientDC, wxMemoryDC, wxWindowDC, wxScreenDC
23324ae1
FM
35*/
36class wxPaintDC : public wxWindowDC
37{
38public:
39 /**
40 Constructor. Pass a pointer to the window on which you wish to paint.
41 */
42 wxPaintDC(wxWindow* window);
43};
44
45
e54c96f1 46
23324ae1
FM
47/**
48 @class wxClientDC
7c913512 49
23324ae1 50 A wxClientDC must be constructed if an application wishes to paint on the
3a7fb603
BP
51 client area of a window from outside an EVT_PAINT() handler. This should
52 normally be constructed as a temporary stack object; don't store a
53 wxClientDC object.
7c913512 54
3a7fb603
BP
55 To draw on a window from within an EVT_PAINT() handler, construct a
56 wxPaintDC object instead.
7c913512 57
3a7fb603
BP
58 To draw on the whole window including decorations, construct a wxWindowDC
59 object (Windows only).
7c913512 60
edc51344
VZ
61 A wxClientDC object is initialized to use the same font and colours as the
62 window it is associated with.
63
23324ae1
FM
64 @library{wxcore}
65 @category{dc}
7c913512 66
e54c96f1 67 @see wxDC, wxMemoryDC, wxPaintDC, wxWindowDC, wxScreenDC
23324ae1
FM
68*/
69class wxClientDC : public wxWindowDC
70{
71public:
72 /**
73 Constructor. Pass a pointer to the window on which you wish to paint.
74 */
75 wxClientDC(wxWindow* window);
76};
77
78
e54c96f1 79
23324ae1
FM
80/**
81 @class wxWindowDC
7c913512 82
23324ae1 83 A wxWindowDC must be constructed if an application wishes to paint on the
3a7fb603
BP
84 whole area of a window (client and decorations). This should normally be
85 constructed as a temporary stack object; don't store a wxWindowDC object.
7c913512 86
3a7fb603
BP
87 To draw on a window from inside an EVT_PAINT() handler, construct a
88 wxPaintDC object instead.
7c913512 89
3a7fb603
BP
90 To draw on the client area of a window from outside an EVT_PAINT() handler,
91 construct a wxClientDC object.
7c913512 92
edc51344
VZ
93 A wxWindowDC object is initialized to use the same font and colours as the
94 window it is associated with.
95
23324ae1
FM
96 @library{wxcore}
97 @category{dc}
7c913512 98
e54c96f1 99 @see wxDC, wxMemoryDC, wxPaintDC, wxClientDC, wxScreenDC
23324ae1
FM
100*/
101class wxWindowDC : public wxDC
102{
103public:
104 /**
105 Constructor. Pass a pointer to the window on which you wish to paint.
106 */
107 wxWindowDC(wxWindow* window);
108};
e54c96f1 109