X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/53dbce233842a3d986e33e6b83a36ce34fd5ae23..6b30ffedb18b86329fdc41ac1be27bc85bd758ff:/include/wx/cocoa/region.h diff --git a/include/wx/cocoa/region.h b/include/wx/cocoa/region.h index 287217ff24..de34bbf747 100644 --- a/include/wx/cocoa/region.h +++ b/include/wx/cocoa/region.h @@ -2,11 +2,11 @@ // Name: wx/cocoa/region.h // Purpose: wxRegion class // Author: David Elliott -// Modified by: +// Modified by: // Created: 2004/04/12 // RCS-ID: $Id$ // Copyright: (c) 2004 David Elliott -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_COCOA_REGION_H__ @@ -14,9 +14,14 @@ #include "wx/generic/region.h" -class WXDLLEXPORT wxRegion : public wxRegionGeneric +#if defined(__LP64__) || defined(NS_BUILD_32_LIKE_64) +typedef struct CGRect NSRect; +#else +typedef struct _NSRect NSRect; +#endif + +class WXDLLIMPEXP_CORE wxRegion : public wxRegionGeneric { - DECLARE_DYNAMIC_CLASS(wxRegion); public: wxRegion(wxCoord x, wxCoord y, wxCoord w, wxCoord h) : wxRegionGeneric(x,y,w,h) @@ -28,44 +33,29 @@ public: : wxRegionGeneric(rect) {} wxRegion() {} + wxRegion(const wxBitmap& bmp) + : wxRegionGeneric() + { Union(bmp); } wxRegion(const wxBitmap& bmp, - const wxColour& transColour = wxNullColour, - int tolerance = 0) + const wxColour& transColour, int tolerance = 0) : wxRegionGeneric() - { - Union(bmp, transColour, tolerance); - } - ~wxRegion() {} + { Union(bmp, transColour, tolerance); } + virtual ~wxRegion() {} wxRegion(const wxRegion& r) : wxRegionGeneric(r) {} wxRegion& operator= (const wxRegion& r) { return *(wxRegion*)&(this->wxRegionGeneric::operator=(r)); } - // 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, - // along with an optional tolerance value. - // NOTE: implemented in common/rgncmn.cpp - bool Union(const wxBitmap& bmp, - const wxColour& transColour = wxNullColour, - int tolerance = 0); - /* And because of function hiding: */ - bool Union(long x, long y, long width, long height) - { return wxRegionGeneric::Union(x,y,width,height); } - bool Union(const wxRect& rect) - { return wxRegionGeneric::Union(rect); } - bool Union(const wxRegion& region) - { return wxRegionGeneric::Union(region); } - - // Convert the region to a B&W bitmap with the black pixels being inside - // the region. - // NOTE: implemented in common/rgncmn.cpp - wxBitmap ConvertToBitmap() const; + // Cocoa-specific creation + wxRegion(const NSRect& rect); + wxRegion(const NSRect *rects, int count); +private: + DECLARE_DYNAMIC_CLASS(wxRegion); }; -class WXDLLEXPORT wxRegionIterator : public wxRegionIteratorGeneric +class WXDLLIMPEXP_CORE wxRegionIterator : public wxRegionIteratorGeneric { // DECLARE_DYNAMIC_CLASS(wxRegionIteratorGeneric); public: @@ -76,10 +66,11 @@ public: wxRegionIterator(const wxRegionIterator& iterator) : wxRegionIteratorGeneric(iterator) {} - ~wxRegionIterator() {} + virtual ~wxRegionIterator() {} wxRegionIterator& operator=(const wxRegionIterator& iter) { return *(wxRegionIterator*)&(this->wxRegionIteratorGeneric::operator=(iter)); } }; -#endif //ndef _WX_COCOA_REGION_H__ +#endif + //ndef _WX_COCOA_REGION_H__