From 3b9ab4f5cf6a868300e49067ec116ca8b15903c8 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Sat, 17 Sep 2011 12:02:15 -0400 Subject: [PATCH] COMMON: Add function to find the intersecting rectangle --- common/rect.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/common/rect.h b/common/rect.h index 768d1ebbb963..1106ec171463 100644 --- a/common/rect.h +++ b/common/rect.h @@ -169,6 +169,20 @@ struct Rect { return (left < r.right) && (r.left < right) && (top < r.bottom) && (r.top < bottom); } + /** + * Find the intersecting rectangle between this rectangle and the given rectangle + * + * @param r the intersecting rectangle + * + * @return the intersection of the rectangles or an empty rectangle if not intersecting + */ + Rect findIntersectingRect(const Rect &r) const { + if (!intersects(r)) + return Rect(); + + return Rect(MAX(r.left, left), MAX(r.top, top), MIN(r.right, right), MIN(r.bottom, bottom)); + } + /** * Extend this rectangle so that it contains r *