Ejemplo n.º 1
0
 public void MouseUpSupport()
 {
     if (_supportObj != null)
     {
         _supportObj = null;
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Метод, выполняющий отрисовку опорных точек.
        /// </summary>
        /// <para name = "SelectObject">Переменная хранащая объект для которого нужно построить опорные точки</para>
        public static void AddSupportPoint(ObjectFugure SelectObject, Color ColorLine)
        {
            for (int i = 0; i < 4; i++)
            {
                SupportObjectFugure supportObjectFugure = new SupportObjectFugure(new Pen(ColorLine, 2), new GraphicsPath());
                supportObjectFugure.Path.AddEllipse(СonstructionFigure.SelectFigure(SelectObject.Path.PathPoints[i], SelectObject.Pen.Width));
                supportObjectFugure.IdFigure      = SelectObject.IdFigure;
                supportObjectFugure.ControlPointF = i;

                SelectObject.AddListFigure(supportObjectFugure);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Метод, выполняющий отмену выделения.
        /// </summary>
        public void MouseUp()
        {
            foreach (ObjectFugure SelectObject in _selectedFigures)
            {
                if (SelectObject != null)
                {
                    SelectObject.ClearListFigure();
                    SelectObject.PointSelect  = null;
                    SelectObject.SelectFigure = false;
                    _supportObj = null;
                }
            }

            _selectedFigures.Clear();
        }
Ejemplo n.º 4
0
        public void SavePoint(MouseEventArgs e)
        {
            _oldPoint = e.Location;

            if (_selectedFigures.Count != 0)
            {
                foreach (ObjectFugure selectObject in _selectedFigures)
                {
                    foreach (SupportObjectFugure supportObjecFigure in selectObject.SelectListFigure())
                    {
                        _rectangleF = supportObjecFigure.Path.GetBounds();

                        if (_rectangleF.Contains(e.Location))
                        {
                            _supportObj = supportObjecFigure;
                        }
                    }
                }
            }
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Метод, выполняющий добавление опорных точек в список.
 /// </summary>
 public void AddListFigure(SupportObjectFugure AddFigure)
 {
     _supportFigures.Add(AddFigure);
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Метод, отвечающий за перемещение и масштабирование фигур.
        /// </summary>
        /// <para name = "SelectObject">Переменная хранащая объект для которого нужно выполнять действия</para>
        /// <para name = "SupportObj">Переменная хранащая опорные точки выбранного объекта</para>
        /// <para name = "DeltaX">Переменная хранащая разницу по координате X</para>
        /// <para name = "DeltaY">Переменная хранащая разницу по координате Y</para>
        /// /// <para name = "EdipParametr">Объекта класса необходимый для выполнения масштабирования</para>
        public static void ScaleSelectFigure(ObjectFugure SelectObject, SupportObjectFugure SupportObj, int DeltaX, int DeltaY)
        {
            if (SelectObject.IdFigure == SupportObj.IdFigure)
            {
                switch (SupportObj.ControlPointF)
                {
                case 0:

                    if (SelectObject.PointSelect[0].X + DeltaX < SelectObject.PointSelect[1].X)
                    {
                        SelectObject.PointSelect[0].X += DeltaX;
                    }

                    if (SelectObject.PointSelect[0].Y + DeltaY < SelectObject.PointSelect[3].Y)
                    {
                        SelectObject.PointSelect[0].Y += DeltaY;
                    }

                    break;

                case 1:

                    if (SelectObject.PointSelect[2].X + DeltaX > SelectObject.PointSelect[0].X)
                    {
                        SelectObject.PointSelect[2].X += DeltaX;
                    }

                    if (SelectObject.PointSelect[0].Y + DeltaY < SelectObject.PointSelect[2].Y)
                    {
                        SelectObject.PointSelect[0].Y += DeltaY;
                    }

                    break;

                case 2:

                    if (SelectObject.PointSelect[2].X + DeltaX > SelectObject.PointSelect[3].X)
                    {
                        SelectObject.PointSelect[2].X += DeltaX;
                    }

                    if (SelectObject.PointSelect[2].Y + DeltaY > SelectObject.PointSelect[1].Y)
                    {
                        SelectObject.PointSelect[2].Y += DeltaY;
                    }

                    break;

                case 3:

                    if (SelectObject.PointSelect[0].X + DeltaX < SelectObject.PointSelect[2].X)
                    {
                        SelectObject.PointSelect[0].X += DeltaX;
                    }

                    if (SelectObject.PointSelect[2].Y + DeltaY > SelectObject.PointSelect[0].Y)
                    {
                        SelectObject.PointSelect[2].Y += DeltaY;
                    }

                    break;
                }

                SelectObject.Path.Reset();
                SelectObject.Path.AddRectangle(СonstructionFigure.ShowRectangleFloat(SelectObject.PointSelect[0], SelectObject.PointSelect[2]));

                SelectObject.DrawText();
            }

            EditObject.MoveObjectSupport(SelectObject, DeltaX, DeltaY);
        }
Ejemplo n.º 7
0
 public void Dispose()
 {
     _selectedFigures = null;
     _supportObj      = null;
 }