Fixed error in intersection code

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@3685 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
richard 1999-02-10 17:43:01 +00:00
parent 6d8484769e
commit 1fd47c1b56

View file

@ -308,36 +308,36 @@ NSIntersectsRect(NSRect aRect, NSRect bRect)
NSRect NSRect
NSIntersectionRect (NSRect aRect, NSRect bRect) NSIntersectionRect (NSRect aRect, NSRect bRect)
{ {
NSRect rect;
if (!NSIntersectsRect(aRect, bRect)) if (!NSIntersectsRect(aRect, bRect))
{ {
return NSMakeRect(0, 0, 0, 0); return NSMakeRect(0, 0, 0, 0);
} }
else
{
NSRect rect;
if (NSMinX(aRect) <= NSMinX(bRect)) if (NSMinX(aRect) <= NSMinX(bRect))
{ rect.origin.x = bRect.origin.x;
rect.size.width = MIN(NSMaxX(aRect), NSMaxX(bRect)) - NSMinX(bRect);
rect.origin.x = NSMinX(bRect);
}
else else
{ rect.origin.x = aRect.origin.x;
rect.size.width = MIN(NSMaxX(aRect), NSMaxX(bRect)) - NSMinX(aRect);
rect.origin.x = NSMinX(aRect);
}
if (NSMinY(aRect) <= NSMinY(bRect)) if (NSMinY(aRect) <= NSMinY(bRect))
{ rect.origin.y = bRect.origin.y;
rect.size.height = MIN(NSMaxY(aRect), NSMaxY(bRect)) - NSMinY(bRect);
rect.origin.y = NSMinY(bRect);
}
else else
{ rect.origin.y = aRect.origin.y;
rect.size.height = MIN(NSMaxY(aRect), NSMaxY(bRect)) - NSMinY(aRect);
rect.origin.y = NSMinY(aRect); if (NSMaxX(aRect) >= NSMaxX(bRect))
} rect.size.width = NSMaxX(bRect) - rect.origin.x;
else
rect.size.width = NSMaxX(aRect) - rect.origin.x;
if (NSMaxY(aRect) >= NSMaxY(bRect))
rect.size.height = NSMaxY(bRect) - rect.origin.y;
else
rect.size.height = NSMaxY(aRect) - rect.origin.y;
return rect; return rect;
}
} }
/** Test geometric relationships... **/ /** Test geometric relationships... **/