diff --git a/readme.md b/readme.md index 6ed2fd55e8..0da6980146 100644 --- a/readme.md +++ b/readme.md @@ -25,6 +25,13 @@ You can find the packages here: ([stable(ish)](https://www.nuget.org/packages/Av You can install the package like this: `Install-Package Avalonia -Pre` +## Bleeding Edge Builds + +Try out the latest build of Avalonia available for download here: +https://ci.appveyor.com/project/AvaloniaUI/Avalonia/branch/master/artifacts + +Try out the ControlCatalog to give it a quick demo. + ## Background Avalonia is a multi-platform windowing toolkit - somewhat like WPF - that is intended to be multi- 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 { diff --git a/src/Windows/Avalonia.Win32/WindowImpl.cs b/src/Windows/Avalonia.Win32/WindowImpl.cs index 65e10cafda..5db3f69f85 100644 --- a/src/Windows/Avalonia.Win32/WindowImpl.cs +++ b/src/Windows/Avalonia.Win32/WindowImpl.cs @@ -682,6 +682,7 @@ namespace Avalonia.Win32 } UnmanagedMethods.ShowWindow(_hwnd, command); + UnmanagedMethods.SetFocus(_hwnd); } public void SetIcon(IWindowIconImpl icon)