From 1f8400a6ff2da8f627285f2fdccd03803dedb19c Mon Sep 17 00:00:00 2001 From: Jumar Macato Date: Mon, 25 Jun 2018 17:09:53 +0800 Subject: [PATCH] Fix ghosting artifacts on both Renderers #1687 --- src/Avalonia.Visuals/Rendering/DeferredRenderer.cs | 2 ++ src/Avalonia.Visuals/Rendering/ImmediateRenderer.cs | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs b/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs index a14923b410..ed557b8b74 100644 --- a/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs +++ b/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs @@ -337,6 +337,8 @@ namespace Avalonia.Rendering private void RenderComposite(Scene scene, IDrawingContextImpl context) { + context.Clear(Colors.Transparent); + var clientRect = new Rect(scene.Size); foreach (var layer in scene.Layers) diff --git a/src/Avalonia.Visuals/Rendering/ImmediateRenderer.cs b/src/Avalonia.Visuals/Rendering/ImmediateRenderer.cs index 2118b66de2..93bb36c3cd 100644 --- a/src/Avalonia.Visuals/Rendering/ImmediateRenderer.cs +++ b/src/Avalonia.Visuals/Rendering/ImmediateRenderer.cs @@ -224,6 +224,9 @@ namespace Avalonia.Rendering var clipToBounds = visual.ClipToBounds; var bounds = new Rect(visual.Bounds.Size); + if (visual == _root) + context.PlatformImpl.Clear(Colors.Transparent); + if (visual.IsVisible && opacity > 0) { var m = Matrix.CreateTranslation(visual.Bounds.Position);