+ return m_current < m_numRects;
+}
+
+wxRegionIterator& wxRegionIterator::operator ++ ()
+{
+ if (HaveRects())
+ ++m_current;
+
+ return *this;
+}
+
+wxRegionIterator wxRegionIterator::operator ++ (int)
+{
+ wxRegionIterator tmp = *this;
+
+ if (HaveRects())
+ ++m_current;
+
+ return tmp;
+}
+
+wxCoord wxRegionIterator::GetX() const
+{
+ wxCHECK_MSG( HaveRects(), 0, _T("invalid wxRegionIterator") );
+
+ return m_rects[m_current].x;
+}
+
+wxCoord wxRegionIterator::GetY() const
+{
+ wxCHECK_MSG( HaveRects(), 0, _T("invalid wxRegionIterator") );
+
+ return m_rects[m_current].y;
+}
+
+wxCoord wxRegionIterator::GetW() const
+{
+ wxCHECK_MSG( HaveRects(), 0, _T("invalid wxRegionIterator") );
+
+ return m_rects[m_current].width;
+}
+
+wxCoord wxRegionIterator::GetH() const
+{
+ wxCHECK_MSG( HaveRects(), 0, _T("invalid wxRegionIterator") );
+
+ return m_rects[m_current].height;
+}
+
+wxRect wxRegionIterator::GetRect() const
+{
+ wxRect r;
+ if( HaveRects() )
+ r = m_rects[m_current];
+
+ return r;
+}