Пример #1
0
 /// <summary>
 /// Adds an elliptical arc to the current figure. The arc is specified WPF like.
 /// </summary>
 public void AddArc(XPoint point1, XPoint point2, XSize size, double rotationAngle, bool isLargeArg, SweepDirection sweepDirection)
 {
   PathFigure figure = CurrentPathFigure;
   if (figure.Segments.Count == 0)
     figure.StartPoint = point1.ToPoint();
   else
     figure.Segments.Add(new LineSegment(point1.ToPoint(), true));
   figure.Segments.Add(new ArcSegment(point2.ToPoint(), size.ToSize(), rotationAngle, isLargeArg, sweepDirection, true));
 }
Пример #2
0
        /// <summary>
        /// Adds an elliptical arc to the current figure. The arc is specified WPF like.
        /// </summary>
        public void AddArc(XPoint point1, XPoint point2, XSize size, double rotationAngle, bool isLargeArg, XSweepDirection sweepDirection)
        {
#if CORE
            _corePath.AddArc(point1, point2, size, rotationAngle, isLargeArg, sweepDirection);
#endif
#if GDI
            DiagnosticsHelper.HandleNotImplemented("XGraphicsPath.AddArc");
#endif
#if WPF
            PathFigure figure = CurrentPathFigure;
            if (figure.Segments.Count == 0)
                figure.StartPoint = point1.ToPoint();
            else
            {
                // figure.Segments.Add(new LineSegment(point1.ToPoint(), true));
#if !SILVERLIGHT
                LineSegment lineSegment = new LineSegment(point1.ToPoint(), true);
#else
                LineSegment lineSegment = new LineSegment();
                lineSegment.Point = point1.ToPoint();
#endif
                figure.Segments.Add(lineSegment);
            }

            // figure.Segments.Add(new ArcSegment(point2.ToPoint(), size.ToSize(), rotationAngle, isLargeArg, sweepDirection, true));
#if !SILVERLIGHT
            ArcSegment arcSegment = new ArcSegment(point2.ToPoint(), size.ToSize(), rotationAngle, isLargeArg, (SweepDirection)sweepDirection, true);
#else
            ArcSegment arcSegment = new ArcSegment();
            arcSegment.Point = point2.ToPoint();
            arcSegment.Size = size.ToSize();
            arcSegment.RotationAngle = rotationAngle;
            arcSegment.IsLargeArc = isLargeArg;
            arcSegment.SweepDirection = (SweepDirection)sweepDirection;
#endif
            figure.Segments.Add(arcSegment);
#endif
        }
Пример #3
0
    /// <summary>
    /// Adds an elliptical arc to the current figure. The arc is specified WPF like.
    /// </summary>
    public void AddArc(XPoint point1, XPoint point2, XSize size, double rotationAngle, bool isLargeArg, SweepDirection sweepDirection)
    {
      PathFigure figure = CurrentPathFigure;
      if (figure.Segments.Count == 0)
        figure.StartPoint = point1.ToPoint();
      else
      {
        // figure.Segments.Add(new LineSegment(point1.ToPoint(), true));
#if !SILVERLIGHT
        LineSegment lineSegment = new LineSegment(point1.ToPoint(), true);
#else
        LineSegment lineSegment = new LineSegment();
        lineSegment.Point = point1.ToPoint();
#endif
        figure.Segments.Add(lineSegment);
      }

      // figure.Segments.Add(new ArcSegment(point2.ToPoint(), size.ToSize(), rotationAngle, isLargeArg, sweepDirection, true));
#if !SILVERLIGHT
      ArcSegment arcSegment = new ArcSegment(point2.ToPoint(), size.ToSize(), rotationAngle, isLargeArg, sweepDirection, true);
#else
      ArcSegment arcSegment = new ArcSegment();
      arcSegment.Point = point2.ToPoint();
      arcSegment.Size = size.ToSize();
      arcSegment.RotationAngle = rotationAngle;
      arcSegment.IsLargeArc = isLargeArg;
      arcSegment.SweepDirection = sweepDirection;
#endif
      figure.Segments.Add(arcSegment);
    }