public bool IsVisible(RectangleF rectangle)
{
// eoFill - A Boolean value that, if true, specifies to use the even-odd fill rule to evaluate
// the painted region of the path. If false, the winding fill rule is used.
var topLeft = new CGPoint (rectangle.Left, rectangle.Top);
var topRight = new CGPoint (rectangle.Right, rectangle.Top);
var bottomRight = new CGPoint (rectangle.Right, rectangle.Bottom);
var bottomLeft = new CGPoint (rectangle.Left, rectangle.Bottom);
return regionPath.ContainsPoint (topLeft, EVEN_ODD_FILL) || regionPath.ContainsPoint (topRight, EVEN_ODD_FILL)
|| regionPath.ContainsPoint (bottomRight, EVEN_ODD_FILL) || regionPath.ContainsPoint (bottomLeft, EVEN_ODD_FILL);
}