Проверка пересечения двух прямоугольников (TRect)
Falk0ner, вс, 06/07/2008 - 15:35.
Проверка пересечения двух прямоугольников (TRect)
{ **** UBPFD *********** by kladovka.net.ru ****
>>
Функция использовалась для проверки пересекаемости 2-х форм, панелей и т.п. Причем пересекаться они могут и не углами, а, например, находиться один полностью в другом.
Зависимости: нет
Автор: MikeZ, <a href="mailto:Zhuravsky2@Yandex.ru">Zhuravsky2@Yandex.ru</a>, Kiev
Copyright: MikeZ (C) 2003
Дата: 8 октября 2003 г.
********************************************** }
Function OverlapRects(R1, R2: TRect): Boolean;
Var
Temp : TRect;
Begin
Result := False;
If Not UnionRect(Temp, R1, R2) Then Exit;
If (Temp.Right - Temp.Left <= R1.Right - R1.Left + R2.Right - R2.Left) And
(Temp.Bottom - Temp. <= R1.Bottom - R1. + R2.Bottom - R2.) Then
Result := True;
End;
>>
Функция использовалась для проверки пересекаемости 2-х форм, панелей и т.п. Причем пересекаться они могут и не углами, а, например, находиться один полностью в другом.
Зависимости: нет
Автор: MikeZ, <a href="mailto:Zhuravsky2@Yandex.ru">Zhuravsky2@Yandex.ru</a>, Kiev
Copyright: MikeZ (C) 2003
Дата: 8 октября 2003 г.
********************************************** }
Function OverlapRects(R1, R2: TRect): Boolean;
Var
Temp : TRect;
Begin
Result := False;
If Not UnionRect(Temp, R1, R2) Then Exit;
If (Temp.Right - Temp.Left <= R1.Right - R1.Left + R2.Right - R2.Left) And
(Temp.Bottom - Temp. <= R1.Bottom - R1. + R2.Bottom - R2.) Then
Result := True;
End;
Отправить комментарий