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