A wxRegion represents a simple or complex region on a device context or window.
This class uses reference counting and copy-on-write 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.
Derived from
Include files
<wx/region.h>
See also
Members
wxRegion::wxRegion
wxRegion::~wxRegion
wxRegion::Clear
wxRegion::Contains
wxRegion::ConvertToBitmap
wxRegion::GetBox
wxRegion::Intersect
wxRegion::IsEmpty
wxRegion::IsEqual
wxRegion::Subtract
wxRegion::Offset
wxRegion::Union
wxRegion::Xor
wxRegion::operator =
wxRegion()
Default constructor.
wxRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
Constructs a rectangular region with the given position and size.
wxRegion(const wxPoint& topLeft, const wxPoint& bottomRight)
Constructs a rectangular region from the top left point and the bottom right point.
wxRegion(const wxRect& rect)
Constructs a rectangular region a wxRect object.
wxRegion(const wxRegion& region)
Copy constructor, uses reference counting.
wxRegion(size_t n, const wxPoint *points, int fillStyle = wxWINDING_RULE)
Constructs a region corresponding to the polygon made of n points in the provided array. fillStyle parameter may have values wxWINDING_RULE or wxODDEVEN_RULE.
wxRegion(const wxBitmap& bmp)
wxRegion(const wxBitmap& bmp, const wxColour& transColour, int tolerance = 0)
Constructs a region using the non-transparent pixels of a bitmap. See Union for more details.
~wxRegion()
Destructor. See reference-counted object destruction for more info.
void Clear()
Clears the current region.
wxRegionContain Contains(long& x, long& y) const
Returns a value indicating whether the given point is contained within the region.
wxRegionContain Contains(const wxPoint& pt) const
Returns a value indicating whether the given point is contained within the region.
wxRegionContain Contains(long& x, long& y, long& width, long& height) const
Returns a value indicating whether the given rectangle is contained within the region.
wxRegionContain Contains(const wxRect& rect) const
Returns a value indicating whether the given rectangle is contained within the region.
Return value
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.
wxBitmap ConvertToBitmap() const
Convert the region to a black and white bitmap with the white pixels being inside the region.
void GetBox(wxCoord& x, wxCoord& y, wxCoord& width, wxCoord& height) const
Returns the outer bounds of the region.
wxRect GetBox() const
Returns the outer bounds of the region.
bool Intersect(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
Finds the intersection of this region and another, rectangular region, specified using position and size.
bool Intersect(const wxRect& rect)
Finds the intersection of this region and another, rectangular region.
bool Intersect(const wxRegion& region)
Finds the intersection of this region and another region.
Return value
true if successful, false otherwise.
Remarks
Creates the intersection of the two regions, that is, the parts which are in both regions. The result is stored in this region.
bool IsEmpty() const
Returns true if the region is empty, false otherwise.
bool IsEqual(const wxRegion& region) const
Returns true if the region is equal to, i.e. covers the same area as, another one. Note that if both this region and region are invalid, they are considered to be equal.
bool Subtract(const wxRect& rect)
Subtracts a rectangular region from this region.
bool Subtract(const wxRegion& region)
Subtracts a region from this region.
Return value
true if successful, false otherwise.
Remarks
This operation combines the parts of 'this' region that are not part of the second region. The result is stored in this region.
bool Offset(wxCoord x, wxCoord y)
bool Offset(const wxPoint& pt)
Moves the region by the specified offsets in horizontal and vertical directions.
Return value
true if successful, false otherwise (the region is unchanged then).
bool Union(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
Finds the union of this region and another, rectangular region, specified using position and size.
bool Union(const wxRect& rect)
Finds the union of this region and another, rectangular region.
bool Union(const wxRegion& region)
Finds the union of this region and another region.
bool Union(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.
bool Union(const wxBitmap& bmp, const wxColour& transColour, 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 transColour argument, along with an optional colour tolerance value.
Return value
true if successful, false otherwise.
Remarks
This operation creates a region that combines all of this region and the second region. The result is stored in this region.
bool Xor(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
Finds the Xor of this region and another, rectangular region, specified using position and size.
bool Xor(const wxRect& rect)
Finds the Xor of this region and another, rectangular region.
bool Xor(const wxRegion& region)
Finds the Xor of this region and another region.
Return value
true if successful, false otherwise.
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.
void operator =(const wxRegion& region)
Assignment operator, using reference counting.