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