// Created: 1998-01-01
// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#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); }
+ virtual ~wxRegion();
//# Modify region
// Clear current region
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);
wxRegionIterator();
wxRegionIterator(const wxRegion& region);
wxRegionIterator(const wxRegionIterator& iterator);
- ~wxRegionIterator();
+ virtual ~wxRegionIterator();
wxRegionIterator& operator=(const wxRegionIterator& iterator);