#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 wxRect;
class WXDLLEXPORT wxPoint;
-enum wxRegionContain {
- wxOutRegion = 0, wxPartRegion = 1, wxInRegion = 2
-};
-
// So far, for internal use only
enum wxRegionOp {
wxRGN_AND, // Creates the intersection of the two combined regions.
wxRegion(const wxRect& rect);
wxRegion( WXHRGN hRegion );
wxRegion();
+ wxRegion( const wxBitmap& bmp)
+ {
+ Union(bmp);
+ }
wxRegion( const wxBitmap& bmp,
- const wxColour& transColour = wxNullColour,
- int tolerance = 0)
+ 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();
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);