]> git.saurik.com Git - wxWidgets.git/commitdiff
workaround for MGL's weirdness: won't render rectangles of w=1 or h=1
authorVáclav Slavík <vslavik@fastmail.fm>
Sat, 26 Jan 2002 00:24:16 +0000 (00:24 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Sat, 26 Jan 2002 00:24:16 +0000 (00:24 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mgl/dc.cpp

index d462c90486d5bcef085dcc43d26e471de786e4c3..e9a24c404e497a4208bc0f0c79dd5b88c2b4f205 100644 (file)
@@ -557,8 +557,16 @@ void wxDC::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
     {
         if ( !m_penSelected ) 
             SelectPen();
-        m_MGLDC->rect(xx + m_penOfsX, yy + m_penOfsY, 
-                      xx + ww + m_penOfsX, yy + hh + m_penOfsY);
+
+        // VS: MGLDC::rect() does not render rectangles that have width
+        //     or height equal to 1, so we have to use MGLDC::line()
+        //     instead...
+        if ( hh == 1 || ww == 1 )
+            m_MGLDC->line(xx + m_penOfsX, yy + m_penOfsY, 
+                          xx + ww-1 + m_penOfsX, yy + hh-1 + m_penOfsY);
+        else
+            m_MGLDC->rect(xx + m_penOfsX, yy + m_penOfsY, 
+                          xx + ww + m_penOfsX, yy + hh + m_penOfsY);
     }    
 
     CalcBoundingBox(x, y);