]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mgl/dc.cpp
warning fixes in GetColor() for the newly added values
[wxWidgets.git] / src / mgl / dc.cpp
index 692ac021d420f8f06e7b6ccf1324cb327aa49a2b..e9a24c404e497a4208bc0f0c79dd5b88c2b4f205 100644 (file)
 // constants
 //-----------------------------------------------------------------------------
 
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
 const double mm2inches      = 0.0393700787402;
 const double inches2mm      = 25.4;
 const double mm2twips       = 56.6929133859;
@@ -553,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);
@@ -1097,7 +1109,8 @@ void wxDC::SetPalette(const wxPalette& palette)
     
     if ( palette == wxNullPalette )
     {
-        SetPalette(m_oldPalette);
+        if ( m_oldPalette.Ok() )
+            SetPalette(m_oldPalette);
         return;
     }