From 6aefff838d7122d8beda083a1392f969a50ba754 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Mon, 20 Feb 2023 18:00:29 -0800 Subject: [PATCH] Implement Rect.__contains__ on a Point Returns True if the Rect contains the point. --- erynrl/geometry.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/erynrl/geometry.py b/erynrl/geometry.py index 67adcc0..2ec834a 100644 --- a/erynrl/geometry.py +++ b/erynrl/geometry.py @@ -252,6 +252,15 @@ class Rect: return Rect(Point(self.origin.x + left, self.origin.y + top), Size(self.size.width - right - left, self.size.height - top - bottom)) + def __contains__(self, pt: Point) -> bool: + if pt.x < self.min_x or pt.x > self.max_x: + return False + + if pt.y < self.min_y or pt.y > self.max_y: + return False + + return True + def __iter__(self): yield tuple(self.origin) yield tuple(self.size)