mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-26 18:21:04 +00:00
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:
parent
6d8484769e
commit
1fd47c1b56
1 changed files with 26 additions and 26 deletions
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (NSMinX(aRect) <= NSMinX(bRect))
|
|
||||||
{
|
|
||||||
rect.size.width = MIN(NSMaxX(aRect), NSMaxX(bRect)) - NSMinX(bRect);
|
|
||||||
rect.origin.x = NSMinX(bRect);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rect.size.width = MIN(NSMaxX(aRect), NSMaxX(bRect)) - NSMinX(aRect);
|
NSRect rect;
|
||||||
rect.origin.x = NSMinX(aRect);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (NSMinY(aRect) <= NSMinY(bRect))
|
if (NSMinX(aRect) <= NSMinX(bRect))
|
||||||
{
|
rect.origin.x = bRect.origin.x;
|
||||||
rect.size.height = MIN(NSMaxY(aRect), NSMaxY(bRect)) - NSMinY(bRect);
|
else
|
||||||
rect.origin.y = NSMinY(bRect);
|
rect.origin.x = aRect.origin.x;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
rect.size.height = MIN(NSMaxY(aRect), NSMaxY(bRect)) - NSMinY(aRect);
|
|
||||||
rect.origin.y = NSMinY(aRect);
|
|
||||||
}
|
|
||||||
|
|
||||||
return rect;
|
if (NSMinY(aRect) <= NSMinY(bRect))
|
||||||
|
rect.origin.y = bRect.origin.y;
|
||||||
|
else
|
||||||
|
rect.origin.y = aRect.origin.y;
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Test geometric relationships... **/
|
/** Test geometric relationships... **/
|
||||||
|
|
Loading…
Reference in a new issue