* Source/NSClipView.m (-constrainScrollPoint:): Restore old code

which correctly rounded the scroll point to an integer point in
device-space. It seems the correct code was commented out in 2002,
perhaps as a performance optimisation?


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34614 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
ericwa 2012-01-24 01:33:17 +00:00
parent e278d9956c
commit dc3dead8c0
2 changed files with 9 additions and 19 deletions

View file

@ -1,3 +1,10 @@
2012-01-23 Eric Wasylishen <ewasylishen@gmail.com>
* Source/NSClipView.m (-constrainScrollPoint:): Restore old code
which correctly rounded the scroll point to an integer point in
device-space. It seems the correct code was commented out in 2002,
perhaps as a performance optimisation?
2012-01-23 Fred Kiefer <FredKiefer@gmx.de> 2012-01-23 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSToolbarFrameworkPrivate.h, * Source/NSToolbarFrameworkPrivate.h,

View file

@ -424,27 +424,10 @@ static inline NSRect integralRect (NSRect rect, NSView *view)
do the scrolling, the difference is an integer and so we can copy do the scrolling, the difference is an integer and so we can copy
the image translating it by an integer in device space - and not the image translating it by an integer in device space - and not
by a float. */ by a float. */
/*
new = [self convertPoint: new toView: nil]; new = [self convertPoint: new toView: nil];
new.x = (int)new.x; new.x = GSRoundTowardsInfinity(new.x);
new.y = (int)new.y; new.y = GSRoundTowardsInfinity(new.y);
new = [self convertPoint: new fromView: nil]; new = [self convertPoint: new fromView: nil];
*/
/*
We don't make it an integer this way anymore.
This is not needed when _copiesOnScroll is not set.
If _copiesOnScroll is set, we make sure the difference between old
position and new position is an integer so we can copy the image
easily.
FIXME: Why should this help? If the value is integral in user space this does
not mean anything in device space.
*/
if (_copiesOnScroll)
{
new.x = _bounds.origin.x + (GSRoundTowardsInfinity(new.x - _bounds.origin.x));
new.y = _bounds.origin.y + (GSRoundTowardsInfinity(new.y - _bounds.origin.y));
}
return new; return new;
} }