Browse Source

Register an IRendererFactory on Skia

pull/783/head
Steven Kirk 10 years ago
parent
commit
db8936f909
  1. 8
      src/Skia/Avalonia.Skia/PlatformRenderInterface.cs
  2. 8
      src/Skia/Avalonia.Skia/SkiaPlatform.cs

8
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)

8
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<IPlatformRenderInterface>().ToConstant(new PlatformRenderInterface());
{
var renderInterface = new PlatformRenderInterface();
AvaloniaLocator.CurrentMutable
.Bind<IPlatformRenderInterface>().ToConstant(renderInterface)
.Bind<IRendererFactory>().ToConstant(renderInterface);
}
public static bool ForceSoftwareRendering
{

Loading…
Cancel
Save