public static ISkiaDrawingContextImpl WrapSkiaSurface(this SKSurface surface, Vector dpi, params IDisposable[] disposables)
        {
            var createInfo = new DrawingContextImpl.CreateInfo
            {
                Surface = surface,
                Dpi     = dpi,
                DisableTextLcdRendering = false,
            };

            return(new DrawingContextImpl(createInfo, disposables));
        }
Esempio n. 2
0
        /// <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));
        }