public override void OnReleased(UIElement uiElement, PointerRoutedEventArgs args)
 {
     InkBuilder.AddPointsFromEvent(Phase.End, uiElement, args);
     Path = InkBuilder.GetPath();
     DrawingFinished?.Invoke(this, BlendCurrentStroke);
 }
 public override void OnPressed(UIElement uiElement, PointerRoutedEventArgs args)
 {
     InkBuilder.AddPointsFromEvent(Phase.Begin, uiElement, args);
     Polygons = InkBuilder.GetPolygons();
     PointsAdded?.Invoke(this, null);
 }
 public override void OnMoved(UIElement uiElement, PointerRoutedEventArgs args)
 {
     InkBuilder.AddPointsFromEvent(Phase.Update, uiElement, args);
     Path = InkBuilder.GetPath();
     PointsAdded?.Invoke(this, null);
 }
 /// <summary>
 /// Passes pointer event to InkBuilder to finish building ink
 /// </summary>
 /// <param name="args">Arguments returned by pointer released event</param>
 /// <param name="uiElement">UI element associated with pointer event</param>
 public virtual void DoPointerReleased(PointerRoutedEventArgs args, UIElement uiElement)
 {
     InkBuilder.AddPointsFromEvent(Phase.End, uiElement, args);
 }