/// <summary> /// Set path geometry /// </summary> /// <param name="PathString">Path geometry text string</param> /// <param name="YAxis">Y Axix direction</param> public DrawWPFPath ( string PathString, YAxisDirection YAxis ) : this(SysMedia.PathGeometry.CreateFromGeometry(SysMedia.Geometry.Parse(PathString)), YAxis) { }
/// <summary> /// Draw WPF path constructor /// </summary> /// <param name="MediaPath">System.Windows.Media path geometry</param> /// <param name="PathYAxis">Y Axix direction</param> public DrawWPFPath ( SysMedia.PathGeometry MediaPath, YAxisDirection PathYAxis ) { // save media path this.MediaPath = MediaPath; // save path rectangle and y axis direction PathBBoxX = MediaPath.Bounds.X; PathBBoxY = MediaPath.Bounds.Y; PathBBoxWidth = MediaPath.Bounds.Width; PathBBoxHeight = MediaPath.Bounds.Height; this.PathYAxis = PathYAxis; // test arguments if (PathBBoxWidth == 0 && PathBBoxHeight == 0) { throw new ApplicationException("DrawWPFPath: Path bounding box is empty"); } // initialization values FillRule = MediaPath.FillRule == SysMedia.FillRule.EvenOdd ? FillRule.EvenOdd : FillRule.NonZero; BlendMode = BlendMode.Normal; BrushOpacity = 1.0; PenOpacity = 1.0; PenWidth = -1; LineCap = (PdfLineCap)(-1); LineJoin = (PdfLineJoin)(-1); MiterLimit = -1; return; }