]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mgl/dc.cpp
wxWindow::Enable now correctly has recursive effect (and maybe other fixes)
[wxWidgets.git] / src / mgl / dc.cpp
index 551f5420192001126b2134037d3d260e76ec76c7..babad279d20354b9186cae184908ecc078bf813a 100644 (file)
@@ -182,16 +182,9 @@ void wxDC::SetMGLDC(MGLDevCtx *mgldc, bool OwnsMGLDC)
     m_MGLDC = mgldc;
     m_OwnsMGLDC = OwnsMGLDC;
        m_ok = TRUE;
-    
-    if ( mgldc->getDC()->a.clipRegion )
-    {
-        MGLRegion clip;
-        mgldc->getClipRegion(clip);
-        m_globalClippingRegion = wxRegion(clip);
-        // FIXME_MGL -- reuse wxWindows::m_updateRegion ?
-        m_currentClippingRegion = m_globalClippingRegion;
-        m_clipping = TRUE;
-    }
+
+    if ( !m_globalClippingRegion.IsNull() )
+        SetClippingRegion(m_globalClippingRegion);
     
     InitializeMGLDC();
 }
@@ -288,7 +281,7 @@ void wxDC::DestroyClippingRegion()
     }
     else
     {
-        m_MGLDC->setClipRect(MGLRect(0, 0, m_MGLDC->sizex(), m_MGLDC->sizey()));
+        m_MGLDC->setClipRect(MGLRect(0, 0, m_MGLDC->sizex()+1, m_MGLDC->sizey()+1));
         m_clipping = FALSE;
         m_currentClippingRegion.Clear();
     }
@@ -380,8 +373,8 @@ void wxDC::DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
         m_MGLDC->makeCurrent(); // will go away with MGL6.0
         if ( !m_penSelected ) 
             SelectPen();
-        m_MGLDC->line(XLOG2DEV(x1) + m_penOfsX, XLOG2DEV(y1) + m_penOfsY, 
-                      XLOG2DEV(x2) + m_penOfsX, XLOG2DEV(y2) + m_penOfsY);
+        m_MGLDC->lineExt(XLOG2DEV(x1) + m_penOfsX, XLOG2DEV(y1) + m_penOfsY, 
+                      XLOG2DEV(x2) + m_penOfsX, XLOG2DEV(y2) + m_penOfsY,FALSE);
         CalcBoundingBox(x1, y1);
         CalcBoundingBox(x2, y2);
     }
@@ -1370,8 +1363,8 @@ wxCoord wxDCBase::LogicalToDeviceYRel(wxCoord y) const
 
 void wxDC::DoGetSize(int *w, int *h) const
 {
-    if (w) *w = m_MGLDC->sizex();
-    if (h) *h = m_MGLDC->sizey();
+    if (w) *w = m_MGLDC->sizex()+1;
+    if (h) *h = m_MGLDC->sizey()+1;
 }
 
 void wxDC::DoGetSizeMM(int *width, int *height) const