]> git.saurik.com Git - wxWidgets.git/blame_incremental - docs/latex/wx/region.tex
classic/carbon split
[wxWidgets.git] / docs / latex / wx / region.tex
... / ...
CommitLineData
1\section{\class{wxRegion}}\label{wxregion}
2
3A wxRegion represents a simple or complex region on a device context or window. It uses
4reference counting, so copying and assignment operations are fast.
5
6\wxheading{Derived from}
7
8\helpref{wxGDIObject}{wxgdiobject}\\
9\helpref{wxObject}{wxobject}
10
11\wxheading{Include files}
12
13<wx/region.h>
14
15\wxheading{See also}
16
17\helpref{wxRegionIterator}{wxregioniterator}
18
19\latexignore{\rtfignore{\wxheading{Members}}}
20
21\membersection{wxRegion::wxRegion}\label{wxregionconstr}
22
23\func{}{wxRegion}{\void}
24
25Default constructor.
26
27\func{}{wxRegion}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
28
29Constructs a rectangular region with the given position and size.
30
31\func{}{wxRegion}{\param{const wxPoint\&}{ topLeft}, \param{const wxPoint\&}{ bottomRight}}
32
33Constructs a rectangular region from the top left point and the bottom right point.
34
35\func{}{wxRegion}{\param{const wxRect\&}{ rect}}
36
37Constructs a rectangular region a wxRect object.
38
39\func{}{wxRegion}{\param{const wxRegion\&}{ region}}
40
41Constructs a region by copying another region.
42
43\func{}{wxRegion}{\param{size\_t}{ n}, \param{const wxPoint }{*points}, \param{int }{fillStyle = wxWINDING\_RULE}}
44
45Constructs a region corresponding to the polygon made of {\it n} points in the
46provided array. {\it fillStyle} parameter may have values
47{\tt wxWINDING\_RULE} or {\tt wxODDEVEN\_RULE}.
48
49{\bf NB:} This constructor is only implemented for Win32 and GTK+ wxWindows ports.
50
51\func{}{wxRegion}{\param{const wxBitmap\&}{ bmp},
52 \param{const wxColour\&}{ transColour = wxNullColour},
53 \param{int}{ tolerance = 0}}
54
55Constructs a region using the non-transparent pixels of a bitmap. See
56\helpref{Union}{wxregionunion} for more details.
57
58
59\membersection{wxRegion::\destruct{wxRegion}}
60
61\func{}{\destruct{wxRegion}}{\void}
62
63Destructor.
64
65\membersection{wxRegion::Clear}\label{wxregionclear}
66
67\func{void}{Clear}{\void}
68
69Clears the current region.
70
71\membersection{wxRegion::Contains}\label{wxregioncontains}
72
73\constfunc{wxRegionContain}{Contains}{\param{long\& }{x}, \param{long\& }{y}}
74
75Returns a value indicating whether the given point is contained within the region.
76
77\constfunc{wxRegionContain}{Contains}{\param{const wxPoint\&}{ pt}}
78
79Returns a value indicating whether the given point is contained within the region.
80
81\constfunc{wxRegionContain}{Contains}{\param{long\& }{x}, \param{long\& }{y}, \param{long\& }{width}, \param{long\& }{height}}
82
83Returns a value indicating whether the given rectangle is contained within the region.
84
85\constfunc{wxRegionContain}{Contains}{\param{const wxRect\& }{rect}}
86
87Returns a value indicating whether the given rectangle is contained within the region.
88
89\wxheading{Return value}
90
91The return value is one of wxOutRegion, wxPartRegion and wxInRegion.
92
93On Windows, only wxOutRegion and wxInRegion are returned; a value wxInRegion then indicates that
94all or some part of the region is contained in this region.
95
96\membersection{wxRegion::ConvertToBitmap}\label{wxregionconverttobitmap}
97
98\constfunc{wxBitmap}{ConvertToBitmap}{}
99
100Convert the region to a black and white bitmap with the white pixels
101being inside the region.
102
103\membersection{wxRegion::GetBox}\label{wxregiongetbox}
104
105\constfunc{void}{GetBox}{\param{long\& }{x}, \param{long\& }{y}, \param{long\& }{width}, \param{long\& }{height}}
106
107Returns the outer bounds of the region.
108
109\constfunc{wxRect}{GetBox}{\void}
110
111Returns the outer bounds of the region.
112
113\membersection{wxRegion::Intersect}\label{wxregionintersect}
114
115\func{bool}{Intersect}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
116
117Finds the intersection of this region and another, rectangular region, specified using position and size.
118
119\func{bool}{Intersect}{\param{const wxRect\&}{ rect}}
120
121Finds the intersection of this region and another, rectangular region.
122
123\func{bool}{Intersect}{\param{const wxRegion\&}{ region}}
124
125Finds the intersection of this region and another region.
126
127\wxheading{Return value}
128
129{\tt true} if successful, {\tt false} otherwise.
130
131\wxheading{Remarks}
132
133Creates the intersection of the two regions, that is, the parts which are in both regions. The result
134is stored in this region.
135
136\membersection{wxRegion::IsEmpty}\label{wxregionisempty}
137
138\constfunc{bool}{IsEmpty}{\void}
139
140Returns {\tt true} if the region is empty, {\tt false} otherwise.
141
142\membersection{wxRegion::Subtract}\label{wxregionsubstract}
143
144\func{bool}{Subtract}{\param{const wxRect\&}{ rect}}
145
146Subtracts a rectangular region from this region.
147
148\func{bool}{Subtract}{\param{const wxRegion\&}{ region}}
149
150Subtracts a region from this region.
151
152\wxheading{Return value}
153
154{\tt true} if successful, {\tt false} otherwise.
155
156\wxheading{Remarks}
157
158This operation combines the parts of 'this' region that are not part of the second region.
159The result is stored in this region.
160
161\membersection{wxRegion::Offset}\label{wxregionoffset}
162
163\func{bool}{Offset}{\param{wxCoord}{ x}, \param{wxCoord}{ y}}
164
165Moves the region by the specified offsets in horizontal and vertical
166directions.
167
168\wxheading{Return value}
169
170{\tt true} if successful, {\tt false} otherwise (the region is unchanged then).
171
172\membersection{wxRegion::Union}\label{wxregionunion}
173
174\func{bool}{Union}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
175
176Finds the union of this region and another, rectangular region, specified using position and size.
177
178\func{bool}{Union}{\param{const wxRect\&}{ rect}}
179
180Finds the union of this region and another, rectangular region.
181
182\func{bool}{Union}{\param{const wxRegion\&}{ region}}
183
184Finds the union of this region and another region.
185
186\func{bool}{Union}{\param{const wxBitmap\&}{ bmp},
187 \param{const wxColour\&}{ transColour = wxNullColour},
188 \param{int}{ tolerance = 0}}
189
190Finds the union of this region and the the non-transparent pixels of a
191bitmap. If the bitmap has a mask then it will be used, otherwise the
192colour to be treated as transparent may be specified, along with an
193optional colour tolerance value.
194
195\wxheading{Return value}
196
197{\tt true} if successful, {\tt false} otherwise.
198
199\wxheading{Remarks}
200
201This operation creates a region that combines all of this region and the second region.
202The result is stored in this region.
203
204\membersection{wxRegion::Xor}\label{wxregionxor}
205
206\func{bool}{Xor}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
207
208Finds the Xor of this region and another, rectangular region, specified using position and size.
209
210\func{bool}{Xor}{\param{const wxRect\&}{ rect}}
211
212Finds the Xor of this region and another, rectangular region.
213
214\func{bool}{Xor}{\param{const wxRegion\&}{ region}}
215
216Finds the Xor of this region and another region.
217
218\wxheading{Return value}
219
220{\tt true} if successful, {\tt false} otherwise.
221
222\wxheading{Remarks}
223
224This operation creates a region that combines all of this region and the second region, except
225for any overlapping areas. The result is stored in this region.
226
227\membersection{wxRegion::operator $=$}\label{wxregionassign}
228
229\func{void}{operator $=$}{\param{const wxRegion\&}{ region}}
230
231Copies {\it region} by reference counting.
232
233\section{\class{wxRegionIterator}}\label{wxregioniterator}
234
235This class is used to iterate through the rectangles in a region,
236typically when examining the damaged regions of a window within an OnPaint call.
237
238To use it, construct an iterator object on the stack and loop through the
239regions, testing the object and incrementing the iterator at the end of the loop.
240
241See \helpref{wxPaintEvent}{wxpaintevent} for an example of use.
242
243\wxheading{Derived from}
244
245\helpref{wxObject}{wxobject}
246
247\wxheading{Include files}
248
249<wx/region.h>
250
251\wxheading{See also}
252
253\helpref{wxPaintEvent}{wxpaintevent}
254
255\latexignore{\rtfignore{\wxheading{Members}}}
256
257\membersection{wxRegionIterator::wxRegionIterator}
258
259\func{}{wxRegionIterator}{\void}
260
261Default constructor.
262
263\func{}{wxRegionIterator}{\param{const wxRegion\&}{ region}}
264
265Creates an iterator object given a region.
266
267\membersection{wxRegionIterator::GetX}
268
269\constfunc{wxCoord}{GetX}{\void}
270
271Returns the x value for the current region.
272
273\membersection{wxRegionIterator::GetY}
274
275\constfunc{wxCoord}{GetY}{\void}
276
277Returns the y value for the current region.
278
279\membersection{wxRegionIterator::GetW}
280
281\constfunc{wxCoord}{GetW}{\void}
282
283An alias for GetWidth.
284
285\membersection{wxRegionIterator::GetWidth}
286
287\constfunc{wxCoord}{GetWidth}{\void}
288
289Returns the width value for the current region.
290
291\membersection{wxRegionIterator::GetH}
292
293\constfunc{wxCoord}{GetH}{\void}
294
295An alias for GetHeight.
296
297\membersection{wxRegionIterator::GetHeight}
298
299\constfunc{wxCoord}{GetWidth}{\void}
300
301Returns the width value for the current region.
302
303\membersection{wxRegionIterator::GetRect}
304
305\constfunc{wxRect}{GetRect}{\void}
306
307Returns the current rectangle.
308
309\membersection{wxRegionIterator::HaveRects}
310
311\constfunc{bool}{HaveRects}{\void}
312
313Returns {\tt true} if there are still some rectangles; otherwise returns {\tt false}.
314
315\membersection{wxRegionIterator::Reset}
316
317\func{void}{Reset}{\void}
318
319Resets the iterator to the beginning of the rectangles.
320
321\func{void}{Reset}{\param{const wxRegion\&}{ region}}
322
323Resets the iterator to the given region.
324
325\membersection{wxRegionIterator::operator $++$}
326
327\func{void}{operator $++$}{\void}
328
329Increment operator. Increments the iterator to the next region.
330
331\pythonnote{A wxPython alias for this operator is called {\tt Next}.}
332
333\membersection{wxRegionIterator::operator bool}
334
335\constfunc{}{operator bool}{\void}
336
337Returns {\tt true} if there are still some rectangles; otherwise returns {\tt false}.
338
339You can use this to test the iterator object as if it were of type bool.
340