コード例 #1
0
        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;
        }
コード例 #2
0
        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;
        }
コード例 #3
0
        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;
        }