]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dcbase.cpp
another GradientFillLinear fix
[wxWidgets.git] / src / common / dcbase.cpp
index 4264c85ae1f574bd041e34a52e12fecc735db77b..1475923953e7e33d1cd7aa74fc276bdb5d394b75 100644 (file)
@@ -733,12 +733,14 @@ void wxDCBase::DoGradientFillLinear(const wxRect& rect,
             else
                 nB = nB1 + (nB2-nB1)*(w-x)/w;
 
-            SetPen(wxPen(wxColour(nR, nG, nB), 1, wxSOLID));
+           wxColour colour(nR,nG,nB);
+            SetPen(wxPen(colour, 1, wxSOLID));
+            SetBrush(wxBrush(colour));
             if(nDirection == wxEAST)
-                DrawRectangle(rect.GetLeft()+x, rect.GetTop(),
+                DrawRectangle(rect.GetRight()-x-xDelta, rect.GetTop(),
                         xDelta, rect.GetHeight());
             else //nDirection == wxWEST
-                DrawRectangle(rect.GetRight()-x-xDelta, rect.GetTop(),
+                DrawRectangle(rect.GetLeft()+x, rect.GetTop(),
                         xDelta, rect.GetHeight());
         }
     }
@@ -768,7 +770,9 @@ void wxDCBase::DoGradientFillLinear(const wxRect& rect,
             else
                 nB = nB1 + (nB2-nB1)*(w-y)/w;
 
-            SetPen(wxPen(wxColour(nR, nG, nB), 1, wxSOLID));
+           wxColour colour(nR,nG,nB);
+            SetPen(wxPen(colour, 1, wxSOLID));
+            SetBrush(wxBrush(colour));
             if(nDirection == wxNORTH)
                 DrawRectangle(rect.GetLeft(), rect.GetTop()+y,
                         rect.GetWidth(), yDelta);