Home » U++ Library support » U++ Widgets - General questions or Mixed problems » ScrollView() invalidated area
Re: ScrollView() invalidated area [message #8487 is a reply to message #8477] |
Tue, 13 March 2007 16:01   |
 |
mirek
Messages: 14261 Registered: November 2005
|
Ultimate Member |
|
|
Tom1 wrote on Tue, 13 March 2007 08:18 | Update to the above:
Did some further digging...
It appears to me that the Ctrl::ScrollView() invalidates the rectangle once and then when the WM_PAINT comes, the Ctrl::SyncScroll() causes the invalidated rectangle to be scrolled effectively doubling the invalidated area.
I think the ScrollView should not invalidate the area but wait for the SyncScroll to do it. Or are there side effects to this approach?
Any ideas...?
-- Tom
|
Well, there is one important thing to understand here:
ScrollView is just a form of Refresh. There is no guarantee about what is the invalidated area.
ScrollView basically says that the area *CAN* be repainted while reusing existing content and moving it somehow. Implementation can but does not need to use this knowledge.
This all was decided to resolve problem with combined scrolls, scrolling child widgets and many other issues. Current implementation is maybe a little bit too conservative as it sometimes repaints bigger areas than needed (but in practice, this is little problem).
Mirek
[Updated on: Tue, 13 March 2007 16:01] Report message to a moderator
|
|
|
Goto Forum:
Current Time: Fri Jun 06 11:08:54 CEST 2025
Total time taken to generate the page: 0.04298 seconds
|