]> git.saurik.com Git - wxWidgets.git/commitdiff
fix off-by-one size of wxCheckListBox item draw rect
authorPaul Cornett <paulcor@bullseye.com>
Wed, 6 May 2009 15:51:09 +0000 (15:51 +0000)
committerPaul Cornett <paulcor@bullseye.com>
Wed, 6 May 2009 15:51:09 +0000 (15:51 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60530 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/listbox.cpp
src/msw/ownerdrw.cpp

index c732b395aca07c95ce5a370a767c4742577678b4..3e6b8a7612eb47f17c0fd49f2bac850459e66923 100644 (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);
 }
index 8cb39959788f1f4af2027eb2acba8e5e1f8dd33a..c1dbd9520700673398482ed780299f3ffc3e0f29 100644 (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));