public void Start(InkCanvas inkCanvas) { Break(inkCanvas); inkCanvas.DefaultDrawingAttributes.AttributeChanged += DrawingAttributesOnAttributeChanged; _drawingAttributes = inkCanvas.DefaultDrawingAttributes.Clone(); ProcessDrawShapeState = DrawShapeState.WaitingStartPoint; }
public void MouseDown(InkCanvas inkCanvas, MouseButtonEventArgs mouseButtonEventArgs) { if (ProcessDrawShapeState != DrawShapeState.WaitingStartPoint) { return; } InitShape(inkCanvas, _drawingAttributes, mouseButtonEventArgs.GetPosition(inkCanvas)); ProcessDrawShapeState = DrawShapeState.WaitingEndPoint; }
public void Break(InkCanvas inkCanvas) { if (ProcessDrawShapeState != DrawShapeState.Inactive && !PointCollectionIsEmpty && PointCollection.Count == 1) { RemoveStrokesWithoutPoints(inkCanvas, _shapeStroke); } ProcessDrawShapeState = DrawShapeState.Inactive; inkCanvas.DefaultDrawingAttributes.AttributeChanged -= DrawingAttributesOnAttributeChanged; }