committed by
GitHub
18 changed files with 120 additions and 41 deletions
@ -0,0 +1,31 @@ |
|||
using Avalonia.Platform; |
|||
using Avalonia.Rendering; |
|||
using SkiaSharp; |
|||
|
|||
namespace Avalonia.Skia.Helpers |
|||
{ |
|||
public class DrawingContextHelper |
|||
{ |
|||
/// <summary>
|
|||
/// Wrap Skia canvas in drawing context so we can use Avalonia api to render to external skia canvas
|
|||
/// this is useful in scenarios where canvas is not controlled by application, but received from another non avalonia api
|
|||
/// like: SKCanvas canvas = SKDocument.BeginPage(...);
|
|||
/// </summary>
|
|||
/// <param name="canvas"></param>
|
|||
/// <param name="dpi"></param>
|
|||
/// <param name="visualBrushRenderer"></param>
|
|||
/// <returns>DrawingContext</returns>
|
|||
public static IDrawingContextImpl WrapSkiaCanvas(SKCanvas canvas, Vector dpi, IVisualBrushRenderer visualBrushRenderer = null) |
|||
{ |
|||
var createInfo = new DrawingContextImpl.CreateInfo |
|||
{ |
|||
Canvas = canvas, |
|||
Dpi = dpi, |
|||
VisualBrushRenderer = visualBrushRenderer, |
|||
DisableTextLcdRendering = true, |
|||
}; |
|||
|
|||
return new DrawingContextImpl(createInfo); |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue