From 497b78dfacb5e739fe7da7869f3a92a2e2747dbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Sat, 26 Jan 2002 00:24:16 +0000 Subject: [PATCH] workaround for MGL's weirdness: won't render rectangles of w=1 or h=1 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/mgl/dc.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/mgl/dc.cpp b/src/mgl/dc.cpp index d462c90486..e9a24c404e 100644 --- a/src/mgl/dc.cpp +++ b/src/mgl/dc.cpp @@ -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);