public static CGRect Intersect(CGRect a, CGRect b) { if (!a.IntersectsWithInclusive(b)) { return(CGRect.Empty); } return(CGRect.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))); }
public static CGRect Union(CGRect a, CGRect b) { return(CGRect.FromLTRB(Math.Min(a.X, b.X), Math.Min(a.Y, b.Y), Math.Max(a.Right, b.Right), Math.Max(a.Bottom, b.Bottom))); }