Exemplo n.º 1
0
        public void TestPathText()
        {
            string         d    = "M1,2L3,4l5,6H7h8V9v0zC1,2,3,4,5,6c7,8,9,0,1,2S3,4,5,6s7,8,9,0Q1,2,3,4q5,6,7,8T9,0t1,2A3,4,5,1,0,8,9a0,1,2,0,1,5,6";
            SvgPathSegList list = new SvgPathSegList(d, false);

            Assert.AreEqual(d, list.PathText);
        }
        private void VisitPathSegList(SvgGraphicsElement graphicsElement, SvgPathSegList paths)
        {
            if (!ShouldDisplay(graphicsElement))
            {
                return;
            }

            PushTransformsMatrix(graphicsElement.Transform);
            {
                var pathsToDraw = paths
                                  .ConvertToAbsolute()
                                  .ConvertAllLinesAndCurvesToCubicCurves()
                                  .MultiplyByMatrix(CurrentMatrix);

                var svgToPdfPathConverter = new SvgPathSegToDynamicPdfPathsConverter(graphicsElement, null, 0, _spotColorOverride);
                pathsToDraw.ForEach(i => i.Accept(svgToPdfPathConverter));

                foreach (var path in svgToPdfPathConverter.Paths)
                {
                    path.Draw(_writer);
                    ClippingAreaPainted = true;
                }
            }
            PopTransformsMatrix(graphicsElement.Transform);
        }
Exemplo n.º 3
0
        /// <summary>
        /// get height of a path using polygon height method
        /// </summary>
        public double pathHeight(string myPath)
        {
            // just use sharpVector segmentList
            SvgPathSegList mylist = new SvgPathSegList(myPath, true);
            StringBuilder  sb     = new StringBuilder();

            int segCount = 0;

            foreach (SvgPointF seg in mylist.Points)
            {
                sb.Append(Convert.ToString(seg.ValueX) + "," + Convert.ToString(seg.ValueY));
                segCount += 1;
                if (segCount < mylist.NumberOfItems)
                {
                    sb.Append(" ");
                }
            }

            mylist = null;

            string sbString = sb.ToString();

            sb = null;
            return(polyHeight(sbString));
        }
Exemplo n.º 4
0
        public string start()
        {
            string pathstring = @"M70.491,50.826c-2.232,1.152-6.913,2.304-12.817,2.304c-13.682,0-23.906-8.641-23.906-24.626 c0-15.266,10.297-25.49,25.346-25.49c5.977,0,9.865,1.296,11.521,2.16l-1.584,5.112C66.747,9.134,63.363,8.27,59.33,8.27 c-11.377,0-18.938,7.272-18.938,20.018c0,11.953,6.841,19.514,18.578,19.514c3.888,0,7.777-0.792,10.297-2.016L70.491,50.826z";


            SvgPathSegList mylist = new SvgPathSegList(pathstring, true);
            StringBuilder  sb     = new StringBuilder();

            int segCount = 0;

            foreach (SvgPointF seg in mylist.Points)
            {
                sb.Append(Convert.ToString(seg.X) + "," + Convert.ToString(seg.Y));
                segCount += 1;
                if (segCount < mylist.NumberOfItems)
                {
                    sb.Append(" ");
                }
            }

            sb.Append("<br>" + segCount + "<br>" + mylist.NumberOfItems);


            //return Convert.ToString(mylist.GetTotalLength());
            return(sb.ToString());
        }
Exemplo n.º 5
0
        public void TestReplace()
        {
            SvgPathSegList list = getNonEmptyList();

            list.ReplaceItem(getLineto(), 0);
            Assert.AreEqual(3, list.NumberOfItems);
            Assert.AreEqual(SvgPathSegType.LineToAbs, list[0].PathSegType);
        }
Exemplo n.º 6
0
        public void TestAppend()
        {
            SvgPathSegList list = getEmptyList();

            list.AppendItem(getLineto());
            Assert.AreEqual(1, list.NumberOfItems);
            Assert.AreEqual(SvgPathSegType.LineToAbs, list[0].PathSegType);
        }
Exemplo n.º 7
0
        public void TestInitialize()
        {
            SvgPathSegList list = getNonEmptyList();

            list.Initialize(getLineto());
            Assert.AreEqual(1, list.NumberOfItems);
            Assert.AreEqual(SvgPathSegType.LineToAbs, list[0].PathSegType);
            Assert.AreEqual(0, ((SvgPathSeg)list[0]).Index);
        }
Exemplo n.º 8
0
        public void TestStartEndAngle1()
        {
            SvgPathSegList list = new SvgPathSegList("M10,10L100,10,100,100,10,100z", false);

            Assert.AreEqual(270, ((SvgPathSeg)list[1]).StartAngle);
            Assert.AreEqual(90, ((SvgPathSeg)list[1]).EndAngle);

            Assert.AreEqual(180, ((SvgPathSeg)list[4]).StartAngle);
            Assert.AreEqual(0, ((SvgPathSeg)list[4]).EndAngle);
        }
Exemplo n.º 9
0
        public void TestRemove()
        {
            SvgPathSegList list = getNonEmptyList();

            list.RemoveItem(1);
            Assert.AreEqual(2, list.NumberOfItems);
            Assert.AreEqual(0, ((SvgPathSeg)list[0]).Index);
            Assert.AreEqual(1, ((SvgPathSeg)list[1]).Index);
            Assert.AreEqual(SvgPathSegType.LineToRel, list[1].PathSegType);
        }
Exemplo n.º 10
0
        private void diffAndBisectTest(SvgPathSegList list, int startSeg, float expectedDiff, float expectedBisect)
        {
            float diff   = SvgNumber.CalcAngleDiff(((SvgPathSeg)list[startSeg]).EndAngle, ((SvgPathSeg)list[startSeg + 1]).StartAngle);
            float bisect = SvgNumber.CalcAngleBisection(((SvgPathSeg)list[startSeg]).EndAngle, ((SvgPathSeg)list[startSeg + 1]).StartAngle);

            string label = startSeg + "-" + (startSeg + 1);

            floatsTest(label + " diff", expectedDiff, diff);
            floatsTest(label + " bisect", expectedBisect, bisect);
        }
Exemplo n.º 11
0
        public void TestMultipleMovetosRel()
        {
            SvgPathSegList list = new SvgPathSegList("m10,30 20,20", false);

            Assert.AreEqual(2, list.NumberOfItems);
            Assert.AreEqual("m", list[0].PathSegTypeAsLetter);
            Assert.AreEqual(new PointF(10, 30), ((SvgPathSegMovetoRel)list[0]).AbsXY);
            Assert.AreEqual("l", list[1].PathSegTypeAsLetter);
            Assert.AreEqual(new PointF(30, 50), ((SvgPathSegLinetoRel)list[1]).AbsXY);
        }
Exemplo n.º 12
0
        // hanlde Paths :

        public static double getPathLength(string myPath)
        {
            // just use sharpVector segmentList
            SvgPathSegList mylist     = new SvgPathSegList(myPath, true);
            Double         pathLength = mylist.GetTotalLength();

            mylist = null;

            //return convertUnitToMm(pathLength);
            return(convertPixelToMm(pathLength));
        }
Exemplo n.º 13
0
        public void TestMultipleMovetosAbs()
        {
            SvgPathSegList list = new SvgPathSegList("M10, 30 70-20,23 -12", false);

            Assert.AreEqual(3, list.NumberOfItems);
            Assert.AreEqual("M", list[0].PathSegTypeAsLetter);
            Assert.AreEqual(new PointF(10, 30), ((SvgPathSegMovetoAbs)list[0]).AbsXY);
            Assert.AreEqual("L", list[1].PathSegTypeAsLetter);
            Assert.AreEqual(new PointF(70, -20), ((SvgPathSegLinetoAbs)list[1]).AbsXY);
            Assert.AreEqual("L", list[2].PathSegTypeAsLetter);
            Assert.AreEqual(new PointF(23, -12), ((SvgPathSegLinetoAbs)list[2]).AbsXY);
        }
Exemplo n.º 14
0
        private void RenderPathSegList(SvgGraphicsElement element, SvgPathSegList segs)
        {
            var reenderer = new PathRenderer();

            foreach (var seq in segs)
            {
                seq.Accept(reenderer);
            }
            var path = reenderer.Path();

            this.RenderShapeToCanvas(element, path);
        }
Exemplo n.º 15
0
        public void TestInsert()
        {
            SvgPathSegList list = getNonEmptyList();

            list.InsertItemBefore(getLineto(), 1);
            Assert.AreEqual(4, list.NumberOfItems);

            Assert.AreEqual(1, ((SvgPathSeg)list[1]).Index);
            Assert.AreEqual(2, ((SvgPathSeg)list[2]).Index);
            Assert.AreEqual(SvgPathSegType.MoveToAbs, list[0].PathSegType);
            Assert.AreEqual(SvgPathSegType.LineToAbs, list[1].PathSegType);
            Assert.AreEqual(SvgPathSegType.LineToAbs, list[2].PathSegType);
            Assert.AreEqual(SvgPathSegType.LineToRel, list[3].PathSegType);
        }
Exemplo n.º 16
0
        private PageElement VisitPathSegList(SvgGraphicsElement graphicsElement, SvgPathSegList paths)
        {
            if (!IsVisible(graphicsElement))
            {
                return(null);
            }

            var result = new Group();

            PushTransformsMatrix(graphicsElement.Transform);
            var innerMatrix = CurrentMatrix;

            var pathsToDraw = paths
                              .ConvertToAbsolute()
                              .ConvertAllLinesAndCurvesToCubicCurves()
                              .MultiplyByMatrix(CurrentMatrix);

            var fillOpacity           = Math.Max(0, Math.Min(1, graphicsElement.Style.FillOpacity));
            var strokeOpacity         = Math.Max(0, Math.Min(1, graphicsElement.Style.StrokeOpacity));
            var svgToPdfPathConverter = new SvgPathSegToDynamicPdfPathsConverter(graphicsElement, _pageViewport, _pageHeight, _spotColorOverride);

            bool IsPaintedPath(Path path) => path.FillColor != null || path.LineColor != null;

            if (Math.Abs(fillOpacity - 1) > float.Epsilon || Math.Abs(strokeOpacity - 1) > float.Epsilon)
            {
                var fillGroup = new TransparencyGroup(fillOpacity * _groupAlpha);
                svgToPdfPathConverter.SetStrokeStyle(null);
                pathsToDraw.ForEach(i => i.Accept(svgToPdfPathConverter));
                fillGroup.AddRange(svgToPdfPathConverter.Paths.Where(IsPaintedPath));

                svgToPdfPathConverter.Reset();
                svgToPdfPathConverter.SetFillStyle(null);
                svgToPdfPathConverter.SetStrokeStyle(graphicsElement);
                var strokeGroup = new TransparencyGroup(strokeOpacity * _groupAlpha);
                pathsToDraw.ForEach(i => i.Accept(svgToPdfPathConverter));
                strokeGroup.AddRange(svgToPdfPathConverter.Paths.Where(IsPaintedPath));

                result.Add(fillGroup);
                result.Add(strokeGroup);
            }
            else
            {
                pathsToDraw.ForEach(i => i.Accept(svgToPdfPathConverter));
                result.AddRange(svgToPdfPathConverter.Paths.Where(IsPaintedPath));
            }
            PopTransformsMatrix(graphicsElement.Transform);

            return(result.Count == 0 ? null : CheckAndApplyClipPath(graphicsElement, result, innerMatrix));
        }
Exemplo n.º 17
0
        public void ParseTest1()
        {
            SvgPathSegList list = new SvgPathSegList("M10, 30L70-20,23 -12L23 34z", false);

            Assert.AreEqual(5, list.NumberOfItems);
            Assert.AreEqual("M", list[0].PathSegTypeAsLetter);
            Assert.AreEqual(new PointF(10, 30), ((SvgPathSegMovetoAbs)list[0]).AbsXY);
            Assert.AreEqual("L", list[1].PathSegTypeAsLetter);
            Assert.AreEqual(new PointF(70, -20), ((SvgPathSegLinetoAbs)list[1]).AbsXY);
            Assert.AreEqual("L", list[2].PathSegTypeAsLetter);
            Assert.AreEqual(new PointF(23, -12), ((SvgPathSegLinetoAbs)list[2]).AbsXY);
            Assert.AreEqual("L", list[3].PathSegTypeAsLetter);
            Assert.AreEqual(new PointF(23, 34), ((SvgPathSegLinetoAbs)list[3]).AbsXY);
            Assert.AreEqual("z", list[4].PathSegTypeAsLetter);
        }
Exemplo n.º 18
0
        /// <summary>
        /// Not using returns negative value if points in wrong order
        /// </summary>
        public double getPathArea(string myPath)
        {
            // just use sharpVector segmentList
            SvgPathSegList mylist = new SvgPathSegList(myPath, true);
            StringBuilder  sb     = new StringBuilder();
            double         fX     = 0.0;
            double         fY     = 0.0;

            int segCount = 0;

            foreach (SvgPointF seg in mylist.Points)
            {
                sb.Append(Convert.ToString(seg.ValueX) + "," + Convert.ToString(seg.ValueY));
                segCount += 1;

                if (segCount < mylist.NumberOfItems)
                {
                    sb.Append(" ");
                }
            }

            mylist = null;

            //reverse order


            string[]      points    = sb.ToString().Split(' ');
            StringBuilder revPoints = new StringBuilder();

            for (int i = points.Length - 3; i >= 0; i--)
            {
                if (points[i].Contains(","))
                {
                    revPoints.Append(points[i]);

                    if (i > 0)
                    {
                        revPoints.Append(" ");
                    }
                }
            }

            return(polygonArea(revPoints.ToString()));
        }
Exemplo n.º 19
0
        public void TestStartEndAngle2()
        {
            SvgPathSegList list = new SvgPathSegList("M5,5 L15,5 25,25 Q30,40 40,30 L50 20 a25,25 -30 0,1 0,50 l-40 20 z", false);

            floatsTest("1 startAngle", 270, ((SvgPathSeg)list[1]).StartAngle);
            floatsTest("1 endAngle", 90, ((SvgPathSeg)list[1]).EndAngle);

            diffAndBisectTest(list, 1, 117, 31.5f);

            floatsTest("2 startAngle", 333, ((SvgPathSeg)list[2]).StartAngle);
            floatsTest("2 endAngle", 153, ((SvgPathSeg)list[2]).EndAngle);

            diffAndBisectTest(list, 2, 172, 67.5f);

            floatsTest("3 startAngle", 342, ((SvgPathSeg)list[3]).StartAngle);
            floatsTest("3 endAngle", 45, ((SvgPathSeg)list[3]).EndAngle);

            diffAndBisectTest(list, 3, 180, 315f);

            floatsTest("4 startAngle", 225, ((SvgPathSeg)list[4]).StartAngle);
            floatsTest("4 endAngle", 45, ((SvgPathSeg)list[4]).EndAngle);

            diffAndBisectTest(list, 4, 135, 337.5f);

            floatsTest("5 startAngle", 270, ((SvgPathSeg)list[5]).StartAngle);
            floatsTest("5 endAngle", 270, ((SvgPathSeg)list[5]).EndAngle);

            diffAndBisectTest(list, 5, 207, 166.5f);

            //rel Lineto 50,70	=> 10,90
            floatsTest("6 startAngle", 63, ((SvgPathSeg)list[6]).StartAngle);
            floatsTest("6 endAngle", 243, ((SvgPathSeg)list[6]).EndAngle);

            diffAndBisectTest(list, 6, 67, 210f);

            //close 10,90	=> 5,5
            floatsTest("7 startAngle", 177, ((SvgPathSeg)list[7]).StartAngle);
            floatsTest("7 endAngle", 357, ((SvgPathSeg)list[7]).EndAngle);
        }
        public static GraphicsPath CreatePath(SvgPathElement element)
        {
            GraphicsPath gp = new GraphicsPath();

            SvgPointF initPoint = new SvgPointF(0, 0);
            SvgPointF lastPoint = new SvgPointF(0, 0);

            SvgPointF ptXY = new SvgPointF(0, 0);

            SvgPathSeg        segment     = null;
            SvgPathSegMoveto  pathMoveTo  = null;
            SvgPathSegLineto  pathLineTo  = null;
            SvgPathSegCurveto pathCurveTo = null;
            SvgPathSegArc     pathArc     = null;

            SvgPathSegList segments = element.PathSegList;
            int            nElems   = segments.NumberOfItems;

            for (int i = 0; i < nElems; i++)
            {
                segment = segments.GetItem(i);
                switch (segment.PathType)
                {
                case SvgPathType.MoveTo:     //if (DynamicCast.Cast(segment, out pathMoveTo))
                    pathMoveTo = (SvgPathSegMoveto)segment;
                    gp.StartFigure();
                    lastPoint = initPoint = pathMoveTo.AbsXY;
                    break;

                case SvgPathType.LineTo:     //else if (DynamicCast.Cast(segment, out pathLineTo))
                    pathLineTo = (SvgPathSegLineto)segment;
                    ptXY       = pathLineTo.AbsXY;
                    gp.AddLine(lastPoint.X, lastPoint.Y, ptXY.X, ptXY.Y);

                    lastPoint = ptXY;
                    break;

                case SvgPathType.CurveTo:     //else if (DynamicCast.Cast(segment, out pathCurveTo))
                    pathCurveTo = (SvgPathSegCurveto)segment;

                    SvgPointF xy   = pathCurveTo.AbsXY;
                    SvgPointF x1y1 = pathCurveTo.CubicX1Y1;
                    SvgPointF x2y2 = pathCurveTo.CubicX2Y2;
                    gp.AddBezier(lastPoint.X, lastPoint.Y, x1y1.X, x1y1.Y, x2y2.X, x2y2.Y, xy.X, xy.Y);

                    lastPoint = xy;
                    break;

                case SvgPathType.ArcTo:     //else if (DynamicCast.Cast(segment, out pathArc))
                    pathArc = (SvgPathSegArc)segment;
                    ptXY    = pathArc.AbsXY;
                    if (lastPoint.Equals(ptXY))
                    {
                        // If the endpoints (x, y) and (x0, y0) are identical, then this
                        // is equivalent to omitting the elliptical arc segment entirely.
                    }
                    else if (pathArc.R1.Equals(0) || pathArc.R2.Equals(0))
                    {
                        // Ensure radii are valid
                        gp.AddLine(lastPoint.X, lastPoint.Y, ptXY.X, ptXY.Y);
                    }
                    else
                    {
                        CalculatedArcValues calcValues = pathArc.GetCalculatedArcValues();

                        GraphicsPath subPath = new GraphicsPath();
                        subPath.StartFigure();
                        subPath.AddArc((float)(calcValues.Cx - calcValues.CorrRx),
                                       (float)(calcValues.Cy - calcValues.CorrRy),
                                       (float)calcValues.CorrRx * 2, (float)calcValues.CorrRy * 2,
                                       (float)calcValues.AngleStart, (float)calcValues.AngleExtent);

                        Matrix matrix = new Matrix();
                        matrix.Translate(-(float)calcValues.Cx, -(float)calcValues.Cy);
                        subPath.Transform(matrix);

                        matrix = new Matrix();
                        matrix.Rotate((float)pathArc.Angle);
                        subPath.Transform(matrix);

                        matrix = new Matrix();
                        matrix.Translate((float)calcValues.Cx, (float)calcValues.Cy);
                        subPath.Transform(matrix);

                        gp.AddPath(subPath, true);
                    }

                    lastPoint = ptXY;
                    break;

                case SvgPathType.Close:    //else if (segment is SvgPathSegClosePath)
                    gp.CloseFigure();

                    lastPoint = initPoint;
                    break;
                }
            }

            string fillRule = element.GetPropertyValue("fill-rule");

            if (fillRule == "evenodd")
            {
                gp.FillMode = FillMode.Alternate;
            }
            else
            {
                gp.FillMode = FillMode.Winding;
            }

            return(gp);
        }
Exemplo n.º 21
0
        public Geometry CreateGeometry(SvgPathElement element)
        {
            PathGeometry geometry = new PathGeometry();

            var    comparer = StringComparison.OrdinalIgnoreCase;
            string fillRule = element.GetPropertyValue("fill-rule");
            string clipRule = element.GetAttribute("clip-rule");

            if (!string.IsNullOrWhiteSpace(clipRule) && string.Equals(clipRule, "evenodd", comparer) ||
                string.Equals(clipRule, CssConstants.ValNonzero, comparer))
            {
                fillRule = clipRule;
            }
            if (string.Equals(fillRule, "evenodd", comparer))
            {
                geometry.FillRule = FillRule.EvenOdd;
            }
            else if (string.Equals(fillRule, CssConstants.ValNonzero, comparer))
            {
                geometry.FillRule = FillRule.Nonzero;
            }

            SvgPointF initPoint = new SvgPointF(0, 0);
            SvgPointF lastPoint = new SvgPointF(0, 0);
            SvgPointF ptXY      = new SvgPointF(0, 0);

            SvgPathSeg        segment     = null;
            SvgPathSegMoveto  pathMoveTo  = null;
            SvgPathSegLineto  pathLineTo  = null;
            SvgPathSegCurveto pathCurveTo = null;
            SvgPathSegArc     pathArc     = null;

            SvgPathSegList segments = element.PathSegList;
            int            numSegs  = segments.NumberOfItems;

            if (numSegs == 0)
            {
                return(geometry);
            }

            PathFigure pathFigure = null;

            for (int i = 0; i < numSegs; i++)
            {
                segment = segments.GetItem(i);

                switch (segment.PathType)
                {
                case SvgPathType.MoveTo:     //if (DynamicCast.Cast(segment, out pathMoveTo))
                    pathMoveTo = (SvgPathSegMoveto)segment;
                    if (pathFigure != null)
                    {
                        pathFigure.IsClosed = false;
                        pathFigure.IsFilled = true;
                        geometry.Figures.Add(pathFigure);
                        pathFigure = null;
                    }

                    lastPoint = initPoint = pathMoveTo.AbsXY;

                    pathFigure            = new PathFigure();
                    pathFigure.StartPoint = new Point(initPoint.ValueX, initPoint.ValueY);
                    break;

                case SvgPathType.LineTo:     //else if (DynamicCast.Cast(segment, out pathLineTo))
                    pathLineTo = (SvgPathSegLineto)segment;
                    ptXY       = pathLineTo.AbsXY;
                    pathFigure.Segments.Add(new LineSegment(new Point(ptXY.ValueX, ptXY.ValueY), true));

                    lastPoint = ptXY;
                    break;

                case SvgPathType.CurveTo:     //else if (DynamicCast.Cast(segment, out pathCurveTo))
                    pathCurveTo = (SvgPathSegCurveto)segment;

                    SvgPointF xy   = pathCurveTo.AbsXY;
                    SvgPointF x1y1 = pathCurveTo.CubicX1Y1;
                    SvgPointF x2y2 = pathCurveTo.CubicX2Y2;
                    pathFigure.Segments.Add(new BezierSegment(new Point(x1y1.ValueX, x1y1.ValueY),
                                                              new Point(x2y2.ValueX, x2y2.ValueY), new Point(xy.ValueX, xy.ValueY), true));

                    lastPoint = xy;
                    break;

                case SvgPathType.ArcTo:     //else if (DynamicCast.Cast(segment, out pathArc))
                    pathArc = (SvgPathSegArc)segment;
                    ptXY    = pathArc.AbsXY;
                    if (lastPoint.Equals(ptXY))
                    {
                        // If the endpoints (x, y) and (x0, y0) are identical, then this
                        // is equivalent to omitting the elliptical arc segment entirely.
                    }
                    else if (pathArc.R1.Equals(0) || pathArc.R2.Equals(0))
                    {
                        // Ensure radii are valid
                        pathFigure.Segments.Add(new LineSegment(new Point(ptXY.ValueX, ptXY.ValueY), true));
                    }
                    else
                    {
                        CalculatedArcValues calcValues = pathArc.GetCalculatedArcValues();

                        pathFigure.Segments.Add(new ArcSegment(new Point(ptXY.ValueX, ptXY.ValueY),
                                                               new Size(pathArc.R1, pathArc.R2), pathArc.Angle, pathArc.LargeArcFlag,
                                                               pathArc.SweepFlag ? SweepDirection.Clockwise : SweepDirection.Counterclockwise,
                                                               true));
                    }

                    lastPoint = ptXY;
                    break;

                case SvgPathType.Close:    //else if (segment is SvgPathSegClosePath)
                    if (pathFigure != null)
                    {
                        pathFigure.IsClosed = true;
                        pathFigure.IsFilled = true;
                        geometry.Figures.Add(pathFigure);
                        pathFigure = null;
                    }

                    lastPoint = initPoint;
                    break;
                }
            }

            if (pathFigure != null)
            {
                pathFigure.IsClosed = false;
                pathFigure.IsFilled = true;
                geometry.Figures.Add(pathFigure);
            }

            return(geometry);
        }
Exemplo n.º 22
0
        public void TestEmptyList()
        {
            SvgPathSegList list = getEmptyList();

            Assert.AreEqual(0, list.NumberOfItems);
        }
Exemplo n.º 23
0
        public void TestReadOnlyAppend()
        {
            SvgPathSegList list = new SvgPathSegList("", true);

            list.AppendItem(getLineto());
        }
 public void SetUp()
 {
     segments = makeSegments();
     segment  = getTestSegment();
 }
Exemplo n.º 25
0
        public void TestReadOnlyClear()
        {
            SvgPathSegList list = new SvgPathSegList("", true);

            list.Clear();
        }
 public void SetUp()
 {
     segments = makeSegments();
             segment = getTestSegment();
 }