X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6dff0e2972552568ee5cf737c7aa0b1dc33df04a..b64e7047020ed19c55fb0179e849554d138d8b06:/src/common/dcbase.cpp diff --git a/src/common/dcbase.cpp b/src/common/dcbase.cpp index 4264c85ae1..9f875dd04d 100644 --- a/src/common/dcbase.cpp +++ b/src/common/dcbase.cpp @@ -698,6 +698,7 @@ void wxDCBase::DoGradientFillLinear(const wxRect& rect, { // save old pen wxPen oldPen = m_pen; + wxBrush oldBrush = m_brush; wxUint8 nR1 = initialColour.Red(); wxUint8 nG1 = initialColour.Green(); @@ -733,12 +734,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 +771,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); @@ -779,6 +784,7 @@ void wxDCBase::DoGradientFillLinear(const wxRect& rect, } SetPen(oldPen); + SetBrush(oldBrush); } void wxDCBase::DoGradientFillConcentric(const wxRect& rect,