]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/region.tex
don't make read-only text controls editable when enabled
[wxWidgets.git] / docs / latex / wx / region.tex
index 696a66fa921a9ada4fe65add986241bf3dcd6005..11df532caf4285be01f623dedc25e317b16b9e7a 100644 (file)
@@ -1,7 +1,23 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        region.tex
+%% Purpose:     wxRegion documentation
+%% Author:      wxTeam
+%% Created:
+%% RCS-ID:      $Id$
+%% Copyright:   (c) wxTeam
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
 \section{\class{wxRegion}}\label{wxregion}
 
 \section{\class{wxRegion}}\label{wxregion}
 
-A wxRegion represents a simple or complex region on a device context or window. It uses
-reference counting, so copying and assignment operations are fast.
+A wxRegion represents a simple or complex region on a device context or window.
+
+This class uses \helpref{reference counting and copy-on-write}{trefcount}
+internally so that assignments between two instances of this class are very
+cheap. You can therefore use actual objects instead of pointers without
+efficiency problems. If an instance of this class is changed it will create
+its own data internally so that other instances, which previously shared the
+data using the reference counting, are not affected.
 
 \wxheading{Derived from}
 
 
 \wxheading{Derived from}
 
@@ -18,6 +34,7 @@ reference counting, so copying and assignment operations are fast.
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
+
 \membersection{wxRegion::wxRegion}\label{wxregionctor}
 
 \func{}{wxRegion}{\void}
 \membersection{wxRegion::wxRegion}\label{wxregionctor}
 
 \func{}{wxRegion}{\void}
@@ -38,7 +55,7 @@ Constructs a rectangular region a wxRect object.
 
 \func{}{wxRegion}{\param{const wxRegion\&}{ region}}
 
 
 \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}}
 
 
 \func{}{wxRegion}{\param{size\_t}{ n}, \param{const wxPoint }{*points}, \param{int }{fillStyle = wxWINDING\_RULE}}
 
@@ -46,23 +63,24 @@ 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}.
 
 provided array. {\it fillStyle} parameter may have values
 {\tt wxWINDING\_RULE} or {\tt wxODDEVEN\_RULE}.
 
-{\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},
 \func{}{wxRegion}{\param{const wxBitmap\&}{ bmp}}
 
 \func{}{wxRegion}{\param{const wxBitmap\&}{ bmp},
                   \param{const wxColour\&}{ transColour},
-                 \param{int}{ tolerance = 0}}
+                  \param{int}{ tolerance = 0}}
 
 Constructs a region using the non-transparent pixels of a bitmap.  See
 \helpref{Union}{wxregionunion} for more details.
 
 
 
 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.
 \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}
 
 
 \membersection{wxRegion::Clear}\label{wxregionclear}
 
@@ -70,6 +88,7 @@ Destructor.
 
 Clears the current region.
 
 
 Clears the current region.
 
+
 \membersection{wxRegion::Contains}\label{wxregioncontains}
 
 \constfunc{wxRegionContain}{Contains}{\param{long\& }{x}, \param{long\& }{y}}
 \membersection{wxRegion::Contains}\label{wxregioncontains}
 
 \constfunc{wxRegionContain}{Contains}{\param{long\& }{x}, \param{long\& }{y}}
@@ -95,6 +114,7 @@ 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.
 
 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}{}
 \membersection{wxRegion::ConvertToBitmap}\label{wxregionconverttobitmap}
 
 \constfunc{wxBitmap}{ConvertToBitmap}{}
@@ -102,6 +122,7 @@ all or some part of the region is contained in this region.
 Convert the region to a black and white bitmap with the white pixels
 being inside the region.
 
 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{wxCoord\& }{x}, \param{wxCoord\& }{y}, \param{wxCoord\& }{width}, \param{wxCoord\& }{height}}
 \membersection{wxRegion::GetBox}\label{wxregiongetbox}
 
 \constfunc{void}{GetBox}{\param{wxCoord\& }{x}, \param{wxCoord\& }{y}, \param{wxCoord\& }{width}, \param{wxCoord\& }{height}}
@@ -112,6 +133,7 @@ Returns the outer bounds of the region.
 
 Returns the outer bounds of the region.
 
 
 Returns the outer bounds of the region.
 
+
 \membersection{wxRegion::Intersect}\label{wxregionintersect}
 
 \func{bool}{Intersect}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
 \membersection{wxRegion::Intersect}\label{wxregionintersect}
 
 \func{bool}{Intersect}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
@@ -135,12 +157,23 @@ Finds the intersection of this region and another region.
 Creates the intersection of the two regions, that is, the parts which are in both regions. The result
 is stored in this region.
 
 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}
 
 Returns {\tt true} if the region is empty, {\tt false} otherwise.
 
 \membersection{wxRegion::IsEmpty}\label{wxregionisempty}
 
 \constfunc{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 {\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}}
 \membersection{wxRegion::Subtract}\label{wxregionsubtract}
 
 \func{bool}{Subtract}{\param{const wxRect\&}{ rect}}
@@ -160,10 +193,13 @@ Subtracts a region from this region.
 This operation combines the parts of 'this' region that are not part of the second region.
 The result is stored in this region.
 
 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}}
 
 \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.
 
 Moves the region by the specified offsets in horizontal and vertical
 directions.
 
@@ -171,6 +207,7 @@ directions.
 
 {\tt true} if successful, {\tt false} otherwise (the region is unchanged then).
 
 
 {\tt true} if successful, {\tt false} otherwise (the region is unchanged then).
 
+
 \membersection{wxRegion::Union}\label{wxregionunion}
 
 \func{bool}{Union}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
 \membersection{wxRegion::Union}\label{wxregionunion}
 
 \func{bool}{Union}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
@@ -187,15 +224,15 @@ Finds the union of this region and another region.
 
 \func{bool}{Union}{\param{const wxBitmap\&}{ bmp}}
 
 
 \func{bool}{Union}{\param{const wxBitmap\&}{ bmp}}
 
-Finds the union of this region and the the non-transparent pixels of a
+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},
 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}}
+                  \param{int}{ tolerance = 0}}
 
 
-Finds the union of this region and the the non-transparent pixels of a
+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.
 bitmap. Colour to be treated as transparent is specified in the
 \arg{transColour} argument, along with an
 optional colour tolerance value.
@@ -209,6 +246,7 @@ optional colour tolerance value.
 This operation creates a region that combines all of this region and the second region.
 The result is stored in this region.
 
 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{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
 \membersection{wxRegion::Xor}\label{wxregionxor}
 
 \func{bool}{Xor}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
@@ -232,11 +270,14 @@ Finds the Xor of this region and another region.
 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.
 
 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}}
 
 \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}
 
 
 \section{\class{wxRegionIterator}}\label{wxregioniterator}
 
@@ -262,6 +303,7 @@ See \helpref{wxPaintEvent}{wxpaintevent} for an example of use.
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
+
 \membersection{wxRegionIterator::wxRegionIterator}\label{wxregioniteratorctor}
 
 \func{}{wxRegionIterator}{\void}
 \membersection{wxRegionIterator::wxRegionIterator}\label{wxregioniteratorctor}
 
 \func{}{wxRegionIterator}{\void}
@@ -272,54 +314,63 @@ Default constructor.
 
 Creates an iterator object given a 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::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::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::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::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::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::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::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::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}
 \membersection{wxRegionIterator::Reset}\label{wxregioniteratorreset}
 
 \func{void}{Reset}{\void}
@@ -330,6 +381,7 @@ Resets the iterator to the beginning of the rectangles.
 
 Resets the iterator to the given region.
 
 
 Resets the iterator to the given region.
 
+
 \membersection{wxRegionIterator::operator $++$}\label{wxregioniteratorinc}
 
 \func{void}{operator $++$}{\void}
 \membersection{wxRegionIterator::operator $++$}\label{wxregioniteratorinc}
 
 \func{void}{operator $++$}{\void}
@@ -338,6 +390,7 @@ Increment operator. Increments the iterator to the next region.
 
 \pythonnote{A wxPython alias for this operator is called {\tt Next}.}
 
 
 \pythonnote{A wxPython alias for this operator is called {\tt Next}.}
 
+
 \membersection{wxRegionIterator::operator bool}\label{wxregioniteratorbool}
 
 \constfunc{}{operator bool}{\void}
 \membersection{wxRegionIterator::operator bool}\label{wxregioniteratorbool}
 
 \constfunc{}{operator bool}{\void}