Example #1
0
        /// <summary>
        /// Функция добавления точки отрисовки
        /// </summary>
        /// <param name="point">Новая "точка"</param>
        private void AddNewPoint(CustPoint point)
        {
            if (CurrentSettings.GetItem == null)
            {
                return;
            }
            else if (CurrentSettings.GetItem is IResizableItem item)
            {
                var tmpPoints = new List <CustPoint>();
                ((ICanvasItem)item).GetPoints.ForEach(c => {
                    tmpPoints.Add(new CustPoint(new Point(
                                                    c.Point.X,
                                                    c.Point.Y)));
                });

                var tmpCancelObject = new object[] {
                    item,
                    tmpPoints
                };

                item.AddNewPoint(point);

                CurrentSettings.AppendNewAction(ECancelTypes.Move, tmpCancelObject);
            }
            CurrentSettings.MoveDelegate?.Invoke();
        }
 /// <summary>
 /// Функция "снятия выбора" (изменение статуса на отрицательный) объекта
 /// </summary>
 public void Deselect()
 {
     _isSelected = false;
     for (int i = 0; i < _points.Count(); i++)
     {
         _points[i].Deselect();
     }
     _tmpPoint = null;
     InvalidateVisual();
 }
 /// <summary>
 /// Функция изменения описания положения объекта
 /// </summary>
 /// <param name="points">Описание положения объекта</param>
 public void SetPoints(List <CustPoint> points)
 {
     _points = new List <CustPoint>();
     _points.Add(new CustPoint(new Point(
                                   points[0].Point.X,
                                   points[0].Point.Y)));
     _points.Add(new CustPoint(new Point(
                                   points[1].Point.X,
                                   points[1].Point.Y)));
     _tmpPoint = null;
     InvalidateVisual();
 }
Example #4
0
 /// <summary>
 /// Функция добавления вспомогательной точки отрисовки
 /// </summary>
 /// <param name="point">Новая "точка"</param>
 private void AddTmpPoint(CustPoint point)
 {
     if (CurrentSettings.GetItem == null)
     {
         return;
     }
     else if (CurrentSettings.GetItem is IResizableItem)
     {
         var item = (IResizableItem)CurrentSettings.GetItem;
         item.AddTmpPoint(point);
     }
     CurrentSettings.MoveDelegate?.Invoke();
 }
        /// <summary>
        /// Функция обновления точки отрисовки
        /// </summary>
        /// <param name="point">Новая "точка"</param>
        public void AddNewPoint(CustPoint point)
        {
            if (_tmpPoint != null)
            {
                if (_tmpPoint.Point.X > _points[0].Point.X)
                {
                    _points[1].ChangePoint(new Point(
                                               _tmpPoint.Point.X,
                                               _points[1].Point.Y));
                }
                else
                {
                    _points[1].ChangePoint(new Point(
                                               _points[0].Point.X,
                                               _points[1].Point.Y));
                    _points[0].ChangePoint(new Point(
                                               _tmpPoint.Point.X,
                                               _points[0].Point.Y));
                }

                if (_tmpPoint.Point.Y > _points[0].Point.Y)
                {
                    _points[1].ChangePoint(new Point(
                                               _points[1].Point.X,
                                               _tmpPoint.Point.Y));
                }
                else
                {
                    _points[1].ChangePoint(new Point(
                                               _points[1].Point.X,
                                               _points[0].Point.Y));
                    _points[0].ChangePoint(new Point(
                                               _points[0].Point.X,
                                               _tmpPoint.Point.Y));
                }
            }

            _tmpPoint = null;
            InvalidateVisual();
        }
 /// <summary>
 /// Функция обновления вспомогательной точки отрисовки
 /// </summary>
 /// <param name="point">Новая "точка"</param>
 public void AddTmpPoint(CustPoint point = null)
 {
     _tmpPoint = point;
     InvalidateVisual();
 }
 /// <summary>
 /// Функция изменения описания положения объекта
 /// </summary>
 /// <param name="points">Описание положения объекта</param>
 public void SetPoints(List <CustPoint> points)
 {
     _points   = points;
     _tmpPoint = null;
     InvalidateVisual();
 }
 /// <summary>
 /// Функция обновления точки отрисовки
 /// </summary>
 /// <param name="point">Новая "точка"</param>
 public void AddNewPoint(CustPoint point)
 {
     _tmpPoint = null;
     _points.Add(point);
     InvalidateVisual();
 }
 /// <summary>
 /// Функция "снятия выбора" (изменение статуса на отрицательный) объекта
 /// </summary>
 public void Deselect()
 {
     _isSelected = false;
     _tmpPoint   = null;
     InvalidateVisual();
 }