3 changed files with 45 additions and 0 deletions
@ -0,0 +1,32 @@ |
|||||
|
using Avalonia.Platform; |
||||
|
using Avalonia.Rendering; |
||||
|
|
||||
|
namespace Avalonia.Skia |
||||
|
{ |
||||
|
internal class ExternalCanvasRenderTarget : IRenderTarget |
||||
|
{ |
||||
|
private IExternalCanvasSurface _surface; |
||||
|
|
||||
|
public ExternalCanvasRenderTarget(IExternalCanvasSurface canvas) |
||||
|
{ |
||||
|
_surface = canvas; |
||||
|
} |
||||
|
|
||||
|
public IDrawingContextImpl CreateDrawingContext(IVisualBrushRenderer visualBrushRenderer) |
||||
|
{ |
||||
|
var createInfo = new DrawingContextImpl.CreateInfo |
||||
|
{ |
||||
|
Canvas = _surface.Canvas, |
||||
|
Dpi = _surface.Dpi, |
||||
|
VisualBrushRenderer = visualBrushRenderer, |
||||
|
DisableTextLcdRendering = true, |
||||
|
}; |
||||
|
|
||||
|
return new DrawingContextImpl(createInfo); |
||||
|
} |
||||
|
|
||||
|
public void Dispose() |
||||
|
{ |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,11 @@ |
|||||
|
using SkiaSharp; |
||||
|
|
||||
|
namespace Avalonia.Skia |
||||
|
{ |
||||
|
public interface IExternalCanvasSurface |
||||
|
{ |
||||
|
SKCanvas Canvas { get; } |
||||
|
|
||||
|
Vector Dpi { get; } |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue