git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			92 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/cocoa/region.h
 | |
| // Purpose:     wxRegion class
 | |
| // Author:      David Elliott
 | |
| // Modified by: 
 | |
| // Created:     2004/04/12
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) 2004 David Elliott
 | |
| // Licence:   	wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _WX_COCOA_REGION_H__
 | |
| #define _WX_COCOA_REGION_H__
 | |
| 
 | |
| #include "wx/generic/region.h"
 | |
| 
 | |
| typedef struct _NSRect NSRect;
 | |
| 
 | |
| class WXDLLEXPORT wxRegion : public wxRegionGeneric
 | |
| {
 | |
|     DECLARE_DYNAMIC_CLASS(wxRegion);
 | |
| public:
 | |
|     wxRegion(wxCoord x, wxCoord y, wxCoord w, wxCoord h)
 | |
|     :   wxRegionGeneric(x,y,w,h)
 | |
|     {}
 | |
|     wxRegion(const wxPoint& topLeft, const wxPoint& bottomRight)
 | |
|     :   wxRegionGeneric(topLeft, bottomRight)
 | |
|     {}
 | |
|     wxRegion(const wxRect& rect)
 | |
|     :   wxRegionGeneric(rect)
 | |
|     {}
 | |
|     wxRegion() {}
 | |
|     wxRegion(const wxBitmap& bmp)
 | |
|     :   wxRegionGeneric()
 | |
|         { Union(bmp); }
 | |
|     wxRegion(const wxBitmap& bmp,
 | |
|              const wxColour& transColour, int tolerance = 0)
 | |
|     :   wxRegionGeneric()
 | |
|         { Union(bmp, transColour, tolerance); }
 | |
|     ~wxRegion() {}
 | |
|     wxRegion(const wxRegion& r)
 | |
|     :   wxRegionGeneric(r)
 | |
|     {}
 | |
|     wxRegion& operator= (const wxRegion& r)
 | |
|     {   return *(wxRegion*)&(this->wxRegionGeneric::operator=(r)); }
 | |
| 
 | |
|     // Cocoa-specific creation
 | |
|     wxRegion(const NSRect& rect);
 | |
|     wxRegion(const NSRect *rects, int count);
 | |
| 
 | |
|     // Use the non-transparent pixels of a wxBitmap for the region to combine
 | |
|     // 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, 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;
 | |
| 
 | |
| };
 | |
| 
 | |
| class WXDLLEXPORT wxRegionIterator : public wxRegionIteratorGeneric
 | |
| {
 | |
| //    DECLARE_DYNAMIC_CLASS(wxRegionIteratorGeneric);
 | |
| public:
 | |
|     wxRegionIterator() {}
 | |
|     wxRegionIterator(const wxRegion& region)
 | |
|     :   wxRegionIteratorGeneric(region)
 | |
|     {}
 | |
|     wxRegionIterator(const wxRegionIterator& iterator)
 | |
|     :   wxRegionIteratorGeneric(iterator)
 | |
|     {}
 | |
|     ~wxRegionIterator() {}
 | |
| 
 | |
|     wxRegionIterator& operator=(const wxRegionIterator& iter)
 | |
|     {   return *(wxRegionIterator*)&(this->wxRegionIteratorGeneric::operator=(iter)); }
 | |
| };
 | |
| 
 | |
| #endif //ndef _WX_COCOA_REGION_H__
 |