Browse Source

Reset cached transform on PopEffect (#20474)

pull/20480/head
Julien Lebosquain 3 weeks ago
committed by GitHub
parent
commit
8215194f32
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      src/Skia/Avalonia.Skia/DrawingContextImpl.Effects.cs
  2. 40
      tests/Avalonia.RenderTests/Media/EffectTests.cs
  3. BIN
      tests/TestFiles/Skia/Media/Effects/EffectFollowedByNonEffect.expected.png

2
src/Skia/Avalonia.Skia/DrawingContextImpl.Effects.cs

@ -23,7 +23,7 @@ partial class DrawingContextImpl
public void PopEffect()
{
CheckLease();
Canvas.Restore();
RestoreCanvas();
}
SKImageFilter? CreateEffect(IEffect effect)

40
tests/Avalonia.RenderTests/Media/EffectTests.cs

@ -1,5 +1,6 @@
using System.Threading.Tasks;
using Avalonia.Controls;
using Avalonia.Controls.Shapes;
using Avalonia.Media;
using Xunit;
#pragma warning disable CS0649
@ -38,6 +39,43 @@ public class EffectTests : TestBase
await RenderToFile(target);
CompareImages(skipImmediate: true);
}
[Fact]
public async Task EffectFollowedByNonEffect()
{
var target = new Border
{
Background = Brushes.White,
Width = 200,
Height = 200,
Child = new Panel
{
Margin = new Thickness(25),
Children =
{
new Rectangle
{
Fill = Brushes.Yellow,
Effect = new DropShadowEffect
{
Opacity = 1,
OffsetX = 0,
OffsetY = 0,
Color = Colors.Black,
BlurRadius = 50
}
},
new Rectangle
{
Fill = new SolidColorBrush(0x7F007FFF)
}
}
}
};
await RenderToFile(target);
CompareImages(skipImmediate: true);
}
}
#endif
#endif

BIN
tests/TestFiles/Skia/Media/Effects/EffectFollowedByNonEffect.expected.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Loading…
Cancel
Save