]> git.saurik.com Git - wxWidgets.git/blob - docs/latex/wx/rect.tex
document GetInsertionPoint() bug under MSW (see patch 1262125)
[wxWidgets.git] / docs / latex / wx / rect.tex
1 \section{\class{wxRect}}\label{wxrect}
2
3 A class for manipulating rectangles.
4
5 \wxheading{Derived from}
6
7 None
8
9 \wxheading{Include files}
10
11 <wx/gdicmn.h>
12
13 \wxheading{See also}
14
15 \helpref{wxPoint}{wxpoint}, \helpref{wxSize}{wxsize}
16
17 \latexignore{\rtfignore{\wxheading{Members}}}
18
19
20 \membersection{wxRect::wxRect}\label{wxrectctor}
21
22 \func{}{wxRect}{\void}
23
24 Default constructor.
25
26 \func{}{wxRect}{\param{int}{ x}, \param{int}{ y}, \param{int}{ width}, \param{int}{ height}}
27
28 Creates a wxRect object from x, y, width and height values.
29
30 \func{}{wxRect}{\param{const wxPoint\&}{ topLeft}, \param{const wxPoint\&}{ bottomRight}}
31
32 Creates a wxRect object from top-left and bottom-right points.
33
34 \func{}{wxRect}{\param{const wxPoint\&}{ pos}, \param{const wxSize\&}{ size}}
35
36 Creates a wxRect object from position and size values.
37
38 \func{}{wxRect}{\param{const wxSize\&}{ size}}
39
40 Creates a wxRect object from size values at the origin.
41
42
43 \membersection{wxRect::x}\label{wxrectx}
44
45 \member{int}{x}
46
47 x coordinate of the top-level corner of the rectangle.
48
49
50 \membersection{wxRect::y}\label{wxrecty}
51
52 \member{int}{y}
53
54 y coordinate of the top-level corner of the rectangle.
55
56
57 \membersection{wxRect::width}\label{wxrectwidth}
58
59 \member{int}{width}
60
61 Width member.
62
63
64 \membersection{wxRect::height}\label{wxrectheight}
65
66 \member{int}{height}
67
68 Height member.
69
70
71 \membersection{wxRect::CentreIn}\label{wxrectcentrein}
72
73 \constfunc{wxRect}{CentreIn}{\param{const wxRect\& }{r}, \param{int }{dir = wxBOTH}}
74
75 \constfunc{wxRect}{CenterIn}{\param{const wxRect\& }{r}, \param{int }{dir = wxBOTH}}
76
77 Returns the rectangle having the same size as this one but centered relatively
78 to the given rectangle \arg{r}. By default, rectangle is centred in both
79 directions but if \arg{dir} includes only \texttt{wxVERTICAL} or only
80 \texttt{wxHORIZONTAL} flag, then it is only centered in this direction while
81 the other component of its position remains unchanged.
82
83
84 \membersection{wxRect::Deflate}\label{wxrectdeflate}
85
86 \func{void}{Deflate}{\param{wxCoord }{dx}, \param{wxCoord }{dy}}
87
88 \func{void}{Deflate}{\param{wxCoord }{diff}}
89
90 \constfunc{wxRect}{Deflate}{\param{wxCoord }{dx}, \param{wxCoord }{dy}}
91
92 Decrease the rectangle size.
93
94 This method is the opposite from \helpref{Inflate}{wxrectinflate}:
95 Deflate(a, b) is equivalent to Inflate(-a, -b).
96 Please refer to \helpref{Inflate}{wxrectinflate} for full description.
97
98 \wxheading{See also}
99
100 \helpref{Inflate}{wxrectinflate}
101
102
103 \membersection{wxRect::GetBottom}\label{wxrectgetbottom}
104
105 \constfunc{int}{GetBottom}{\void}
106
107 Gets the bottom point of the rectangle.
108
109
110 \membersection{wxRect::GetHeight}\label{wxrectgetheight}
111
112 \constfunc{int}{GetHeight}{\void}
113
114 Gets the height member.
115
116
117 \membersection{wxRect::GetLeft}\label{wxrectgetleft}
118
119 \constfunc{int}{GetLeft}{\void}
120
121 Gets the left point of the rectangle (the same as \helpref{wxRect::GetX}{wxrectgetx}).
122
123
124 \membersection{wxRect::GetPosition}\label{wxrectgetposition}
125
126 \constfunc{wxPoint}{GetPosition}{\void}
127
128 Gets the position.
129
130
131 \membersection{wxRect::GetTopLeft}\label{wxrectgettopleft}
132
133 \constfunc{wxPoint}{GetTopLeft}{\void}
134
135 Gets the topleft position of the rectangle. (Same as GetPosition).
136
137
138 \membersection{wxRect::GetBottomRight}\label{wxrectgetbottomright}
139
140 \constfunc{wxPoint}{GetBottomRight}{\void}
141
142 Gets the bottom right position. Returns the bottom right point inside the rectangle.
143
144
145 \membersection{wxRect::GetRight}\label{wxrectgetright}
146
147 \constfunc{int}{GetRight}{\void}
148
149 Gets the right point of the rectangle.
150
151
152 \membersection{wxRect::GetSize}\label{wxrectgetsize}
153
154 \constfunc{wxSize}{GetSize}{\void}
155
156 Gets the size.
157
158 \wxheading{See also}
159
160 \helpref{wxRect::SetSize}{wxrectsetsize}
161
162
163 \membersection{wxRect::GetTop}\label{wxrectgettop}
164
165 \constfunc{int}{GetTop}{\void}
166
167 Gets the top point of the rectangle (the same as \helpref{wxRect::GetY}{wxrectgety}).
168
169
170 \membersection{wxRect::GetWidth}\label{wxrectgetwidth}
171
172 \constfunc{int}{GetWidth}{\void}
173
174 Gets the width member.
175
176
177 \membersection{wxRect::GetX}\label{wxrectgetx}
178
179 \constfunc{int}{GetX}{\void}
180
181 Gets the x member.
182
183
184 \membersection{wxRect::GetY}\label{wxrectgety}
185
186 \constfunc{int}{GetY}{\void}
187
188 Gets the y member.
189
190
191 \membersection{wxRect::Inflate}\label{wxrectinflate}
192
193 \func{void}{Inflate}{\param{wxCoord }{dx}, \param{wxCoord }{dy}}
194
195 \func{void}{Inflate}{\param{wxCoord }{diff}}
196
197 \constfunc{wxRect}{Inflate}{\param{wxCoord }{dx}, \param{wxCoord }{dy}}
198
199 Increases the size of the rectangle.
200
201 The second form uses the same {\it diff} for both {\it dx} and {\it dy}.
202
203 The first two versions modify the rectangle in place, the last one returns a
204 new rectangle leaving this one unchanged.
205
206 The left border is moved farther left and the right border is moved farther
207 right by {\it dx}. The upper border is moved farther up and the bottom border
208 is moved farther down by {\it dy}. (Note the the width and height of the
209 rectangle thus change by 2*{\it dx} and 2*{\it dy}, respectively.) If one or
210 both of {\it dx} and {\it dy} are negative, the opposite happens: the rectangle
211 size decreases in the respective direction.
212
213 Inflating and deflating behaves ``naturally''. Defined more precisely, that
214 means:
215 \begin{enumerate}
216 \item ``Real'' inflates (that is, {\it dx} and/or {\it dy} >= 0) are not
217 constrained. Thus inflating a rectangle can cause its upper left corner
218 to move into the negative numbers. (the versions prior to 2.5.4 forced
219 the top left coordinate to not fall below (0, 0), which implied a
220 forced move of the rectangle.)
221
222 \item Deflates are clamped to not reduce the width or height of the
223 rectangle below zero. In such cases, the top-left corner is nonetheless
224 handled properly. For example, a rectangle at (10, 10) with size (20,
225 40) that is inflated by (-15, -15) will become located at (20, 25) at
226 size (0, 10). Finally, observe that the width and height are treated
227 independently. In the above example, the width is reduced by 20,
228 whereas the height is reduced by the full 30 (rather than also stopping
229 at 20, when the width reached zero).
230 \end{enumerate}
231
232 \wxheading{See also}
233
234 \helpref{Deflate}{wxrectdeflate}
235
236
237 \membersection{wxRect::Inside}\label{wxrectinside}
238
239 \constfunc{bool}{Inside}{\param{int }{x}, \param{int }{y}}
240
241 \constfunc{bool}{Inside}{\param{const wxPoint\& }{pt}}
242
243 Returns {\tt true} if the given point is inside the rectangle (or on its
244 boundary) and {\tt false} otherwise.
245
246
247 \membersection{wxRect::Intersects}\label{wxrectintersects}
248
249 \constfunc{bool}{Intersects}{\param{const wxRect\& }{rect}}
250
251 Returns {\tt true} if this rectangle has a non empty intersection with the
252 rectangle {\it rect} and {\tt false} otherwise.
253
254
255 \membersection{wxRect::IsEmpty}\label{wxrectisempty}
256
257 \constfunc{bool}{IsEmpty}{}
258
259 Returns {\tt true} if this rectangle has a width or height less than or equal to
260 0 and {\tt false} otherwise.
261
262
263 \membersection{wxRect::Offset}\label{wxrectoffset}
264
265 \func{void}{Offset}{\param{wxCoord }{dx}, \param{wxCoord }{dy}}
266
267 \func{void}{Offset}{\param{const wxPoint\& }{pt}}
268
269 Moves the rectangle by the specified offset. If {\it dx} is positive, the
270 rectangle is moved to the right, if {\it dy} is positive, it is moved to the
271 bottom, otherwise it is moved to the left or top respectively.
272
273
274 \membersection{wxRect::SetHeight}\label{wxrectsetheight}
275
276 \func{void}{SetHeight}{\param{int}{ height}}
277
278 Sets the height.
279
280
281 \membersection{wxRect::SetSize}\label{wxrectsetsize}
282
283 \func{void}{SetSize}{\param{const wxSize\&}{ s}}
284
285 Sets the size.
286
287 \wxheading{See also}
288
289 \helpref{wxRect::GetSize}{wxrectgetsize}
290
291
292 \membersection{wxRect::SetWidth}\label{wxrectsetwidth}
293
294 \func{void}{SetWidth}{\param{int}{ width}}
295
296 Sets the width.
297
298
299 \membersection{wxRect::SetX}\label{wxrectsetx}
300
301 \func{void}{SetX}{\param{int}{ x}}
302
303 Sets the x position.
304
305
306 \membersection{wxRect::SetY}\label{wxrectsety}
307
308 \func{void}{SetY}{\param{int}{ y}}
309
310 Sets the y position.
311
312
313 \membersection{wxRect::Union}\label{wxrectunion}
314
315 \constfunc{wxRect}{Union}{\param{const wxRect\&}{ rect}}
316
317 \func{wxRect\&}{Union}{\param{const wxRect\&}{ rect}}
318
319 Modifies the rectangle to contain the bounding box of this rectangle and the
320 one passed in as parameter. The const version returns the new rectangle, the
321 other one modifies this rectangle in place.
322
323
324 \membersection{wxRect::operator $=$}\label{wxrectassign}
325
326 \func{void}{operator $=$}{\param{const wxRect\& }{rect}}
327
328 Assignment operator.
329
330
331 \membersection{wxRect::operator $==$}\label{wxrectequal}
332
333 \func{bool}{operator $==$}{\param{const wxRect\& }{rect}}
334
335 Equality operator.
336
337
338 \membersection{wxRect::operator $!=$}\label{wxrectnotequal}
339
340 \func{bool}{operator $!=$}{\param{const wxRect\& }{rect}}
341
342 Inequality operator.
343