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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
5 additions and
3 deletions
-
src/Web/Avalonia.Web.Blazor/AvaloniaView.razor.cs
-
src/Web/Avalonia.Web.Blazor/RazorViewTopLevelImpl.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(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -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) |
|
|
|
|