Browse Source

Reserve all of arrange rect.

pull/4858/head
Steven Kirk 6 years ago
parent
commit
10b6cfc011
  1. 3
      src/Avalonia.Controls/Shapes/Shape.cs
  2. 20
      tests/Avalonia.Controls.UnitTests/Shapes/PathTests.cs

3
src/Avalonia.Controls/Shapes/Shape.cs

@ -62,7 +62,6 @@ namespace Avalonia.Controls.Shapes
private Matrix _transform = Matrix.Identity;
private Geometry? _definingGeometry;
private Geometry? _renderedGeometry;
private bool _calculateTransformOnArrange;
static Shape()
{
@ -270,7 +269,7 @@ namespace Avalonia.Controls.Shapes
_renderedGeometry = null;
}
return size;
return finalSize;
}
return Size.Empty;

20
tests/Avalonia.Controls.UnitTests/Shapes/PathTests.cs

@ -119,6 +119,26 @@ namespace Avalonia.Controls.UnitTests.Shapes
}
}
[Fact]
public void Arrange_Reserves_All_Of_Arrange_Rect()
{
using var app = UnitTestApplication.Start(TestServices.MockPlatformRenderInterface);
RectangleGeometry geometry;
var target = new Path
{
Data = geometry = new RectangleGeometry { Rect = new Rect(0, 0, 100, 200) },
Stretch = Stretch.Uniform,
};
target.Measure(new Size(400, 400));
target.Arrange(new Rect(0, 0, 400, 400));
Assert.Equal(new Rect(0, 0, 100, 200), geometry.Rect);
Assert.Equal(Matrix.CreateScale(2, 2), target.RenderedGeometry.Transform.Value);
Assert.Equal(new Rect(0, 0, 400, 400), target.Bounds);
}
[Fact]
public void Measure_Without_Arrange_Does_Not_Clear_RenderedGeometry_Transform()
{

Loading…
Cancel
Save