]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/region.tex
Always draw the selection of selected items, not just when they have
[wxWidgets.git] / docs / latex / wx / region.tex
index 1d3c224adae32f5793fed6b3b33fb8d29217d213..5b2cb77be198dd881aede12eeee5ad9af457c111 100644 (file)
@@ -8,15 +8,24 @@ reference counting, so copying and assignment operations are fast.
 \helpref{wxGDIObject}{wxgdiobject}\\
 \helpref{wxObject}{wxobject}
 
+\wxheading{Include files}
+
+<wx/region.h>
+
+\wxheading{See also}
+
+\helpref{wxRegionIterator}{wxregioniterator}
+
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxRegion::wxRegion}\label{wxregionconstr}
+
+\membersection{wxRegion::wxRegion}\label{wxregionctor}
 
 \func{}{wxRegion}{\void}
 
 Default constructor.
 
-\func{}{wxRegion}{\param{long}{ x}, \param{long}{ y}, \param{long}{ width}, \param{long}{ height}}
+\func{}{wxRegion}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
 
 Constructs a rectangular region with the given position and size.
 
@@ -30,13 +39,34 @@ Constructs a rectangular region a wxRect object.
 
 \func{}{wxRegion}{\param{const wxRegion\&}{ region}}
 
-Constructs a region by copying another region.
+Copy constructor, uses \helpref{reference counting}{trefcount}.
+
+\func{}{wxRegion}{\param{size\_t}{ n}, \param{const wxPoint }{*points}, \param{int }{fillStyle = wxWINDING\_RULE}}
+
+Constructs a region corresponding to the polygon made of {\it n} points in the
+provided array. {\it fillStyle} parameter may have values
+{\tt wxWINDING\_RULE} or {\tt wxODDEVEN\_RULE}.
 
-\membersection{wxRegion::\destruct{wxRegion}}
+{\bf NB:} This constructor is only implemented for Win32 and GTK+ wxWidgets ports.
+
+\func{}{wxRegion}{\param{const wxBitmap\&}{ bmp}}
+
+\func{}{wxRegion}{\param{const wxBitmap\&}{ bmp},
+                  \param{const wxColour\&}{ transColour},
+                  \param{int}{ tolerance = 0}}
+
+Constructs a region using the non-transparent pixels of a bitmap.  See
+\helpref{Union}{wxregionunion} for more details.
+
+
+
+\membersection{wxRegion::\destruct{wxRegion}}\label{wxregiondtor}
 
 \func{}{\destruct{wxRegion}}{\void}
 
 Destructor.
+See \helpref{reference-counted object destruction}{refcountdestruct} for more info.
+
 
 \membersection{wxRegion::Clear}\label{wxregionclear}
 
@@ -44,6 +74,7 @@ Destructor.
 
 Clears the current region.
 
+
 \membersection{wxRegion::Contains}\label{wxregioncontains}
 
 \constfunc{wxRegionContain}{Contains}{\param{long\& }{x}, \param{long\& }{y}}
@@ -69,9 +100,18 @@ The return value is one of wxOutRegion, wxPartRegion and wxInRegion.
 On Windows, only wxOutRegion and wxInRegion are returned; a value wxInRegion then indicates that
 all or some part of the region is contained in this region.
 
+
+\membersection{wxRegion::ConvertToBitmap}\label{wxregionconverttobitmap}
+
+\constfunc{wxBitmap}{ConvertToBitmap}{}
+
+Convert the region to a black and white bitmap with the white pixels
+being inside the region.
+
+
 \membersection{wxRegion::GetBox}\label{wxregiongetbox}
 
-\constfunc{void}{GetBox}{\param{long\& }{x}, \param{long\& }{y}, \param{long\& }{width}, \param{long\& }{height}}
+\constfunc{void}{GetBox}{\param{wxCoord\& }{x}, \param{wxCoord\& }{y}, \param{wxCoord\& }{width}, \param{wxCoord\& }{height}}
 
 Returns the outer bounds of the region.
 
@@ -79,9 +119,10 @@ Returns the outer bounds of the region.
 
 Returns the outer bounds of the region.
 
+
 \membersection{wxRegion::Intersect}\label{wxregionintersect}
 
-\func{bool}{Intersect}{\param{long}{ x}, \param{long}{ y}, \param{long}{ width}, \param{long}{ height}}
+\func{bool}{Intersect}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
 
 Finds the intersection of this region and another, rectangular region, specified using position and size.
 
@@ -95,20 +136,31 @@ Finds the intersection of this region and another region.
 
 \wxheading{Return value}
 
-TRUE if successful, FALSE otherwise.
+{\tt true} if successful, {\tt false} otherwise.
 
 \wxheading{Remarks}
 
 Creates the intersection of the two regions, that is, the parts which are in both regions. The result
 is stored in this region.
 
+
 \membersection{wxRegion::IsEmpty}\label{wxregionisempty}
 
 \constfunc{bool}{IsEmpty}{\void}
 
-\func{bool}{IsEmpty}{\void}
+Returns {\tt true} if the region is empty, {\tt false} otherwise.
+
+
+\membersection{wxRegion::IsEqual}\label{wxregionisequal}
+
+\constfunc{bool}{IsEqual}{\param{const wxRegion\& }{region}}
 
-Returns TRUE if the region is empty, FALSE otherwise.
+Returns {\tt true} if the region is equal to, i.e. covers the same area as,
+another one. Note that if both this region and \arg{region} are invalid, they
+are considered to be equal.
+
+
+\membersection{wxRegion::Subtract}\label{wxregionsubtract}
 
 \func{bool}{Subtract}{\param{const wxRect\&}{ rect}}
 
@@ -120,16 +172,31 @@ Subtracts a region from this region.
 
 \wxheading{Return value}
 
-TRUE if successful, FALSE otherwise.
+{\tt true} if successful, {\tt false} otherwise.
 
 \wxheading{Remarks}
 
 This operation combines the parts of 'this' region that are not part of the second region.
 The result is stored in this region.
 
+
+\membersection{wxRegion::Offset}\label{wxregionoffset}
+
+\func{bool}{Offset}{\param{wxCoord}{ x}, \param{wxCoord}{ y}}
+
+\func{bool}{Offset}{\param{const wxPoint\& }{ pt}}
+
+Moves the region by the specified offsets in horizontal and vertical
+directions.
+
+\wxheading{Return value}
+
+{\tt true} if successful, {\tt false} otherwise (the region is unchanged then).
+
+
 \membersection{wxRegion::Union}\label{wxregionunion}
 
-\func{bool}{Union}{\param{long}{ x}, \param{long}{ y}, \param{long}{ width}, \param{long}{ height}}
+\func{bool}{Union}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
 
 Finds the union of this region and another, rectangular region, specified using position and size.
 
@@ -141,18 +208,34 @@ Finds the union of this region and another, rectangular region.
 
 Finds the union of this region and another region.
 
+\func{bool}{Union}{\param{const wxBitmap\&}{ bmp}}
+
+Finds the union of this region and the non-transparent pixels of a
+bitmap. Bitmap's mask is used to determine transparency. If the bitmap doesn't
+have a mask, solid rectangle of bitmap's dimensions is used.
+
+\func{bool}{Union}{\param{const wxBitmap\&}{ bmp},
+                  \param{const wxColour\&}{ transColour},
+                  \param{int}{ tolerance = 0}}
+
+Finds the union of this region and the non-transparent pixels of a
+bitmap. Colour to be treated as transparent is specified in the
+\arg{transColour} argument, along with an
+optional colour tolerance value.
+
 \wxheading{Return value}
 
-TRUE if successful, FALSE otherwise.
+{\tt true} if successful, {\tt false} otherwise.
 
 \wxheading{Remarks}
 
 This operation creates a region that combines all of this region and the second region.
 The result is stored in this region.
 
+
 \membersection{wxRegion::Xor}\label{wxregionxor}
 
-\func{bool}{Xor}{\param{long}{ x}, \param{long}{ y}, \param{long}{ width}, \param{long}{ height}}
+\func{bool}{Xor}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
 
 Finds the Xor of this region and another, rectangular region, specified using position and size.
 
@@ -166,17 +249,139 @@ Finds the Xor of this region and another region.
 
 \wxheading{Return value}
 
-TRUE if successful, FALSE otherwise.
+{\tt true} if successful, {\tt false} otherwise.
 
 \wxheading{Remarks}
 
 This operation creates a region that combines all of this region and the second region, except
 for any overlapping areas. The result is stored in this region.
 
+
 \membersection{wxRegion::operator $=$}\label{wxregionassign}
 
 \func{void}{operator $=$}{\param{const wxRegion\&}{ region}}
 
-Copies {\it region} by reference counting.
+Assignment operator, using \helpref{reference counting}{trefcount}.
+
+
+
+\section{\class{wxRegionIterator}}\label{wxregioniterator}
+
+This class is used to iterate through the rectangles in a region,
+typically when examining the damaged regions of a window within an OnPaint call.
+
+To use it, construct an iterator object on the stack and loop through the
+regions, testing the object and incrementing the iterator at the end of the loop.
+
+See \helpref{wxPaintEvent}{wxpaintevent} for an example of use.
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Include files}
+
+<wx/region.h>
+
+\wxheading{See also}
+
+\helpref{wxPaintEvent}{wxpaintevent}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxRegionIterator::wxRegionIterator}\label{wxregioniteratorctor}
+
+\func{}{wxRegionIterator}{\void}
+
+Default constructor.
+
+\func{}{wxRegionIterator}{\param{const wxRegion\&}{ region}}
+
+Creates an iterator object given a region.
+
+
+\membersection{wxRegionIterator::GetX}\label{wxregioniteratorgetx}
+
+\constfunc{wxCoord}{GetX}{\void}
+
+Returns the x value for the current region.
+
+
+\membersection{wxRegionIterator::GetY}\label{wxregioniteratorgety}
+
+\constfunc{wxCoord}{GetY}{\void}
+
+Returns the y value for the current region.
+
+
+\membersection{wxRegionIterator::GetW}\label{wxregioniteratorgetw}
+
+\constfunc{wxCoord}{GetW}{\void}
+
+An alias for GetWidth.
+
+
+\membersection{wxRegionIterator::GetHeight}\label{wxregioniteratorgetheight}
+
+\constfunc{wxCoord}{GetHeight}{\void}
+
+Returns the height value for the current region.
+
+
+\membersection{wxRegionIterator::GetH}\label{wxregioniteratorgeth}
+
+\constfunc{wxCoord}{GetH}{\void}
+
+An alias for GetHeight.
+
+
+\membersection{wxRegionIterator::GetRect}\label{wxregioniteratorgetrect}
+
+\constfunc{wxRect}{GetRect}{\void}
+
+Returns the current rectangle.
+
+
+\membersection{wxRegionIterator::GetWidth}\label{wxregioniteratorgetwidth}
+
+\constfunc{wxCoord}{GetWidth}{\void}
+
+Returns the width value for the current region.
+
+
+\membersection{wxRegionIterator::HaveRects}\label{wxregioniteratorhaverects}
+
+\constfunc{bool}{HaveRects}{\void}
+
+Returns {\tt true} if there are still some rectangles; otherwise returns {\tt false}.
+
+
+\membersection{wxRegionIterator::Reset}\label{wxregioniteratorreset}
+
+\func{void}{Reset}{\void}
+
+Resets the iterator to the beginning of the rectangles.
+
+\func{void}{Reset}{\param{const wxRegion\&}{ region}}
+
+Resets the iterator to the given region.
+
+
+\membersection{wxRegionIterator::operator $++$}\label{wxregioniteratorinc}
+
+\func{void}{operator $++$}{\void}
+
+Increment operator. Increments the iterator to the next region.
+
+\pythonnote{A wxPython alias for this operator is called {\tt Next}.}
+
+
+\membersection{wxRegionIterator::operator bool}\label{wxregioniteratorbool}
+
+\constfunc{}{operator bool}{\void}
+
+Returns {\tt true} if there are still some rectangles; otherwise returns {\tt false}.
 
+You can use this to test the iterator object as if it were of type bool.