Listview O7
Dimitrie O. Paun
dpaun at rogers.com
Fri Oct 11 13:37:49 CDT 2002
ChangeLog
Use the item box rather than the bounds when invalidating
Implement 'bPartial' in EnsureVisible.
--- dlls/comctl32/listview.c.O6 Fri Oct 11 13:57:53 2002
+++ dlls/comctl32/listview.c Fri Oct 11 14:36:19 2002
@@ -866,10 +866,9 @@
}
#define LISTVIEW_InvalidateItem(infoPtr, nItem) do { \
- RECT rcItem; \
- rcItem.left = LVIR_BOUNDS; \
- if(LISTVIEW_GetItemRect(infoPtr, nItem, &rcItem)) \
- LISTVIEW_InvalidateRect(infoPtr, &rcItem); \
+ RECT rcBox; \
+ if(LISTVIEW_GetItemBox(infoPtr, nItem, &rcBox)) \
+ LISTVIEW_InvalidateRect(infoPtr, &rcBox); \
} while (0)
#define LISTVIEW_InvalidateList(infoPtr)\
@@ -4102,12 +4101,12 @@
INT nVertAdjust = 0;
INT nHorzDiff = 0;
INT nVertDiff = 0;
- RECT rcItem;
-
- /* FIXME: ALWAYS bPartial == FALSE, FOR NOW! */
+ RECT rcItem, rcTemp;
rcItem.left = LVIR_BOUNDS;
if (!LISTVIEW_GetItemRect(infoPtr, nItem, &rcItem)) return FALSE;
+
+ if (bPartial && IntersectRect(&rcTemp, &infoPtr->rcList, &rcItem)) return TRUE;
if (rcItem.left < infoPtr->rcList.left || rcItem.right > infoPtr->rcList.right)
{
More information about the wine-patches
mailing list