Browse Source

Merge pull request #8245 from Whiletru3/stable/0.10.x

Use own Pen (if set) in GeometryDrawing.GetBounds
pull/8415/head
Max Katz 4 years ago
committed by GitHub
parent
commit
277d94c10e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      src/Avalonia.Visuals/Media/GeometryDrawing.cs
  2. 52
      tests/Avalonia.RenderTests/Media/GeometryDrawingTests.cs

3
src/Avalonia.Visuals/Media/GeometryDrawing.cs

@ -68,7 +68,8 @@ namespace Avalonia.Media
public override Rect GetBounds()
{
return Geometry?.GetRenderBounds(s_boundsPen) ?? Rect.Empty;
IPen pen = Pen ?? s_boundsPen;
return Geometry?.GetRenderBounds(pen) ?? Rect.Empty;
}
}
}

52
tests/Avalonia.RenderTests/Media/GeometryDrawingTests.cs

@ -0,0 +1,52 @@
using Avalonia.Media;
using Xunit;
#if AVALONIA_SKIA
namespace Avalonia.Skia.RenderTests
#else
using Avalonia.Direct2D1.RenderTests;
namespace Avalonia.Direct2D1.RenderTests.Media
#endif
{
public class GeometryDrawingTests : TestBase
{
public GeometryDrawingTests()
: base(@"Media\GeometryDrawing")
{
}
private GeometryDrawing CreateGeometryDrawing()
{
GeometryDrawing geometryDrawing = new GeometryDrawing();
EllipseGeometry ellipse = new EllipseGeometry();
ellipse.RadiusX = 100;
ellipse.RadiusY = 100;
geometryDrawing.Geometry = ellipse;
return geometryDrawing;
}
[Fact]
public void DrawingGeometry_WithPen()
{
GeometryDrawing geometryDrawing = CreateGeometryDrawing();
geometryDrawing.Pen = new Pen(new SolidColorBrush(Color.FromArgb(255, 0, 0, 0)), 10);
Assert.Equal(210, geometryDrawing.GetBounds().Height);
Assert.Equal(210, geometryDrawing.GetBounds().Width);
}
[Fact]
public void DrawingGeometry_WithoutPen()
{
GeometryDrawing geometryDrawing = CreateGeometryDrawing();
Assert.Equal(200, geometryDrawing.GetBounds().Height);
Assert.Equal(200, geometryDrawing.GetBounds().Width);
}
}
}
Loading…
Cancel
Save