Browse Source

Merge pull request #8911 from AvaloniaUI/wasm-composition

use composition on wasm.
pull/8912/head
Max Katz 4 years ago
committed by GitHub
parent
commit
0a02022818
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      src/Web/Avalonia.Web.Blazor/AvaloniaView.razor.cs
  2. 3
      src/Web/Avalonia.Web.Blazor/RazorViewTopLevelImpl.cs

5
src/Web/Avalonia.Web.Blazor/AvaloniaView.razor.cs

@ -6,6 +6,7 @@ using Avalonia.Input.Raw;
using Avalonia.Input.TextInput;
using Avalonia.Platform.Storage;
using Avalonia.Rendering;
using Avalonia.Rendering.Composition;
using Avalonia.Web.Blazor.Interop;
using Avalonia.Web.Blazor.Interop.Storage;
@ -352,9 +353,9 @@ namespace Avalonia.Web.Blazor
// We also don't want to have it as a meaningful public API.
// Therefore we have InternalsVisibleTo hack here.
if (_topLevel.Renderer is DeferredRenderer dr)
if (_topLevel.Renderer is CompositingRenderer dr)
{
dr.Render(true);
dr.CompositionTarget.ImmediateUIThreadRender();
}
}

3
src/Web/Avalonia.Web.Blazor/RazorViewTopLevelImpl.cs

@ -7,6 +7,7 @@ using Avalonia.Input.TextInput;
using Avalonia.Platform;
using Avalonia.Platform.Storage;
using Avalonia.Rendering;
using Avalonia.Rendering.Composition;
using Avalonia.Web.Blazor.Interop;
using SkiaSharp;
@ -146,7 +147,7 @@ namespace Avalonia.Web.Blazor
public IRenderer CreateRenderer(IRenderRoot root)
{
var loop = AvaloniaLocator.Current.GetRequiredService<IRenderLoop>();
return new DeferredRenderer(root, loop);
return new CompositingRenderer(root, new Compositor(loop, null));
}
public void Invalidate(Rect rect)

Loading…
Cancel
Save