fix off-by-one size of wxCheckListBox item draw rect

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60530 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2009-05-06 15:51:09 +00:00
parent fa9b55dfba
commit 6efda5fda4
2 changed files with 5 additions and 8 deletions

View File

@@ -740,11 +740,8 @@ bool wxListBox::MSWOnDraw(WXDRAWITEMSTRUCT *item)
wxListBoxItem *pItem = (wxListBoxItem *)m_aItems[pStruct->itemID];
wxDCTemp dc((WXHDC)pStruct->hDC);
wxPoint pt1(pStruct->rcItem.left, pStruct->rcItem.top);
wxPoint pt2(pStruct->rcItem.right, pStruct->rcItem.bottom);
wxRect rect(pt1, pt2);
return pItem->OnDrawItem(dc, rect,
return pItem->OnDrawItem(dc, wxRectFromRECT(pStruct->rcItem),
(wxOwnerDrawn::wxODAction)pStruct->itemAction,
(wxOwnerDrawn::wxODStatus)pStruct->itemState);
}

View File

@@ -379,8 +379,8 @@ bool wxOwnerDrawn::OnDrawItem(wxDC& dc,
AutoHBRUSH hbr(colBack);
SelectInHDC selBrush(hdc, hbr);
RECT rectFill = { rc.GetLeft(), rc.GetTop(),
rc.GetRight() + 1, rc.GetBottom() + 1 };
RECT rectFill;
wxCopyRectToRECT(rc, rectFill);
if ( (st & wxODSelected) && m_bmpChecked.Ok() && draw_bitmap_edge )
{
@@ -418,7 +418,7 @@ bool wxOwnerDrawn::OnDrawItem(wxDC& dc,
(LPARAM)strMenuText.wx_str(),
strMenuText.length(),
xText,
rc.y + (rc.GetHeight() - sizeRect.cy + 1)/2, // centre vertically
rc.y + (rc.height - sizeRect.cy) / 2, // centre vertically
rc.GetWidth() - margin,
sizeRect.cy,
flags
@@ -436,7 +436,7 @@ bool wxOwnerDrawn::OnDrawItem(wxDC& dc,
::DrawState(hdc, NULL, NULL,
(LPARAM)m_strAccel.wx_str(),
m_strAccel.length(),
rc.GetWidth()-16-accel_width, rc.y+(int) ((rc.GetHeight()-sizeRect.cy)/2.0),
rc.width - 16 - accel_width, rc.y + (rc.height - sizeRect.cy) / 2,
0, 0,
DST_TEXT |
(((st & wxODDisabled) && !(st & wxODSelected)) ? DSS_DISABLED : 0));