Browse Source

Expose SKSurface from ISkiaDrawingContextImpl

ncomposition
Nikita Tsukanov 6 years ago
parent
commit
8ac2e525ad
  1. 8
      src/Skia/Avalonia.Skia/DrawingContextImpl.cs
  2. 2
      src/Skia/Avalonia.Skia/FramebufferRenderTarget.cs
  3. 2
      src/Skia/Avalonia.Skia/Gpu/ISkiaGpuRenderSession.cs
  4. 2
      src/Skia/Avalonia.Skia/Gpu/OpenGl/GlRenderTarget.cs
  5. 2
      src/Skia/Avalonia.Skia/Gpu/SkiaGpuRenderTarget.cs
  6. 1
      src/Skia/Avalonia.Skia/ISkiaDrawingContextImpl.cs
  7. 2
      src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs

8
src/Skia/Avalonia.Skia/DrawingContextImpl.cs

@ -44,7 +44,7 @@ namespace Avalonia.Skia
/// <summary> /// <summary>
/// Canvas to draw to. /// Canvas to draw to.
/// </summary> /// </summary>
public SKCanvas Canvas; public SKSurface Surface;
/// <summary> /// <summary>
/// Dpi of drawings. /// Dpi of drawings.
@ -81,8 +81,8 @@ namespace Avalonia.Skia
_grContext = createInfo.GrContext; _grContext = createInfo.GrContext;
if (_grContext != null) if (_grContext != null)
Monitor.Enter(_grContext); Monitor.Enter(_grContext);
Surface = createInfo.Surface;
Canvas = createInfo.Canvas; Canvas = createInfo.Surface.Canvas;
if (Canvas == null) if (Canvas == null)
{ {
@ -102,8 +102,10 @@ namespace Avalonia.Skia
/// Skia canvas. /// Skia canvas.
/// </summary> /// </summary>
public SKCanvas Canvas { get; } public SKCanvas Canvas { get; }
public SKSurface Surface { get; }
SKCanvas ISkiaDrawingContextImpl.SkCanvas => Canvas; SKCanvas ISkiaDrawingContextImpl.SkCanvas => Canvas;
SKSurface ISkiaDrawingContextImpl.SkSurface => Surface;
GRContext ISkiaDrawingContextImpl.GrContext => _grContext; GRContext ISkiaDrawingContextImpl.GrContext => _grContext;
/// <inheritdoc /> /// <inheritdoc />

2
src/Skia/Avalonia.Skia/FramebufferRenderTarget.cs

@ -52,7 +52,7 @@ namespace Avalonia.Skia
var createInfo = new DrawingContextImpl.CreateInfo var createInfo = new DrawingContextImpl.CreateInfo
{ {
Canvas = canvas, Surface = _framebufferSurface,
Dpi = framebuffer.Dpi, Dpi = framebuffer.Dpi,
VisualBrushRenderer = visualBrushRenderer, VisualBrushRenderer = visualBrushRenderer,
DisableTextLcdRendering = true DisableTextLcdRendering = true

2
src/Skia/Avalonia.Skia/Gpu/ISkiaGpuRenderSession.cs

@ -16,7 +16,7 @@ namespace Avalonia.Skia
/// <summary> /// <summary>
/// Canvas that will be used to render. /// Canvas that will be used to render.
/// </summary> /// </summary>
SKCanvas Canvas { get; } SKSurface SkSurface { get; }
/// <summary> /// <summary>
/// Scaling factor. /// Scaling factor.

2
src/Skia/Avalonia.Skia/Gpu/OpenGl/GlRenderTarget.cs

@ -49,7 +49,7 @@ namespace Avalonia.Skia
} }
public GRContext GrContext { get; } public GRContext GrContext { get; }
public SKCanvas Canvas => _surface.Canvas; public SKSurface SkSurface => _surface;
public double ScaleFactor => _glSession.Scaling; public double ScaleFactor => _glSession.Scaling;
} }

2
src/Skia/Avalonia.Skia/Gpu/SkiaGpuRenderTarget.cs

@ -27,7 +27,7 @@ namespace Avalonia.Skia
var nfo = new DrawingContextImpl.CreateInfo var nfo = new DrawingContextImpl.CreateInfo
{ {
GrContext = session.GrContext, GrContext = session.GrContext,
Canvas = session.Canvas, Surface = session.SkSurface,
Dpi = SkiaPlatform.DefaultDpi * session.ScaleFactor, Dpi = SkiaPlatform.DefaultDpi * session.ScaleFactor,
VisualBrushRenderer = visualBrushRenderer, VisualBrushRenderer = visualBrushRenderer,
DisableTextLcdRendering = true DisableTextLcdRendering = true

1
src/Skia/Avalonia.Skia/ISkiaDrawingContextImpl.cs

@ -7,5 +7,6 @@ namespace Avalonia.Skia
{ {
SKCanvas SkCanvas { get; } SKCanvas SkCanvas { get; }
GRContext GrContext { get; } GRContext GrContext { get; }
SKSurface SkSurface { get; }
} }
} }

2
src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs

@ -70,7 +70,7 @@ namespace Avalonia.Skia
var createInfo = new DrawingContextImpl.CreateInfo var createInfo = new DrawingContextImpl.CreateInfo
{ {
Canvas = _canvas, Surface = _surface,
Dpi = Dpi, Dpi = Dpi,
VisualBrushRenderer = visualBrushRenderer, VisualBrushRenderer = visualBrushRenderer,
DisableTextLcdRendering = _disableLcdRendering, DisableTextLcdRendering = _disableLcdRendering,

Loading…
Cancel
Save