|
|
|
@ -656,6 +656,43 @@ namespace Avalonia.Visuals.UnitTests.Rendering.SceneGraph |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Setting_Opacity_Should_Add_Descendent_Bounds_To_DirtyRects() |
|
|
|
{ |
|
|
|
using (TestApplication()) |
|
|
|
{ |
|
|
|
Decorator decorator; |
|
|
|
Border border; |
|
|
|
var tree = new TestRoot |
|
|
|
{ |
|
|
|
Child = decorator = new Decorator |
|
|
|
{ |
|
|
|
Child = border = new Border |
|
|
|
{ |
|
|
|
Background = Brushes.Red, |
|
|
|
Width = 100, |
|
|
|
Height = 100, |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
tree.Measure(Size.Infinity); |
|
|
|
tree.Arrange(new Rect(tree.DesiredSize)); |
|
|
|
|
|
|
|
var scene = new Scene(tree); |
|
|
|
var sceneBuilder = new SceneBuilder(); |
|
|
|
sceneBuilder.UpdateAll(scene); |
|
|
|
|
|
|
|
decorator.Opacity = 0.5; |
|
|
|
scene = scene.CloneScene(); |
|
|
|
sceneBuilder.Update(scene, decorator); |
|
|
|
|
|
|
|
Assert.NotEmpty(scene.Layers.Single().Dirty); |
|
|
|
var dirty = scene.Layers.Single().Dirty.Single(); |
|
|
|
Assert.Equal(new Rect(0, 0, 100, 100), dirty); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Should_Set_GeometryClip() |
|
|
|
{ |
|
|
|
|