Hello,
another issue with the scroll wrapper :/ But this time I have no idea
how to fix it, so any help is appreciated.
The issue can be found in the following method:
ScrollWrapper>>scrollBy:on:grid:
the comment within the method says
"We assume that the post-scrolling clipping bounds can be
smaller than the pre-scrolling clipping bounds only at the
edge being scrolled in. That is, if we're scrolling forwards,
only the end of the component's translated bounds can be
truncated. If we're scrolling backwards, only the beginning
of the translated bounds can be truncated."
However, this is not true for mouse wheel events. Scrolling with the
mouse wheel can cause garbled views when highlighting views are involved.
The new prerequisites view can be tweaked to illustrate the problem.
It only scrolls by 1 pixel, so let's change that first:
PrerequisitesExplorer>>scrollBy: aYDelta
| y |
" scroll by 16 pixels for each event "
y := scrollOffsetHolder value y - (aYDelta * 16).
y := (y min: 0)
max: self bounds height - self preferredHeight rounded - 30.
scrollOffsetHolder value: 0 @ y
Now
- expand the prerequisites of "Base VisualWorks"
- scroll down
- position the cursor over a view with a highlighting event handle
- scroll up, using the mouse wheel
- note that the view is slightly damaged
- scroll even more, using the mouse wheel. Even more damage appears. It
will go away when the entire view is redisplayed
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc