Improve drawing of the tree item buttons in the generic renderer.
Draw the "-" and "+" signs always properly centered. Closes #15526. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
866a7cd7ca
commit
bddab017c6
@ -467,12 +467,20 @@ wxRendererGeneric::DrawTreeItemButton(wxWindow * WXUNUSED(win),
|
|||||||
|
|
||||||
dc.DrawRectangle(rect);
|
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
|
// black lines
|
||||||
const wxCoord xMiddle = rect.x + rect.width/2;
|
const wxCoord xMiddle = signRect.x + signRect.width/2;
|
||||||
const wxCoord yMiddle = rect.y + rect.height/2;
|
const wxCoord yMiddle = signRect.y + signRect.height/2;
|
||||||
|
|
||||||
// half of the length of the horz lines in "-" and "+"
|
// 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.SetPen(*wxBLACK_PEN);
|
||||||
dc.DrawLine(xMiddle - halfWidth, yMiddle,
|
dc.DrawLine(xMiddle - halfWidth, yMiddle,
|
||||||
xMiddle + halfWidth + 1, yMiddle);
|
xMiddle + halfWidth + 1, yMiddle);
|
||||||
@ -480,7 +488,7 @@ wxRendererGeneric::DrawTreeItemButton(wxWindow * WXUNUSED(win),
|
|||||||
if ( !(flags & wxCONTROL_EXPANDED) )
|
if ( !(flags & wxCONTROL_EXPANDED) )
|
||||||
{
|
{
|
||||||
// turn "-" into "+"
|
// turn "-" into "+"
|
||||||
const wxCoord halfHeight = rect.height/2 - 2;
|
const wxCoord halfHeight = signRect.height/2 - 2;
|
||||||
dc.DrawLine(xMiddle, yMiddle - halfHeight,
|
dc.DrawLine(xMiddle, yMiddle - halfHeight,
|
||||||
xMiddle, yMiddle + halfHeight + 1);
|
xMiddle, yMiddle + halfHeight + 1);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user