예제 #1
0
        /// <summary>
        /// Adds a text string to this path.
        /// </summary>
        public void AddString(string s, XFontFamily family,
                              XFontStyle style, double emSize, XRect layoutRect,
                              XStringFormat format)
        {
            if (s == null)
            {
                throw new ArgumentNullException("s");
            }

            if (family == null)
            {
                throw new ArgumentNullException("family");
            }

            if (format == null)
            {
                format = XStringFormats.Default();
            }

            if (format.LineAlignment == XLineAlignment.BaseLine && layoutRect.Height != 0)
            {
                throw new InvalidOperationException(
                          "DrawString: With XLineAlignment.BaseLine the height of the layout rectangle must be 0.");
            }

            if (s.Length == 0)
            {
                return;
            }

            XFont font = new XFont(family.Name, emSize, style);

            DiagnosticsHelper.HandleNotImplemented("XGraphicsPath.AddString");
        }
예제 #2
0
        // ----- AddString ----------------------------------------------------------------------------

        /// <summary>
        /// Adds a text string to this path.
        /// </summary>
        public void AddString(string s, XFontFamily family, XFontStyle style, double emSize, XPoint origin,
                              XStringFormat format)
        {
            try
            {
                DiagnosticsHelper.HandleNotImplemented("XGraphicsPath.AddString");
            }
            catch
            {
                throw;
            }
        }
예제 #3
0
        /// <summary>
        /// Adds a closed curve to this path.
        /// </summary>
        public void AddClosedCurve(XPoint[] points, double tension)
        {
            if (points == null)
            {
                throw new ArgumentNullException("points");
            }
            int count = points.Length;

            if (count == 0)
            {
                return;
            }
            if (count < 2)
            {
                throw new ArgumentException("Not enough points.", "points");
            }
            DiagnosticsHelper.HandleNotImplemented("XGraphicsPath.AddClosedCurve");
        }
예제 #4
0
        void RealizeClipPath(XGraphicsPath clipPath)
        {
#if CORE
            DiagnosticsHelper.HandleNotImplemented("RealizeClipPath");
#endif
#if GDI
            // Do not render an empty path.
            if (clipPath._gdipPath.PointCount < 0)
            {
                return;
            }
#endif
#if WPF
            // Do not render an empty path.
            if (clipPath._pathGeometry.Bounds.IsEmpty)
            {
                return;
            }
#endif
            _renderer.BeginGraphicMode();
            RealizeCtm();
#if CORE || __IOS__ || __ANDROID__ || PORTABLE
            _renderer.AppendPath(clipPath._corePath);
#endif
#if GDI && !WPF
            _renderer.AppendPath(clipPath._gdipPath);
#endif
#if WPF && !GDI
            _renderer.AppendPath(clipPath._pathGeometry);
#endif
#if WPF && GDI
            if (_renderer.Gfx.TargetContext == XGraphicTargetContext.GDI)
            {
                _renderer.AppendPath(clipPath._gdipPath);
            }
            else
            {
                _renderer.AppendPath(clipPath._pathGeometry);
            }
#endif
            _renderer.Append(clipPath.FillMode == XFillMode.Winding ? "W n\n" : "W* n\n");
        }
예제 #5
0
        // ----- AddPath ------------------------------------------------------------------------------

        /// <summary>
        /// Adds the specified path to this path.
        /// </summary>
        public void AddPath(XGraphicsPath path, bool connect)
        {
            DiagnosticsHelper.HandleNotImplemented("XGraphicsPath.AddPath");
        }
예제 #6
0
 /// <summary>
 /// Adds the outline of a pie shape to this path.
 /// </summary>
 public void AddPie(double x, double y, double width, double height, double startAngle, double sweepAngle)
 {
     DiagnosticsHelper.HandleNotImplemented("XGraphicsPath.AddPie");
 }