No need to go through the heavy duty rect computation when in OWNERDRAW.

This commit is contained in:
Dimitrie O. Paun 2002-10-10 03:01:10 +00:00 committed by Alexandre Julliard
parent a625dd394d
commit bbf878ded6

View File

@ -1340,7 +1340,8 @@ static BOOL LISTVIEW_GetItemMeasures(LISTVIEW_INFO *infoPtr, INT nItem,
if (uView == LVS_REPORT) doIcon = TRUE; if (uView == LVS_REPORT) doIcon = TRUE;
else doLabel = TRUE; else doLabel = TRUE;
} }
if (uView == LVS_ICON && infoPtr->bFocus && if (uView == LVS_ICON && infoPtr->bFocus &&
!(infoPtr->dwStyle & LVS_OWNERDRAWFIXED) &&
LISTVIEW_GetItemState(infoPtr, nItem, LVIS_FOCUSED)) LISTVIEW_GetItemState(infoPtr, nItem, LVIS_FOCUSED))
oversizedBox = doLabel = TRUE; oversizedBox = doLabel = TRUE;
if (lprcLabel) doLabel = TRUE; if (lprcLabel) doLabel = TRUE;
@ -1411,8 +1412,13 @@ static BOOL LISTVIEW_GetItemMeasures(LISTVIEW_INFO *infoPtr, INT nItem,
if (doLabel) if (doLabel)
{ {
SIZE labelSize = { 0, 0 }; SIZE labelSize = { 0, 0 };
if (is_textT(lvItem.pszText, TRUE)) if (infoPtr->dwStyle & LVS_OWNERDRAWFIXED)
{
labelSize.cx = infoPtr->nItemWidth;
labelSize.cy = infoPtr->nItemHeight;
}
else if (is_textT(lvItem.pszText, TRUE))
{ {
HFONT hFont = infoPtr->hFont ? infoPtr->hFont : infoPtr->hDefaultFont; HFONT hFont = infoPtr->hFont ? infoPtr->hFont : infoPtr->hDefaultFont;
HDC hdc = GetDC(infoPtr->hwndSelf); HDC hdc = GetDC(infoPtr->hwndSelf);
@ -1450,7 +1456,10 @@ static BOOL LISTVIEW_GetItemMeasures(LISTVIEW_INFO *infoPtr, INT nItem,
Label.top = Box.top + ICON_TOP_PADDING_HITABLE + Label.top = Box.top + ICON_TOP_PADDING_HITABLE +
infoPtr->iconSize.cy + ICON_BOTTOM_PADDING; infoPtr->iconSize.cy + ICON_BOTTOM_PADDING;
Label.right = Label.left + labelSize.cx; Label.right = Label.left + labelSize.cx;
Label.bottom = Label.top + labelSize.cy + HEIGHT_PADDING; if (infoPtr->dwStyle & LVS_OWNERDRAWFIXED)
Label.bottom = Label.top + infoPtr->nItemHeight;
else
Label.bottom = Label.top + labelSize.cy + HEIGHT_PADDING;
} }
else /* LVS_SMALLICON, LVS_LIST or LVS_REPORT */ else /* LVS_SMALLICON, LVS_LIST or LVS_REPORT */
{ {