/// <summary> /// Метод, выполняющий выделение фигур. /// </summary> /// <para name = "e">Переменная, хранящая координаты мыши.</para> /// <para name = "Rect">Переменная, хранящая зону выделения.</para> /// <para name = "Figures">Переменная, хранящая список всех фигур.</para> /// <para name = "CurrentActions">Переменная, хранящая действие над выбранной фигурой.</para> /// <para name = "FiguresBuild">Переменная, хранящая список действий.</para> public void MouseDown(MouseEventArgs e, List <ObjectFugure> Figures, int CurrentActions) { ////Запоминаем положение курсора _oldPoint = e.Location; float figurestartX, figurestartY, figureendX, figureendY; if (_selectedFigures.Count == 0) { foreach (ObjectFugure DrawObject in Figures) { figurestartX = DrawObject.FigureStart.X; figurestartY = DrawObject.FigureStart.Y; figureendX = DrawObject.FigureEnd.X; figureendY = DrawObject.FigureEnd.Y; // Получение области выделения _rectangleF = DrawObject.Path.GetBounds(); if (figurestartX == figureendX) { _rectangleF.Inflate(10, 5); } if (figurestartY == figureendY) { _rectangleF.Inflate(5, 10); } if (_rectangleF.Contains(e.Location)) { Rectangles.ScaleFigure(e, DrawObject, _selectedFigures); Rectangles.AddSupportPoint(DrawObject, Color.Red); } } } }