]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/region.h
Initial review of various [q-r] by Utensil Candel.
[wxWidgets.git] / interface / region.h
index f279e8966b8775234c45866dae49c4977d2adddf..a9f96cf2f57790f9b6f3b0a3241698d2237eeaf2 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        region.h
-// Purpose:     documentation for wxRegionIterator class
+// Purpose:     interface of wxRegionIterator
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Licence:     wxWindows license
@@ -9,21 +9,23 @@
 /**
     @class wxRegionIterator
     @wxheader{region.h}
-    
+
     This class is used to iterate through the rectangles in a region,
     typically when examining the damaged regions of a window within an OnPaint call.
-    
+
     To use it, construct an iterator object on the stack and loop through the
     regions, testing the object and incrementing the iterator at the end of the
     loop.
-    
+
     See wxPaintEvent for an example of use.
-    
+
     @library{wxcore}
-    @category{FIXME}
-    
-    @seealso
-    wxPaintEvent
+    @category{gdi}
+
+    @stdobjects
+    ::wxNullRegion
+
+    @see wxPaintEvent
 */
 class wxRegionIterator : public wxObject
 {
@@ -33,55 +35,55 @@ public:
         Creates an iterator object given a region.
     */
     wxRegionIterator();
-        wxRegionIterator(const wxRegion& region);
+    wxRegionIterator(const wxRegion& region);
     //@}
 
     /**
         An alias for GetHeight.
     */
-#define wxCoord GetH()     /* implementation is private */
+    wxCoord GetH() const;
 
     /**
         Returns the height value for the current region.
     */
-    wxCoord GetHeight();
+    wxCoord GetHeight() const;
 
     /**
         Returns the current rectangle.
     */
-    wxRect GetRect();
+    wxRect GetRect() const;
 
     /**
         An alias for GetWidth.
     */
-#define wxCoord GetW()     /* implementation is private */
+    wxCoord GetW() const;
 
     /**
         Returns the width value for the current region.
     */
-    wxCoord GetWidth();
+    wxCoord GetWidth() const;
 
     /**
         Returns the x value for the current region.
     */
-#define wxCoord GetX()     /* implementation is private */
+    wxCoord GetX() const;
 
     /**
         Returns the y value for the current region.
     */
-#define wxCoord GetY()     /* implementation is private */
+    wxCoord GetY() const;
 
     /**
         Returns @true if there are still some rectangles; otherwise returns @false.
     */
-    bool HaveRects();
+    bool HaveRects() const;
 
     //@{
     /**
         Resets the iterator to the given region.
     */
     void Reset();
-        void Reset(const wxRegion& region);
+    void Reset(const wxRegion& region);
     //@}
 
     /**
@@ -91,31 +93,30 @@ public:
 
     /**
         Returns @true if there are still some rectangles; otherwise returns @false.
-        
         You can use this to test the iterator object as if it were of type bool.
     */
-     operator bool();
+    operator bool() const;
 };
 
 
+
 /**
     @class wxRegion
     @wxheader{region.h}
-    
+
     A wxRegion represents a simple or complex region on a device context or window.
-    
+
     This class uses @ref overview_trefcount "reference counting and copy-on-write"
     internally so that assignments between two instances of this class are very
     cheap. You can therefore use actual objects instead of pointers without
     efficiency problems. If an instance of this class is changed it will create
     its own data internally so that other instances, which previously shared the
     data using the reference counting, are not affected.
-    
+
     @library{wxcore}
-    @category{data}
-    
-    @seealso
-    wxRegionIterator
+    @category{data,gdi}
+
+    @see wxRegionIterator
 */
 class wxRegion : public wxGDIObject
 {
@@ -126,15 +127,15 @@ public:
         Union() for more details.
     */
     wxRegion();
-        wxRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
-        wxRegion(const wxPoint& topLeft, const wxPoint& bottomRight);
-        wxRegion(const wxRect& rect);
-        wxRegion(const wxRegion& region);
-        wxRegion(size_t n, const wxPoint points,
-                 int fillStyle = wxWINDING_RULE);
-        wxRegion(const wxBitmap& bmp);
-        wxRegion(const wxBitmap& bmp, const wxColour& transColour,
-                 int tolerance = 0);
+    wxRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
+    wxRegion(const wxPoint& topLeft, const wxPoint& bottomRight);
+    wxRegion(const wxRect& rect);
+    wxRegion(const wxRegion& region);
+    wxRegion(size_t n, const wxPoint points,
+             int fillStyle = wxWINDING_RULE);
+    wxRegion(const wxBitmap& bmp);
+    wxRegion(const wxBitmap& bmp, const wxColour& transColour,
+             int tolerance = 0);
     //@}
 
     /**
@@ -153,121 +154,121 @@ public:
     /**
         Returns a value indicating whether the given rectangle is contained within the
         region.
-        
+
         @returns The return value is one of wxOutRegion, wxPartRegion and
-                   wxInRegion.
+                 wxInRegion.
     */
-    wxRegionContain Contains(long& x, long& y);
-        wxRegionContain Contains(const wxPoint& pt);
-        wxRegionContain Contains(long& x, long& y,
-                                 long& width,
-                                 long& height);
-        wxRegionContain Contains(const wxRect& rect);
+    wxRegionContain Contains(long& x, long& y) const;
+    const wxRegionContain Contains(const wxPoint& pt) const;
+    const wxRegionContain Contains(long& x, long& y,
+                                   long& width,
+                                   long& height) const;
+    const wxRegionContain Contains(const wxRect& rect) const;
     //@}
 
     /**
         Convert the region to a black and white bitmap with the white pixels
         being inside the region.
     */
-    wxBitmap ConvertToBitmap();
+    wxBitmap ConvertToBitmap() const;
 
     //@{
     /**
         Returns the outer bounds of the region.
     */
     void GetBox(wxCoord& x, wxCoord& y, wxCoord& width,
-                wxCoord& height);
-        wxRect GetBox();
+                wxCoord& height) const;
+    const wxRect  GetBox() const;
     //@}
 
     //@{
     /**
         Finds the intersection of this region and another region.
-        
+
         @returns @true if successful, @false otherwise.
-        
+
         @remarks Creates the intersection of the two regions, that is, the parts
-                   which are in both regions. The result is stored in
-                   this region.
+                 which are in both regions. The result is stored in this
+                 region.
     */
     bool Intersect(wxCoord x, wxCoord y, wxCoord width,
                    wxCoord height);
-        bool Intersect(const wxRect& rect);
-        bool Intersect(const wxRegion& region);
+    bool Intersect(const wxRect& rect);
+    bool Intersect(const wxRegion& region);
     //@}
 
     /**
         Returns @true if the region is empty, @false otherwise.
     */
-    bool IsEmpty();
+    bool IsEmpty() const;
 
     /**
         Returns @true if the region is equal to, i.e. covers the same area as,
-        another one. Note that if both this region and @e region are invalid, they
+        another one. Note that if both this region and @a region are invalid, they
         are considered to be equal.
     */
-    bool IsEqual(const wxRegion& region);
+    bool IsEqual(const wxRegion& region) const;
 
     //@{
     /**
         Moves the region by the specified offsets in horizontal and vertical
         directions.
-        
+
         @returns @true if successful, @false otherwise (the region is unchanged
-                   then).
+                 then).
     */
     bool Offset(wxCoord x, wxCoord y);
-        bool Offset(const wxPoint& pt);
+    bool Offset(const wxPoint& pt);
     //@}
 
     //@{
     /**
         Subtracts a region from this region.
-        
+
         @returns @true if successful, @false otherwise.
-        
+
         @remarks This operation combines the parts of 'this' region that are not
-                   part of the second region. The result is stored in
-                   this region.
+                 part of the second region. The result is stored in this
+                 region.
     */
     bool Subtract(const wxRect& rect);
-        bool Subtract(const wxRegion& region);
+    bool Subtract(const wxRegion& region);
     //@}
 
     //@{
     /**
         Finds the union of this region and the non-transparent pixels of a
         bitmap. Colour to be treated as transparent is specified in the
-        @e transColour argument, along with an
+        @a transColour argument, along with an
         optional colour tolerance value.
-        
+
         @returns @true if successful, @false otherwise.
-        
+
         @remarks This operation creates a region that combines all of this region
-                   and the second region. The result is stored in this
-                   region.
+                 and the second region. The result is stored in this
+                 region.
     */
     bool Union(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
-        bool Union(const wxRect& rect);
-        bool Union(const wxRegion& region);
-        bool Union(const wxBitmap& bmp);
-        bool Union(const wxBitmap& bmp, const wxColour& transColour,
-                   int tolerance = 0);
+    bool Union(const wxRect& rect);
+    bool Union(const wxRegion& region);
+    bool Union(const wxBitmap& bmp);
+    bool Union(const wxBitmap& bmp, const wxColour& transColour,
+               int tolerance = 0);
     //@}
 
     //@{
     /**
         Finds the Xor of this region and another region.
-        
+
         @returns @true if successful, @false otherwise.
-        
+
         @remarks This operation creates a region that combines all of this region
-                   and the second region, except for any overlapping
-                   areas. The result is stored in this region.
+                 and the second region, except for any overlapping
+                 areas. The result is stored in this region.
     */
     bool Xor(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
-        bool Xor(const wxRect& rect);
-        bool Xor(const wxRegion& region);
+    bool Xor(const wxRect& rect);
+    bool Xor(const wxRegion& region);
     //@}
 
     /**
@@ -275,3 +276,4 @@ public:
     */
     void operator =(const wxRegion& region);
 };
+