#ifndef _WX_REGION_H_BASE_
#define _WX_REGION_H_BASE_
-#include "wx/bitmap.h"
#include "wx/gdiobj.h"
#include "wx/gdicmn.h"
-class WXDLLEXPORT wxColour;
-class WXDLLEXPORT wxRegion;
+class WXDLLIMPEXP_FWD_CORE wxBitmap;
+class WXDLLIMPEXP_FWD_CORE wxColour;
+class WXDLLIMPEXP_FWD_CORE wxRegion;
// ----------------------------------------------------------------------------
// constants
// wxRegionBase defines wxRegion API
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxRegionBase : public wxGDIObject
+class WXDLLIMPEXP_CORE wxRegionBase : public wxGDIObject
{
public:
// ctors
// accessors
// ---------
- bool Ok() const { return IsOk(); }
- bool IsOk() const { return m_refData != NULL; }
-
// Is region empty?
virtual bool IsEmpty() const = 0;
bool Empty() const { return IsEmpty(); }
#define wxHAS_REGION_COMBINE
-class WXDLLEXPORT wxRegionWithCombine : public wxRegionBase
+class WXDLLIMPEXP_CORE wxRegionWithCombine : public wxRegionBase
{
public:
// these methods are not part of public API as they're not implemented on
virtual bool DoCombine(const wxRegion& region, wxRegionOp op) = 0;
// implement some wxRegionBase pure virtuals in terms of Combine()
- virtual bool DoUnionWithRect(const wxRect& rect)
- { return Combine(rect, wxRGN_OR); }
- virtual bool DoUnionWithRegion(const wxRegion& region)
- { return Combine(region, wxRGN_OR); }
-
- virtual bool DoIntersect(const wxRegion& region)
- { return Combine(region, wxRGN_AND); }
- virtual bool DoSubtract(const wxRegion& region)
- { return Combine(region, wxRGN_DIFF); }
- virtual bool DoXor(const wxRegion& region)
- { return Combine(region, wxRGN_XOR); }
+ virtual bool DoUnionWithRect(const wxRect& rect);
+ virtual bool DoUnionWithRegion(const wxRegion& region);
+ virtual bool DoIntersect(const wxRegion& region);
+ virtual bool DoSubtract(const wxRegion& region);
+ virtual bool DoXor(const wxRegion& region);
};
#endif // ports with wxRegion::Combine()