private static StylusPointCollection Points(StylusPointCollection stylusPoints) { var start = stylusPoints.First().ToPoint(); var end = stylusPoints.Last().ToPoint(); LineDynamicRenderer.Prepare(ref start, ref end); return(new StylusPointCollection(new[] { start, end })); }
private static StylusPointCollection Points(StylusPointCollection stylusPoints) { var start = stylusPoints.First().ToPoint(); var end = stylusPoints.Last().ToPoint(); LineDynamicRenderer.Prepare(ref start, ref end); ArrowDynamicRenderer.GetArrowPoints(start, end, out var p1, out var p2); return(new StylusPointCollection(new[] { start, end, p1, end, p2 })); }
static StylusPointCollection Points(StylusPointCollection StylusPointCollection) { var start = StylusPointCollection.First().ToPoint(); var end = StylusPointCollection.Last().ToPoint(); RectangleDynamicRenderer.Prepare(ref start, ref end, out var w, out var h); var center = new Point(start.X + w / 2, start.Y + h / 2); var stylusPoints = new StylusPointCollection(); const double step = 0.05; var arc1 = new List <StylusPoint>(); var arc2 = new List <StylusPoint>(); var arc3 = new List <StylusPoint>(); var arc4 = new List <StylusPoint>(); for (var dx = 0.0; dx < w / 2; dx += step) { var dy = (h / 2) * Math.Sqrt(1 - Math.Pow(2 * dx / w, 2)); arc1.Add(new StylusPoint(center.X + dx, center.Y + dy)); arc2.Add(new StylusPoint(center.X - dx, center.Y + dy)); arc3.Add(new StylusPoint(center.X - dx, center.Y - dy)); arc4.Add(new StylusPoint(center.X + dx, center.Y - dy)); } foreach (var point in arc1.AsEnumerable().Reverse()) { stylusPoints.Add(point); } foreach (var point in arc2) { stylusPoints.Add(point); } foreach (var point in arc3.AsEnumerable().Reverse()) { stylusPoints.Add(point); } foreach (var point in arc4) { stylusPoints.Add(point); } stylusPoints.Add(arc1[arc1.Count - 1]); return(stylusPoints); }
protected override void OnDraw(DrawingContext DrawingContext, StylusPointCollection StylusPoints, Geometry Geometry, Brush FillBrush) { if (!_isManipulating) { _isManipulating = true; var currentStylus = Stylus.CurrentStylusDevice; Reset(currentStylus, StylusPoints); } _isManipulating = false; DrawingContext.DrawLine(new Pen(FillBrush, 2), _firstPoint, StylusPoints.First().ToPoint()); }
protected override void OnDraw(DrawingContext drawingContext, StylusPointCollection stylusPoints, Geometry geometry, Brush fillBrush) { if (!_isManipulating) { _isManipulating = true; var currentStylus = Stylus.CurrentStylusDevice; Reset(currentStylus, stylusPoints); } _isManipulating = false; Draw(drawingContext, _firstPoint, stylusPoints.First().ToPoint(), new Pen(fillBrush, 2)); }
static StylusPointCollection Points(StylusPointCollection StylusPointCollection) { var start = StylusPointCollection.First().ToPoint(); var end = StylusPointCollection.Last().ToPoint(); RectangleDynamicRenderer.Prepare(ref start, ref end, out var w, out var h); return(new StylusPointCollection(new [] { start, new Point(start.X, end.Y), end, new Point(end.X, start.Y), start })); }
protected override void OnDraw(DrawingContext DrawingContext, StylusPointCollection StylusPoints, Geometry Geometry, Brush FillBrush) { if (!_isManipulating) { _isManipulating = true; var currentStylus = Stylus.CurrentStylusDevice; Reset(currentStylus, StylusPoints); } _isManipulating = false; var first = new Point(_firstPoint.X, _firstPoint.Y); var last = StylusPoints.First().ToPoint(); if (last.X < first.X) { var t = first.X; first.X = last.X; last.X = t; } if (last.Y < first.Y) { var t = first.Y; first.Y = last.Y; last.Y = t; } var w = last.X - first.X; var h = last.Y - first.Y; if (w <= 0) { w = 1; } if (h <= 0) { h = 1; } var center = new Point(first.X + w / 2, first.Y + h / 2); DrawingContext.DrawEllipse(null, new Pen(FillBrush, 2), center, w / 2, h / 2); }
protected override void OnDraw(DrawingContext DrawingContext, StylusPointCollection StylusPoints, Geometry Geometry, Brush FillBrush) { if (!_isManipulating) { _isManipulating = true; var currentStylus = Stylus.CurrentStylusDevice; Reset(currentStylus, StylusPoints); } _isManipulating = false; var first = new Point(_firstPoint.X, _firstPoint.Y); var last = StylusPoints.First().ToPoint(); if (last.X < first.X) { var t = first.X; first.X = last.X; last.X = t; } if (last.Y < first.Y) { var t = first.Y; first.Y = last.Y; last.Y = t; } var w = last.X - first.X; var h = last.Y - first.Y; var r = new Rect(first, new Size(w <= 0 ? 1 : w, h <= 0 ? 1 : h)); DrawingContext.DrawRectangle(null, new Pen(FillBrush, 2), r); }