private void IsMouseOverEndOfLine(double x, Line line) { if (x <= line.X1 + 10 && x >= line.X1 - 10) { line.Cursor = Cursors.SizeWE; _mouseOverPointsToResize = PointsToResizeEnum.Left; return; } if (x >= line.X2 - 10 && x <= line.X2 + 10) { line.Cursor = Cursors.SizeWE; _mouseOverPointsToResize = PointsToResizeEnum.Right; return; } line.Cursor = Cursors.Hand; _mouseOverPointsToResize = PointsToResizeEnum.None; return; }
private void IsMouseOverBorderOfCircle(double x, double y, Ellipse ellipse) { if (x <= Canvas.GetLeft(ellipse) + ellipse.ActualWidth / 2 - (x - Canvas.GetLeft(ellipse)) && y <= Canvas.GetTop(ellipse) + ellipse.ActualHeight / 2 - (y - Canvas.GetTop(ellipse))) { ellipse.Cursor = Cursors.SizeNWSE; _mouseOverPointsToResize = PointsToResizeEnum.LeftUpper; return; } if (x <= Canvas.GetLeft(ellipse) + ellipse.ActualWidth / 2 - (x - Canvas.GetLeft(ellipse)) && y >= Canvas.GetTop(ellipse) + ellipse.ActualHeight / 2 + (Canvas.GetTop(ellipse) + ellipse.ActualHeight - y)) { ellipse.Cursor = Cursors.SizeNESW; _mouseOverPointsToResize = PointsToResizeEnum.LeftDown; return; } if (x >= Canvas.GetLeft(ellipse) + ellipse.ActualWidth / 2 + (Canvas.GetLeft(ellipse) + ellipse.ActualWidth - x) && y <= Canvas.GetTop(ellipse) + ellipse.ActualHeight / 2 - (y - Canvas.GetTop(ellipse))) { ellipse.Cursor = Cursors.SizeNESW; _mouseOverPointsToResize = PointsToResizeEnum.RightUpper; return; } if (x >= Canvas.GetLeft(ellipse) + ellipse.ActualWidth / 2 + (Canvas.GetLeft(ellipse) + ellipse.ActualWidth - x) && y >= Canvas.GetTop(ellipse) + ellipse.ActualHeight / 2 + (Canvas.GetTop(ellipse) + ellipse.ActualHeight - y)) { ellipse.Cursor = Cursors.SizeNWSE; _mouseOverPointsToResize = PointsToResizeEnum.RightDown; return; } if (x < Canvas.GetLeft(ellipse) + ellipse.ActualWidth - 10 && x > Canvas.GetLeft(ellipse) + 10 && y <= Canvas.GetTop(ellipse) + 10) { ellipse.Cursor = Cursors.SizeNS; _mouseOverPointsToResize = PointsToResizeEnum.Top; return; } if (x < Canvas.GetLeft(ellipse) + ellipse.ActualWidth - 10 && x > Canvas.GetLeft(ellipse) + 10 && y >= Canvas.GetTop(ellipse) + ellipse.ActualHeight - 10) { ellipse.Cursor = Cursors.SizeNS; _mouseOverPointsToResize = PointsToResizeEnum.Bottom; return; } if (x <= Canvas.GetLeft(ellipse) + 10 && y < Canvas.GetTop(ellipse) + ellipse.ActualHeight - 10 && y > Canvas.GetTop(ellipse) + 10) { ellipse.Cursor = Cursors.SizeWE; _mouseOverPointsToResize = PointsToResizeEnum.Left; return; } if (x >= Canvas.GetLeft(ellipse) + ellipse.ActualWidth - 10 && y < Canvas.GetTop(ellipse) + ellipse.ActualHeight - 10 && y > Canvas.GetTop(ellipse) + 10) { ellipse.Cursor = Cursors.SizeWE; _mouseOverPointsToResize = PointsToResizeEnum.Right; return; } ellipse.Cursor = Cursors.Hand; _mouseOverPointsToResize = PointsToResizeEnum.None; return; }
private void IsMouseOverBorderOfRectangle(double x, double y, Rectangle rectangle) { if (x <= Canvas.GetLeft(rectangle) + 10 && y <= Canvas.GetTop(rectangle) + 10) { rectangle.Cursor = Cursors.SizeNWSE; _mouseOverPointsToResize = PointsToResizeEnum.LeftUpper; return; } if (x <= Canvas.GetLeft(rectangle) + 10 && y >= Canvas.GetTop(rectangle) + rectangle.ActualHeight - 10) { rectangle.Cursor = Cursors.SizeNESW; _mouseOverPointsToResize = PointsToResizeEnum.LeftDown; return; } if (x >= Canvas.GetLeft(rectangle) + rectangle.ActualWidth - 10 && y <= Canvas.GetTop(rectangle) + 10) { rectangle.Cursor = Cursors.SizeNESW; _mouseOverPointsToResize = PointsToResizeEnum.RightUpper; return; } if (x >= Canvas.GetLeft(rectangle) + rectangle.ActualWidth - 10 && y >= Canvas.GetTop(rectangle) + rectangle.ActualHeight - 10) { rectangle.Cursor = Cursors.SizeNWSE; _mouseOverPointsToResize = PointsToResizeEnum.RightDown; return; } if (x < Canvas.GetLeft(rectangle) + rectangle.ActualWidth - 10 && x > Canvas.GetLeft(rectangle) + 10 && y <= Canvas.GetTop(rectangle) + 10) { rectangle.Cursor = Cursors.SizeNS; _mouseOverPointsToResize = PointsToResizeEnum.Top; return; } if (x < Canvas.GetLeft(rectangle) + rectangle.ActualWidth - 10 && x > Canvas.GetLeft(rectangle) + 10 && y >= Canvas.GetTop(rectangle) + rectangle.ActualHeight - 10) { rectangle.Cursor = Cursors.SizeNS; _mouseOverPointsToResize = PointsToResizeEnum.Bottom; return; } if (x <= Canvas.GetLeft(rectangle) + 10 && y < Canvas.GetTop(rectangle) + rectangle.ActualHeight - 10 && y > Canvas.GetTop(rectangle) + 10) { rectangle.Cursor = Cursors.SizeWE; _mouseOverPointsToResize = PointsToResizeEnum.Left; return; } if (x >= Canvas.GetLeft(rectangle) + rectangle.ActualWidth - 10 && y < Canvas.GetTop(rectangle) + rectangle.ActualHeight - 10 && y > Canvas.GetTop(rectangle) + 10) { rectangle.Cursor = Cursors.SizeWE; _mouseOverPointsToResize = PointsToResizeEnum.Right; return; } rectangle.Cursor = Cursors.Hand; _mouseOverPointsToResize = PointsToResizeEnum.None; return; }