Przeglądaj źródła

Fixed @kekekeks notes.

Fixed test name (Line instead of Circle).
Ivan Kochurkin 10 lat temu
rodzic
commit
2cfa6f842e

+ 8 - 3
src/Perspex.SceneGraph/Media/LineGeometry.cs

@@ -10,6 +10,9 @@ namespace Perspex.Media
     /// </summary>
     public class LineGeometry : Geometry
     {
+        private Point _startPoint;
+        private Point _endPoint;
+
         /// <summary>
         /// Initializes a new instance of the <see cref="LineGeometry"/> class.
         /// </summary>
@@ -17,21 +20,23 @@ namespace Perspex.Media
         /// <param name="endPoint">The end point.</param>
         public LineGeometry(Point startPoint, Point endPoint)
         {
+            _startPoint = startPoint;
+            _endPoint = endPoint;
             IPlatformRenderInterface factory = PerspexLocator.Current.GetService<IPlatformRenderInterface>();
             IStreamGeometryImpl impl = factory.CreateStreamGeometry();
 
             using (IStreamGeometryContextImpl context = impl.Open())
             {
-                context.BeginFigure(startPoint, true);
+                context.BeginFigure(startPoint, false);
                 context.LineTo(endPoint);
-                context.EndFigure(true);
+                context.EndFigure(false);
             }
 
             PlatformImpl = impl;
         }
 
         /// <inheritdoc/>
-        public override Rect Bounds => PlatformImpl.Bounds;
+        public override Rect Bounds => new Rect(_startPoint, _endPoint);
 
         /// <inheritdoc/>
         public override Geometry Clone()

+ 1 - 0
tests/Perspex.RenderTests/Perspex.Cairo.RenderTests.csproj

@@ -71,6 +71,7 @@
     <Compile Include="Media\ImageBrushTests.cs" />
     <Compile Include="Media\LinearGradientBrushTests.cs" />
     <Compile Include="Media\VisualBrushTests.cs" />
+    <Compile Include="Shapes\LineTests.cs" />
     <Compile Include="Shapes\PathTests.cs" />
     <Compile Include="Shapes\EllipseTests.cs" />
     <Compile Include="Shapes\RectangleTests.cs" />

+ 1 - 0
tests/Perspex.RenderTests/Perspex.Skia.RenderTests.csproj

@@ -68,6 +68,7 @@
     <Compile Include="Media\LinearGradientBrushTests.cs" />
     <Compile Include="Media\VisualBrushTests.cs" />
     <Compile Include="Shapes\EllipseTests.cs" />
+    <Compile Include="Shapes\LineTests.cs" />
     <Compile Include="Shapes\PathTests.cs" />
     <Compile Include="Shapes\RectangleTests.cs" />
     <Compile Include="TestBase.cs" />

+ 1 - 1
tests/Perspex.RenderTests/Shapes/LineTests.cs

@@ -22,7 +22,7 @@ namespace Perspex.Direct2D1.RenderTests.Shapes
         }
 
         [Fact]
-        public void Circle_1px_Stroke()
+        public void Line_1px_Stroke()
         {
             Decorator target = new Decorator
             {

BIN
tests/TestFiles/Direct2D1/Shapes/Line/Circle_1px_Stroke.expected.png → tests/TestFiles/Cairo/Shapes/Line/Line_1px_Stroke.expected.png


BIN
tests/TestFiles/Direct2D1/Shapes/Line/Line_1px_Stroke.expected.png


BIN
tests/TestFiles/Skia/Shapes/Line/Line_1px_Stroke.expected.png