Esempio n. 1
0
 /// <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)
 {
 }
Esempio n. 2
0
        /// <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;
        }