From 1fd47c1b562ae45d1301a05f1db6e430d3a8c32c Mon Sep 17 00:00:00 2001 From: richard Date: Wed, 10 Feb 1999 17:43:01 +0000 Subject: [PATCH] Fixed error in intersection code git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@3685 72102866-910b-0410-8b05-ffd578937521 --- Source/NSGeometry.m | 52 ++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/Source/NSGeometry.m b/Source/NSGeometry.m index e599a9f3d..a87ff849a 100644 --- a/Source/NSGeometry.m +++ b/Source/NSGeometry.m @@ -308,36 +308,36 @@ NSIntersectsRect(NSRect aRect, NSRect bRect) NSRect NSIntersectionRect (NSRect aRect, NSRect bRect) { - NSRect rect; - if (!NSIntersectsRect(aRect, bRect)) - { - 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); - } + { + return NSMakeRect(0, 0, 0, 0); + } else - { - rect.size.width = MIN(NSMaxX(aRect), NSMaxX(bRect)) - NSMinX(aRect); - rect.origin.x = NSMinX(aRect); - } + { + NSRect rect; - if (NSMinY(aRect) <= NSMinY(bRect)) - { - rect.size.height = MIN(NSMaxY(aRect), NSMaxY(bRect)) - NSMinY(bRect); - rect.origin.y = NSMinY(bRect); - } - else - { - rect.size.height = MIN(NSMaxY(aRect), NSMaxY(bRect)) - NSMinY(aRect); - rect.origin.y = NSMinY(aRect); - } + if (NSMinX(aRect) <= NSMinX(bRect)) + rect.origin.x = bRect.origin.x; + else + rect.origin.x = aRect.origin.x; - 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... **/