From db8936f909f3f7b59a236b4fa0ea385e34083543 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Wed, 26 Oct 2016 18:04:00 +0200 Subject: [PATCH] Register an IRendererFactory on Skia --- src/Skia/Avalonia.Skia/PlatformRenderInterface.cs | 8 +++++++- src/Skia/Avalonia.Skia/SkiaPlatform.cs | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Skia/Avalonia.Skia/PlatformRenderInterface.cs b/src/Skia/Avalonia.Skia/PlatformRenderInterface.cs index f37fd7c1c6..f8558c7428 100644 --- a/src/Skia/Avalonia.Skia/PlatformRenderInterface.cs +++ b/src/Skia/Avalonia.Skia/PlatformRenderInterface.cs @@ -2,11 +2,12 @@ using System; using System.IO; using Avalonia.Media; using Avalonia.Platform; +using Avalonia.Rendering; using SkiaSharp; namespace Avalonia.Skia { - public class PlatformRenderInterface : IPlatformRenderInterface + public class PlatformRenderInterface : IPlatformRenderInterface, IRendererFactory { public IBitmapImpl CreateBitmap(int width, int height) { @@ -48,6 +49,11 @@ namespace Avalonia.Skia } } + public IRenderer CreateRenderer(IRenderRoot root, IRenderLoop renderLoop) + { + return new Renderer(root, renderLoop); + } + public IRenderTargetBitmapImpl CreateRenderTargetBitmap(int width, int height) { if (width < 1) diff --git a/src/Skia/Avalonia.Skia/SkiaPlatform.cs b/src/Skia/Avalonia.Skia/SkiaPlatform.cs index 001970fa36..0751d86bf3 100644 --- a/src/Skia/Avalonia.Skia/SkiaPlatform.cs +++ b/src/Skia/Avalonia.Skia/SkiaPlatform.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Text; using Avalonia.Controls; using Avalonia.Platform; +using Avalonia.Rendering; namespace Avalonia { @@ -23,7 +24,12 @@ namespace Avalonia.Skia private static bool s_forceSoftwareRendering; public static void Initialize() - => AvaloniaLocator.CurrentMutable.Bind().ToConstant(new PlatformRenderInterface()); + { + var renderInterface = new PlatformRenderInterface(); + AvaloniaLocator.CurrentMutable + .Bind().ToConstant(renderInterface) + .Bind().ToConstant(renderInterface); + } public static bool ForceSoftwareRendering {