Anyone has a good solution for the following task?
I need to check if a CGRect is inside another CGRect and return a CGPoint, that gives the offset if the rect window is outside in any dimension from the containing.
thanks in advance
Here's a C# translation of the accepted answer for the Xamarin folk:
CGPoint isRectVisibleInView(CGRect rect, CGRect inRect) {
var offset = new CGPoint ();
if (inRect.Contains(rect)) {
return new CGPoint (0, 0);
}
if (rect.X < inRect.X) {
// It's out to the left
offset.X = inRect.X - rect.X;
} else if (rect.GetMaxX () > inRect.GetMaxX ()) {
// It's out to the right
offset.X = rect.GetMaxX () - inRect.GetMaxX ();
}
if (rect.Y < inRect.Y) {
// It's out to the top
offset.Y = inRect.Y - rect.Y;
} else if (rect.GetMaxY () > inRect.GetMaxY ()) {
// It's out to the bottom
offset.Y = rect.GetMaxY () - inRect.GetMaxY ();
}
return offset;
}