public override void Start(object sender) { if (sender is Canvas) { Canvas canvas = (Canvas)sender; Point mousePosition = Mouse.GetPosition(canvas); ShapeHolder shapeHolder = CanvasHolder.ActiveShapeHolder; if (shapeHolder == null) { shapeHolder = ShapeHolderFactory.CreateShapeHolder(CanvasHolder); CanvasHolder.ActiveShapeHolder = shapeHolder; } HandlePoint newHandlePoint = new HandlePoint(mousePosition, shapeHolder); shapeHolder.CreateByPoint(newHandlePoint); if (shapeHolder.HandlePoints.Count > 2) { shapeHolder.ModifyByPoint(newHandlePoint); } } }
private void AddPoint_OnClick(object sender, RoutedEventArgs e) { Point position = new Point(); position.X = Convert.ToDouble(tbPositionX.Text); position.Y = Convert.ToDouble(tbPositionY.Text); ShapeHolder shapeHolder = CanvasHolder.ActiveShapeHolder; if (shapeHolder == null) { shapeHolder = ShapeHolderFactory.CreateShapeHolder(CanvasHolder); CanvasHolder.ActiveShapeHolder = shapeHolder; } HandlePoint newHandlePoint = new HandlePoint(position, shapeHolder); shapeHolder.CreateByPoint(newHandlePoint); if (shapeHolder.HandlePoints.Count > 2) { shapeHolder.ModifyByPoint(newHandlePoint); } }
public virtual void ModifyShape() { ShapeHolder.ModifyByPoint(this); }