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: 13976 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: Sun May 12 02:28:00 CEST 2024
Total time taken to generate the page: 0.01993 seconds
|