X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c801d85f158c4cba50b588807daabdcbd0ed3853..9199e66fb56bc80b81b91f59250df78d7197052e:/include/wx/gtk/region.h diff --git a/include/wx/gtk/region.h b/include/wx/gtk/region.h index 282904708a..0a88482937 100644 --- a/include/wx/gtk/region.h +++ b/include/wx/gtk/region.h @@ -2,9 +2,8 @@ // Name: region.h // Purpose: // Author: Robert Roebling -// Created: 01/02/97 -// Id: -// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem +// Id: $Id$ +// Copyright: (c) 1998 Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -56,15 +55,18 @@ class wxRegion : public wxGDIObject wxRegion( long x, long y, long w, long h ); wxRegion( const wxPoint& topLeft, const wxPoint& bottomRight ); wxRegion( const wxRect& rect ); - wxRegion(void); - ~wxRegion(void); + wxRegion(); + ~wxRegion(); - inline wxRegion( const wxRegion& r ) + inline wxRegion( const wxRegion& r ): wxGDIObject() { Ref(r); } inline wxRegion& operator = ( const wxRegion& r ) { Ref(r); return (*this); } - void Clear(void); + bool operator == ( const wxRegion& region ); + bool operator != ( const wxRegion& region ); + + void Clear(); bool Union( long x, long y, long width, long height ); bool Union( const wxRect& rect ); @@ -83,17 +85,53 @@ class wxRegion : public wxGDIObject bool Xor( const wxRegion& region ); void GetBox( long& x, long& y, long&w, long &h ) const; - wxRect GetBox(void) const ; + wxRect GetBox() const ; - bool Empty(void) const; + bool Empty() const; + bool IsEmpty() const { return Empty(); } wxRegionContain Contains( long x, long y ) const; wxRegionContain Contains( long x, long y, long w, long h ) const; + wxRegionContain Contains(const wxPoint& pt) const; + wxRegionContain Contains(const wxRect& rect) const; public: - - GdkRegion *GetRegion(void) const; + + wxList *GetRectList() const; + GdkRegion *GetRegion() const; }; +class wxRegionIterator: public wxObject +{ +public: + wxRegionIterator(); + wxRegionIterator(const wxRegion& region); + + void Reset() { m_current = 0; } + void Reset(const wxRegion& region); + + operator bool () const; + bool HaveRects() const; + + void operator ++ (); + void operator ++ (int); + + wxCoord GetX() const; + wxCoord GetY() const; + wxCoord GetW() const; + wxCoord GetWidth() const { return GetW(); } + wxCoord GetH() const; + wxCoord GetHeight() const { return GetH(); } + wxRect GetRect() const { return wxRect(GetX(), GetY(), GetWidth(), GetHeight()); } + +private: + long m_current; + wxRegion m_region; + +private: + DECLARE_DYNAMIC_CLASS(wxRegionIterator); +}; + + #endif // __REGIONH__