X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a1b806b98241ab649c169aaa1f134df85e80fb8b..refs/heads/master:/src/generic/renderg.cpp diff --git a/src/generic/renderg.cpp b/src/generic/renderg.cpp index 0601a60f38..4d411dd12d 100644 --- a/src/generic/renderg.cpp +++ b/src/generic/renderg.cpp @@ -4,7 +4,6 @@ // Author: Vadim Zeitlin // Modified by: // Created: 20.07.2003 -// RCS-ID: $Id$ // Copyright: (c) 2003 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -468,12 +467,20 @@ wxRendererGeneric::DrawTreeItemButton(wxWindow * WXUNUSED(win), dc.DrawRectangle(rect); + // Make sure that the sign is properly centered by always using an + // odd-sized rectangle for it. + wxRect signRect(rect); + if ( !(signRect.x % 2) ) + signRect.x--; + if ( !(signRect.y % 2) ) + signRect.y--; + // black lines - const wxCoord xMiddle = rect.x + rect.width/2; - const wxCoord yMiddle = rect.y + rect.height/2; + const wxCoord xMiddle = signRect.x + signRect.width/2; + const wxCoord yMiddle = signRect.y + signRect.height/2; // half of the length of the horz lines in "-" and "+" - const wxCoord halfWidth = rect.width/2 - 2; + const wxCoord halfWidth = signRect.width/2 - 2; dc.SetPen(*wxBLACK_PEN); dc.DrawLine(xMiddle - halfWidth, yMiddle, xMiddle + halfWidth + 1, yMiddle); @@ -481,7 +488,7 @@ wxRendererGeneric::DrawTreeItemButton(wxWindow * WXUNUSED(win), if ( !(flags & wxCONTROL_EXPANDED) ) { // turn "-" into "+" - const wxCoord halfHeight = rect.height/2 - 2; + const wxCoord halfHeight = signRect.height/2 - 2; dc.DrawLine(xMiddle, yMiddle - halfHeight, xMiddle, yMiddle + halfHeight + 1); }