Ignore the frame origin when computing the clip area.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25295 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Fred Kiefer 2007-06-28 17:31:17 +00:00
parent 887489b3f0
commit 9bfccedf81
2 changed files with 14 additions and 4 deletions

View file

@ -1,3 +1,8 @@
2007-06-28 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSView.m (-_lockFocusInContext:inRect:): Ignore the frame
origin when computing the clip area.
2007-06-27 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSView.m (-setBoundsRotation:): Ignore the frame origin

View file

@ -1881,11 +1881,15 @@ convert_rect_using_matrices(NSRect aRect, NSAffineTransform *matrix1,
*/
if (_is_rotated_from_base)
{
// When the view is rotated, more complex clipping is needed.
// When the view is rotated, we clip to the frame.
NSAffineTransform *matrix;
NSBezierPath *bp = [NSBezierPath bezierPathWithRect: _frame];
NSRect frame = _frame;
NSBezierPath *bp;
frame.origin = NSMakePoint(0, 0);
bp = [NSBezierPath bezierPathWithRect: frame];
matrix = [_boundsMatrix copy];
matrix = [_boundsMatrix copy];
[matrix invert];
[bp transformUsingAffineTransform: matrix];
[bp addClip];
@ -1893,8 +1897,9 @@ convert_rect_using_matrices(NSRect aRect, NSAffineTransform *matrix1,
}
else
{
// FIXME: Should we use _bounds or visibleRect here?
DPSrectclip(ctxt, NSMinX(rect), NSMinY(rect),
NSWidth(rect), NSHeight(rect));
NSWidth(rect), NSHeight(rect));
}
}