+wxRegionIterator::operator bool () const
+{
+ return m_current < (size_t)m_region.GetRectList()->Number();
+}
+
+bool wxRegionIterator::HaveRects() const
+{
+ return m_current < (size_t)m_region.GetRectList()->Number();
+}
+
+void wxRegionIterator::operator ++ ()
+{
+ if (m_current < (size_t)m_region.GetRectList()->Number()) ++m_current;
+}
+
+void wxRegionIterator::operator ++ (int)
+{
+ if (m_current < (size_t)m_region.GetRectList()->Number()) ++m_current;
+}
+
+wxCoord wxRegionIterator::GetX() const
+{
+ wxNode *node = m_region.GetRectList()->Nth( m_current );
+ if (!node) return 0;
+ wxRect *r = (wxRect*)node->Data();
+ return r->x;
+}
+
+wxCoord wxRegionIterator::GetY() const
+{
+ wxNode *node = m_region.GetRectList()->Nth( m_current );
+ if (!node) return 0;
+ wxRect *r = (wxRect*)node->Data();
+ return r->y;
+}
+
+wxCoord wxRegionIterator::GetW() const
+{
+ wxNode *node = m_region.GetRectList()->Nth( m_current );
+ if (!node) return 0;
+ wxRect *r = (wxRect*)node->Data();
+ return r->width;
+}
+
+wxCoord wxRegionIterator::GetH() const
+{
+ wxNode *node = m_region.GetRectList()->Nth( m_current );
+ if (!node) return 0;
+ wxRect *r = (wxRect*)node->Data();
+ return r->height;
+}
+
+