#ifndef _WX_REGION_H_
#define _WX_REGION_H_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "region.h"
-#endif
-
#include "wx/list.h"
#include "wx/gdiobj.h"
#include "wx/gdicmn.h"
};
class WXDLLEXPORT wxRegion : public wxGDIObject {
-DECLARE_DYNAMIC_CLASS(wxRegion);
+DECLARE_DYNAMIC_CLASS(wxRegion)
friend class WXDLLEXPORT wxRegionIterator;
public:
wxRegion(long x, long y, long w, long h);
wxRegion(const wxPoint& topLeft, const wxPoint& bottomRight);
wxRegion(const wxRect& rect);
wxRegion( WXHRGN hRegion );
+ wxRegion(size_t n, const wxPoint *points, int fillStyle = wxODDEVEN_RULE );
wxRegion();
- wxRegion( const wxBitmap& bmp,
- const wxColour& transColour = wxNullColour,
- int tolerance = 0)
+ wxRegion(const wxBitmap& bmp)
+ {
+ Union(bmp);
+ }
+ wxRegion(const wxBitmap& bmp,
+ const wxColour& transColour, int tolerance = 0)
{
Union(bmp, transColour, tolerance);
}
~wxRegion();
- //# Copying
- wxRegion(const wxRegion& r)
- : wxGDIObject()
- { Ref(r); }
- wxRegion& operator = (const wxRegion& r)
- { Ref(r); return (*this); }
-
//# Modify region
// Clear current region
void Clear();
+ // Move the region
+ bool Offset(wxCoord x, wxCoord y);
+
// Union rectangle or region with this.
bool Union(long x, long y, long width, long height)
{ return Combine(x, y, width, height, wxRGN_OR); }
wxBitmap ConvertToBitmap() const;
// Use the non-transparent pixels of a wxBitmap for the region to combine
- // with this region. If the bitmap has a mask then it will be used,
- // otherwise the colour to be treated as transparent may be specified,
+ // with this region. First version takes transparency from bitmap's mask,
+ // second lets the user specify the colour to be treated as transparent
// along with an optional tolerance value.
+ // NOTE: implemented in common/rgncmn.cpp
+ bool Union(const wxBitmap& bmp);
bool Union(const wxBitmap& bmp,
- const wxColour& transColour = wxNullColour,
- int tolerance = 0);
+ const wxColour& transColour, int tolerance = 0);
// Internal
bool Combine(long x, long y, long width, long height, wxRegionOp op);