diff --git a/geometry.go b/geometry.go index 64db6fc7eacac3f432768eed1dec882a170e35b1..b426686ad600f6efffeaa61b35f5154b2cfbefe0 100644 --- a/geometry.go +++ b/geometry.go @@ -151,3 +151,9 @@ func (r Rect) XYWH() (x, y, w, h float64) { func (r Rect) Center() Vec { return r.Pos + r.Size.Scaled(0.5) } + +// Contains checks whether a vector u is contained within this Rect (including it's borders). +func (r Rect) Contains(u Vec) bool { + min, max := r.Pos, r.Pos+r.Size + return min.X() <= u.X() && u.X() <= max.X() && min.Y() <= u.Y() && u.Y() <= max.Y() +}