示例#1
0
        /// <summary>
        /// Метод, выполняющий действия над выделенными фигурами.
        /// </summary>
        /// <para name = "e">Переменная, хранящая координаты мыши.</para>
        /// <para name = "CurrentActions">Переменная, хранящая действие над выбранной фигурой.</para>
        /// <para name = "FiguresBuild">Переменная, хранящая список действий.</para>
        public void MouseMove(MouseEventArgs e, int CurrentActions, List <ITypesFigures> FiguresBuild)
        {
            //Считаем смещение курсора
            int deltaX, deltaY;

            deltaX = e.Location.X - _oldPoint.X;
            deltaY = e.Location.Y - _oldPoint.Y;

            foreach (Figure SelectObject in _selectedFigures)
            {
                //Масштабирование опорных точек
                if ((SelectObject != null) && (_supportObj != null))
                {
                    FiguresBuild[SelectObject.CurrentFigure].ScaleSelectFigure(SelectObject, _supportObj, deltaX, deltaY);
                }
                else
                {
                    if (SelectObject != null)
                    {
                        SelectObject.PointSelect = SelectObject.Path.PathPoints;

                        SelectObject.Path.Transform(new Matrix(1, 0, 0, 1, deltaX, deltaY));

                        //_edipParametr.MoveObjectSupport(SelectObject, deltaX, deltaY);

                        if (SelectObject.CurrentFigure != 1)
                        {
                            for (int i = 0; i < SelectObject.PointSelect.Length; i++)
                            {
                                SelectObject.EditPivots(i, _figureBuild.SelectFigure(SelectObject.PointSelect[i], SelectObject.Pen.Width));
                            }
                        }
                        else
                        {
                            int k = 0;
                            for (int i = 0; i < SelectObject.PointSelect.Length; i += 3)
                            {
                                SelectObject.EditPivots(k, _figureBuild.SelectFigure(SelectObject.PointSelect[i], SelectObject.Pen.Width));
                                k++;
                            }
                        }
                    }
                }
                _oldPoint = e.Location;
            }
        }