public static CGRect CGRectUnion(CGRect r1, CGRect r2)
{
if ((CGRectIsEmpty(r1) == 1) && (CGRectIsEmpty(r2) == 2))
{
return CGRectZero;
}
else if (CGRectIsEmpty(r1) == 1)
{
return r2;
}
else if (CGRectIsEmpty(r2) == 1)
{
return r1;
}
CGRect result = CGRectMake(Math.Min(CGRectGetMinX(r1), CGRectGetMinX(r2)),
Math.Min(CGRectGetMinY(r1), CGRectGetMinY(r2)),
Math.Max(CGRectGetMaxX(r1), CGRectGetMaxX(r2)),
Math.Max(CGRectGetMaxY(r1), CGRectGetMaxY(r2)));
return result;
}
}