VisualZoomCropController.TouchPoint GetTouchPoint(Point imagePoint)
        {
            if (MouseMode != MouseActionMode.Select && MouseMode != MouseActionMode.MoveSelection)
            {
                return(VisualZoomCropController.TouchPoint.None);
            }

            var imageRectLeftTop     = ImageFromCellPoint(new Point(SelectedRect.Left, SelectedRect.Top));
            var imageRectRightBottom = ImageFromCellPoint(new Point(SelectedRect.RightExclusive, SelectedRect.BottomExclusive));

            return(VisualZoomCropController.GetTouchPoint(imagePoint, GetTouchPointerStyleCore(imagePoint),
                                                          new Rectangle(imageRectLeftTop.X, imageRectLeftTop.Y, imageRectRightBottom.X - imageRectLeftTop.X, imageRectRightBottom.Y - imageRectLeftTop.Y)));
        }
 static bool IsInsideRadius(int x1, int y1, int x2, int y2, int radius = 3)
 {
     return(VisualZoomCropController.IsInsideRadius(x1, x2, radius) && VisualZoomCropController.IsInsideRadius(y1, y2, radius));
 }