|
|
|
@ -15,16 +15,13 @@ namespace Avalonia.Visuals.UnitTests.Rendering |
|
|
|
public void AddDirty_Call_RenderRoot_Invalidate() |
|
|
|
{ |
|
|
|
var visual = new Mock<Visual>(); |
|
|
|
var child = new Mock<Visual>(); |
|
|
|
var child = new Mock<Visual>() { CallBase = true }; |
|
|
|
var renderRoot = visual.As<IRenderRoot>(); |
|
|
|
|
|
|
|
visual.As<IVisual>().Setup(v => v.Bounds).Returns(new Rect(0, 0, 400, 400)); |
|
|
|
|
|
|
|
child.As<IVisual>().Setup(v => v.Bounds).Returns(new Rect(10, 10, 100, 100)); |
|
|
|
child.As<IVisual>().Setup(v => v.VisualParent).Returns(visual.Object); |
|
|
|
child.As<IVisual>().Setup(v => v.RenderTransform).Returns(default(Transform)); |
|
|
|
child.As<IVisual>().Setup(v => v.RenderTransformOrigin).Returns(new RelativePoint(0.5, 0.5, RelativeUnit.Relative)); |
|
|
|
child.As<IVisual>().Setup(v => v.TransformToVisual(It.IsAny<IVisual>())).CallBase(); |
|
|
|
|
|
|
|
var target = new ImmediateRenderer(visual.Object); |
|
|
|
|
|
|
|
@ -37,16 +34,14 @@ namespace Avalonia.Visuals.UnitTests.Rendering |
|
|
|
public void AddDirty_With_RenderTransform_Call_RenderRoot_Invalidate() |
|
|
|
{ |
|
|
|
var visual = new Mock<Visual>(); |
|
|
|
var child = new Mock<Visual>(); |
|
|
|
var child = new Mock<Visual>() { CallBase = true }; |
|
|
|
var renderRoot = visual.As<IRenderRoot>(); |
|
|
|
|
|
|
|
visual.As<IVisual>().Setup(v => v.Bounds).Returns(new Rect(0, 0, 400, 400)); |
|
|
|
|
|
|
|
child.As<IVisual>().Setup(v => v.Bounds).Returns(new Rect(100, 100, 100, 100)); |
|
|
|
child.As<IVisual>().Setup(v => v.VisualParent).Returns(visual.Object); |
|
|
|
child.As<IVisual>().Setup(v => v.RenderTransform).Returns(new ScaleTransform() { ScaleX = 2, ScaleY = 2 }); |
|
|
|
child.As<IVisual>().Setup(v => v.RenderTransformOrigin).Returns(new RelativePoint(0.5, 0.5, RelativeUnit.Relative)); |
|
|
|
child.As<IVisual>().Setup(v => v.TransformToVisual(It.IsAny<IVisual>())).CallBase(); |
|
|
|
child.Object.RenderTransform = new ScaleTransform() { ScaleX = 2, ScaleY = 2 }; |
|
|
|
|
|
|
|
var target = new ImmediateRenderer(visual.Object); |
|
|
|
|
|
|
|
@ -58,8 +53,8 @@ namespace Avalonia.Visuals.UnitTests.Rendering |
|
|
|
[Fact] |
|
|
|
public void AddDirty_For_Child_Moved_Should_Invalidate_Previous_Bounds() |
|
|
|
{ |
|
|
|
var visual = new Mock<Visual>(); |
|
|
|
var child = new Mock<Visual>(); |
|
|
|
var visual = new Mock<Visual>() { CallBase = true }; |
|
|
|
var child = new Mock<Visual>() { CallBase = true }; |
|
|
|
var renderRoot = visual.As<IRenderRoot>(); |
|
|
|
var renderTarget = visual.As<IRenderTarget>(); |
|
|
|
|
|
|
|
@ -72,7 +67,6 @@ namespace Avalonia.Visuals.UnitTests.Rendering |
|
|
|
Rect childBounds = new Rect(0, 0, 100, 100); |
|
|
|
child.As<IVisual>().Setup(v => v.Bounds).Returns(() => childBounds); |
|
|
|
child.As<IVisual>().Setup(v => v.VisualParent).Returns(visual.Object); |
|
|
|
child.As<IVisual>().Setup(v => v.TransformToVisual(It.IsAny<IVisual>())).CallBase(); |
|
|
|
child.As<IVisual>().Setup(v => v.VisualChildren).Returns(new AvaloniaList<IVisual>()); |
|
|
|
|
|
|
|
var invalidationCalls = new List<Rect>(); |
|
|
|
@ -100,14 +94,5 @@ namespace Avalonia.Visuals.UnitTests.Rendering |
|
|
|
//then new position
|
|
|
|
Assert.Equal(new Rect(100, 100, 100, 100), invalidationCalls[2]); |
|
|
|
} |
|
|
|
|
|
|
|
public class TestVisual : Visual |
|
|
|
{ |
|
|
|
public new Rect Bounds |
|
|
|
{ |
|
|
|
get => base.Bounds; |
|
|
|
set => base.Bounds = value; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|