]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/region.cpp
The code in wxMac's listbox was too ambitious in filtering
[wxWidgets.git] / src / mac / region.cpp
index 5c01ddd438b31c848d782db2e7d34e2c1d59fcc2..315b966927af0e6d304a99617f9fa65bdb14a3fd 100644 (file)
 
 #include "wx/region.h"
 #include "wx/gdicmn.h"
 
 #include "wx/region.h"
 #include "wx/gdicmn.h"
+#include "wx/mac/uma.h"
 
 
+#if !USE_SHARED_LIBRARY
        IMPLEMENT_DYNAMIC_CLASS(wxRegion, wxGDIObject)
        IMPLEMENT_DYNAMIC_CLASS(wxRegionIterator, wxObject)
        IMPLEMENT_DYNAMIC_CLASS(wxRegion, wxGDIObject)
        IMPLEMENT_DYNAMIC_CLASS(wxRegionIterator, wxObject)
+#endif
 
 //-----------------------------------------------------------------------------
 // wxRegionRefData implementation
 
 //-----------------------------------------------------------------------------
 // wxRegionRefData implementation
@@ -191,11 +194,12 @@ bool wxRegion::Combine(const wxRect& rect, wxRegionOp op)
 //-----------------------------------------------------------------------------
 
 // Outer bounds of region
 //-----------------------------------------------------------------------------
 
 // Outer bounds of region
-void wxRegion::GetBox(long& x, long& y, long&w, long &h) const
+void wxRegion::GetBox(wxCoord& x, wxCoord& y, wxCoord& w, wxCoord& h) const
 {
        if (m_refData) 
        {
 {
        if (m_refData) 
        {
-               Rect box = (**M_REGION).rgnBBox ;
+               Rect box ;
+               GetRegionBounds( M_REGION , &box ) ;
         x = box.left ;
         y = box.top ;
         w = box.right - box.left ;
         x = box.left ;
         y = box.top ;
         w = box.right - box.left ;
@@ -209,7 +213,7 @@ void wxRegion::GetBox(long& x, long& y, long&w, long &h) const
 
 wxRect wxRegion::GetBox() const
 {
 
 wxRect wxRegion::GetBox() const
 {
-    long x, y, w, h;
+    wxCoord x, y, w, h;
     GetBox(x, y, w, h);
     return wxRect(x, y, w, h);
 }
     GetBox(x, y, w, h);
     return wxRect(x, y, w, h);
 }
@@ -329,7 +333,8 @@ void wxRegionIterator::Reset(const wxRegion& region)
     {
        // we cannot dissolve it into rects on mac
         m_rects = new wxRect[1];
     {
        // we cannot dissolve it into rects on mac
         m_rects = new wxRect[1];
-        Rect rect = (**OTHER_M_REGION( region )).rgnBBox ;
+               Rect rect ;
+               GetRegionBounds( OTHER_M_REGION( region ) , &rect ) ;
         m_rects[0].x = rect.left;
         m_rects[0].y = rect.top;
         m_rects[0].width = rect.right - rect.left;
         m_rects[0].x = rect.left;
         m_rects[0].y = rect.top;
         m_rects[0].width = rect.right - rect.left;