public override void OnPreviewRendered(DrawingContext input, double zoom) { base.OnPreviewRendered(input, zoom); if (Preview?.Count > 1) { var geometry = new CustomPath(Preview).Geometry(); input.DrawGeometry(Brushes.Transparent, new Pen(Brushes.Black, 1 / zoom), geometry); input.DrawGeometry(Brushes.Transparent, new Pen(Brushes.White, 0.5 / zoom), geometry); } }
public override void OnMouseDoubleClick(Point point) { var newSelection = new CustomPath(); ShapeTool.CalculatePoints(Points).ForEach(i => newSelection.Points.Add(i.Int32().Double())); for (var i = 0; i < newSelection.Points.Count; i++) { var current = newSelection.Points[i]; newSelection.Points[i] = current.Coerce(new Point(Document.Width, Document.Height), new Point(0, 0)); } Document.Selections.Add(newSelection); Points.Clear(); Preview = null; }