Commit Graph

924 Commits

Author SHA1 Message Date
Dimitrie O. Paun 0bc4b56595 Do not merge image with garbage background. Based on a patch by Carlos
<clozano@andago.com>.
2002-10-15 02:15:09 +00:00
Michael Günnewig 2cf92565df Fixed division by zero, when range is 0. 2002-10-15 01:20:51 +00:00
Uwe Bonnes e14cfc497a Add function to get size of in-memory resource and used this function
to copy resource to writable memory.
2002-10-13 17:54:48 +00:00
Dimitrie O. Paun 00ea0868ba Rename GetItemHeight to CalculateMaxHeight, for consistency
Fix usage of nItemWidth vs. iconSpacing.cx
Misc cleanups.
2002-10-11 23:34:32 +00:00
Dimitrie O. Paun a1ca0122b9 Use the item box rather than the bounds when invalidating.
Implement 'bPartial' in EnsureVisible.
2002-10-11 23:33:25 +00:00
Dimitrie O. Paun ed29ffdea4 Unify DrawLargeItem with DrawItem. 2002-10-11 18:47:03 +00:00
Dimitrie O. Paun 0b93d5c4c5 Use GetItemMetrics instead of GetItemMeasures.
Remove GetItemMeasures.
Add GetItemBox which only returns the boundary of the item.
2002-10-11 18:46:21 +00:00
Dimitrie O. Paun ac756afcc2 Be real tough on internal programming errors. 2002-10-11 18:00:28 +00:00
Dimitrie O. Paun dda1e31ce7 Remove support for owner drawn listviews in non-REPORT mode. We need
to do this since Windows supports owner draw *only* in report mode,
and hence apps are not prepared to handle drawing in other modes.
2002-10-11 17:59:39 +00:00
Dimitrie O. Paun 4150f31f58 Use GetItemMetrics instead of GetItemMeasures when drawing. 2002-10-11 17:58:56 +00:00
Dimitrie O. Paun 01b5226508 Make use of the new GetItemMetrics in HitTest, to avoid code
duplication.
2002-10-11 17:58:11 +00:00
Dimitrie O. Paun f1f447931e Separate item metrics computation from positioning
Add support for computing state icon metrics.
2002-10-11 17:57:27 +00:00
Alexandre Julliard 5feaff534b LVS_OWNERDRAWFIXED should only take effect in REPORT mode. 2002-10-11 04:19:20 +00:00
Dimitrie O. Paun 1c6c29e313 Fix drawing bug introduced with the custom notification
reorganization.
2002-10-10 22:57:45 +00:00
Dimitrie O. Paun 01dbe3999e Simplify the report mode, and item drawing considerably.
Fix full row select in report mode.
2002-10-10 22:55:21 +00:00
Dimitrie O. Paun ffd4bd37d0 Handle custom draw notifications properly.
Various cleanups, and simplifications.
2002-10-10 22:54:06 +00:00
Dimitrie O. Paun d2d4baf96b Remove superfluous abstractions which make the code harder to
understand.
2002-10-10 22:52:56 +00:00
Dimitrie O. Paun 6d6be0e1d4 Move the custom draw notifications into the Draw.*Item functions. 2002-10-10 22:52:12 +00:00
Dimitrie O. Paun a994fb8135 Move the custom draw item notifications down into DrawLargeItem. 2002-10-10 22:51:27 +00:00
Dimitrie O. Paun 7ac890984d Fix silly redraw bug introduced in previous patch.
Tidy up, and simplify large item drawing.
2002-10-10 22:50:49 +00:00
Dimitrie O. Paun 50ed9b9962 Implement WM_SETREDRAW properly. 2002-10-10 22:50:09 +00:00
Dimitrie O. Paun 12dca97b9d Rework the mouse click notifications
Assorted cleanups, and simplifications.
2002-10-10 22:49:29 +00:00
Dimitrie O. Paun 1094c63c0e Use (semi)standard HitTest, rather then our own little invention.
Get rid of GetItemAtPt.
Fix HitTest but in REPORT mode.
2002-10-10 22:48:36 +00:00
Michael Stefaniuc bc54d78532 - change the internal functions in windows/cursoricon.c to use 32bit
handles
- move the implementation of ExtractAssociatedIcon16 to
  ExtractAssociatedIconA
- convert HICON to a void*
- fixed some handle conversions that happened to be in the way while
  doing the above
2002-10-10 21:22:09 +00:00
Paul Rupe 8b3da5e3ba Scroll the listview when doing multiple selections. 2002-10-10 18:56:50 +00:00
Dimitrie O. Paun 05b4a09357 Narrow down the items we iterate over in LIST, and REPORT mode.
Fix a Client --> List coordinate transformations in FindItem.
Fix bug in HitItem (in LIST and REPORT mode).
Avoid the last bit of drawing in REPORT mode.
2002-10-10 03:13:14 +00:00
Dimitrie O. Paun 9d678ff740 Draw _only_ the items that are invalidated.
Fix serious bug when deleting from a range.
Pass in a range to the ranges_{add,del} functions.
Tidy up the RefreshIcon function.
Assorted cleanups.
2002-10-10 03:12:05 +00:00
Dimitrie O. Paun 0295e4fceb Reimplement FindItem (cleaner, faster, more compliant with MSDN). 2002-10-10 03:10:20 +00:00
Dimitrie O. Paun 1313431b1b Rewrite HitTest to make it pretty, and very fast. 2002-10-10 03:08:45 +00:00
Dimitrie O. Paun a80ced02e9 Introduce the notion of item iterators, and use them to clean up code. 2002-10-10 03:07:04 +00:00
Dimitrie O. Paun 00e3435f54 Separate range manipulation functions from selection ranges. 2002-10-10 03:05:28 +00:00
Dimitrie O. Paun 764607d931 Fix large item label calculation when not focused.
Fancy focus rectangle handling.
2002-10-10 03:04:34 +00:00
Dimitrie O. Paun b2056c22b5 Fix focus handling when deleting items, or changing modes.
Better label rect calculation in ICON mode.
2002-10-10 03:03:39 +00:00
Dimitrie O. Paun c95b2a0202 Fix large item handling focus in ICON mode. 2002-10-10 03:02:30 +00:00
Dimitrie O. Paun bbf878ded6 No need to go through the heavy duty rect computation when in OWNERDRAW. 2002-10-10 03:01:10 +00:00
Dimitrie O. Paun a625dd394d Factor out owner draw code, so that it works for all modes.
Documentation updates.
2002-10-10 02:59:34 +00:00
Dimitrie O. Paun b8d5715bc1 Factor out the computation of item position, so it can be used
independently of the rectangles.
2002-10-10 02:58:47 +00:00
Dimitrie O. Paun f29d0ce05b Unify LISTVIEW_UpdateLargeItemLabelRect, and GetItemMeasures.
Optimize GetItemMeasures to the max.
Centralize the DrawText's DT_* flags.
2002-10-10 02:57:50 +00:00
Dimitrie O. Paun 1fc91d2d65 Get rid of 'goto's in GetItemMeasures.
Move LISTVIEW_UpdateLargeItemLabelRect close to where it's used.
2002-10-10 02:56:57 +00:00
Dimitrie O. Paun cf4670cba2 Fix braino in calculation of LVS_LIST origin.
Invalidate the entire window when we are invalidating the list.
2002-10-10 02:56:13 +00:00
Dimitrie O. Paun 74e43dd023 Fixed bug that caused item texts to be empty. 2002-10-08 01:55:32 +00:00
Dimitrie O. Paun 783bab61de Fix nasty bug generated by UINT vs. INT (resulted in bogus
comparisons).
Fix LVIR_SELECTBOUNDS computation, for REPORT mode.
Fix dependency generation in GetItemMeasures.
Fix rectangle computation for REPORT mode (corner case problems).
Better debug messages.
Assorted cleanups.
2002-10-07 22:43:42 +00:00
Dimitrie O. Paun 97ffbfad72 Cleaned up the rectangle handling, and fixed numerous bugs in
rectangle calculations.
2002-10-07 22:42:44 +00:00
Paul Rupe 1446a06ce9 Fix inaccurate listview scrolling with PgUp/Down and Home/End keys. 2002-10-07 21:44:01 +00:00
Dimitrie O. Paun 3ac601d52b Fix silly bug in SetItemPosition (we should set it, not create a new
one).
2002-10-07 18:51:52 +00:00
Dimitrie O. Paun b9cacc438a Maintain the item position in {,SMALL}ICON mode separataly from the
item, so that we have it even in LVS_OWNERDATA.
2002-10-07 18:50:21 +00:00
Dimitrie O. Paun 6cfd83b985 Cleanup the SetItemPosition interface. 2002-10-07 18:48:47 +00:00
Dimitrie O. Paun 7f77992091 Remove the COUNT_OF macro.
Indentation fixes, and minor cleanups to notify_dispinfoT.
2002-10-07 18:44:55 +00:00
Dimitrie O. Paun 6a6310d099 Fixes bug which rendered virtual listboxes always empty.
Smarter focus rectangle drawing.
Fix focus handling when we add/delete a column.
Fix silly bug in GetSubItemRect.
Elimiante flicker in Report mode.
2002-10-07 18:43:49 +00:00
Dimitrie O. Paun 95f2799537 Cleanup, and clarify the handling of the various rectangles.
Fix handling of large items in ICON mode.
Fix calculation of LVIR_SELECTBOUNDS.
Various cleanups, and simplifications.
2002-10-07 18:42:52 +00:00