private bool IntersectsWithInclusive(CGRect r) { return X <= r.Right && Right >= r.X && Y <= r.Bottom && Bottom >= r.Y; }
public static CGRect Intersect(CGRect a, CGRect b) { if (!a.IntersectsWithInclusive(b)) { return(Empty); } return(FromLTRB(Math.Max(a.X, b.X), Math.Max(a.Y, b.Y), Math.Min(a.Right, b.Right), Math.Min(a.Bottom, b.Bottom))); }