Browse Source

Missing file

pull/1009/head
Nikita Tsukanov 10 years ago
parent
commit
5125784af5
  1. 20
      src/Windows/Avalonia.Direct2D1/Direct2D1Platform.cs

20
src/Windows/Avalonia.Direct2D1/Direct2D1Platform.cs

@ -135,17 +135,17 @@ namespace Avalonia.Direct2D1
public IRenderTarget CreateRenderTarget(IEnumerable<object> surfaces) public IRenderTarget CreateRenderTarget(IEnumerable<object> surfaces)
{ {
var nativeWindow = surfaces?.OfType<IPlatformHandle>().FirstOrDefault(); foreach (var s in surfaces)
if (nativeWindow != null)
{ {
if(nativeWindow.HandleDescriptor != "HWND") if (s is IPlatformHandle nativeWindow)
throw new NotSupportedException("Don't know how to create a Direct2D1 renderer from " + nativeWindow.HandleDescriptor); {
return new HwndRenderTarget(nativeWindow); if (nativeWindow.HandleDescriptor != "HWND")
} throw new NotSupportedException("Don't know how to create a Direct2D1 renderer from " +
var external = surfaces?.OfType<IExternalDirect2DRenderTargetSurface>(); nativeWindow.HandleDescriptor);
if (external != null) return new HwndRenderTarget(nativeWindow);
{ }
if (s is IExternalDirect2DRenderTargetSurface external)
return new ExternalRenderTarget(external, s_dwfactory);
} }
throw new NotSupportedException("Don't know how to create a Direct2D1 renderer from any of provided surfaces"); throw new NotSupportedException("Don't know how to create a Direct2D1 renderer from any of provided surfaces");
} }

Loading…
Cancel
Save