Eliminate flicker when resizing, docs updates.

This commit is contained in:
Dimitrie O. Paun 2002-10-28 20:35:44 +00:00 committed by Alexandre Julliard
parent 19a1c42386
commit ccc8f7dca9
1 changed files with 5 additions and 3 deletions

View File

@ -48,12 +48,10 @@
* -- LISTVIEW_GetNextItem is very inefficient
* -- LISTVIEW_SetColumnWidth ignores header images & bitmap
* -- LISTVIEW_SetIconSpacing is incomplete
* -- LVSICF_NOINVALIDATEALL, LVSICF_NOSCROLL not implemented
* -- LISTVIEW_SortItems is broken
* -- LISTVIEW_StyleChanged doesn't handle some changes too well
*
* Speedups
* -- LISTVIEW_Size invalidates too much
* -- in sorted mode, LISTVIEW_InsertItemT sorts the array,
* instead of inserting in the right spot
* -- we should keep an ordered array of coordinates in iconic mode
@ -8074,7 +8072,11 @@ static LRESULT LISTVIEW_Size(LISTVIEW_INFO *infoPtr, int Width, int Height)
LISTVIEW_UpdateScroll(infoPtr);
LISTVIEW_InvalidateList(infoPtr); /* FIXME: optimize */
/* refresh all only for lists whose height changed significantly */
if ((infoPtr->dwStyle & LVS_TYPEMASK) == LVS_LIST &&
(rcOld.bottom - rcOld.top) / infoPtr->nItemHeight !=
(infoPtr->rcList.bottom - infoPtr->rcList.top) / infoPtr->nItemHeight)
LISTVIEW_InvalidateList(infoPtr);
return 0;
}