/// <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(); }
/// <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(); }