Cocoa NSRect ЗА ПРЕДЕЛАМИ перекрестка

У меня есть два прямоугольника, которые пересекаются. Они имеют одинаковые размеры, разница лишь в том, что один из них ниже по экрану, чем другой. Я знаю, что есть способ получить прямоугольник их пересечения, но это не то, чего я хочу. Мне действительно нужен новый прямоугольник из области, которая находится за пределами их пересечения.

Верхняя часть нижнего вида пересекается с нижней частью верхнего вида. Новый прямоугольник не должен иметь этой области. В основном мне нужен прямоугольник с тем же началом и шириной, что и нижний вид, но без части, которая пересекается с верхним прямоугольником.

Спасибо за помощь.


person Elbimio    schedule 18.07.2011    source источник
comment
Использовать простую арифметику и вычислить ее?   -  person Rob Keniger    schedule 18.07.2011
comment
Вот что я сначала подумал. Мне просто интересно, есть ли у какао лучший способ сделать это.   -  person Elbimio    schedule 18.07.2011


Ответы (1)


CGRect intersectRect = CGRectIntersection(highestRect, lowestRect);

CGRect theRectYouWant = CGRectMake(0, 0, 0, 0);

if(!CGRectIsNull(intersectRect)) {
    theRectYouWant = 
        CGRectMake(lowestRect.origin.x,
                   intersectRect.origin.y + intersectRect.size.height,
                   lowestRect.size.width,
                   lowestRect.size.height - intersectRect.size.height);
}

Посмотрите на эту страницу. еще, Эльбимио ;)

person Community    schedule 18.07.2011