Browse Source

refactor how surface origin is passed.

pull/4346/head
Dan Walmsley 6 years ago
parent
commit
ce08964f03
  1. 5
      src/Skia/Avalonia.Skia/DrawingContextImpl.cs
  2. 2
      src/Skia/Avalonia.Skia/PlatformRenderInterface.cs
  3. 6
      src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs

5
src/Skia/Avalonia.Skia/DrawingContextImpl.cs

@ -974,10 +974,11 @@ namespace Avalonia.Skia
Format = format, Format = format,
DisableTextLcdRendering = !_canTextUseLcdRendering, DisableTextLcdRendering = !_canTextUseLcdRendering,
GrContext = _grContext, GrContext = _grContext,
Gpu = _gpu Gpu = _gpu,
SurfaceOrigin = _session?.SurfaceOrigin ?? GRSurfaceOrigin.TopLeft
}; };
return new SurfaceRenderTarget(createInfo, _session?.SurfaceOrigin ?? GRSurfaceOrigin.TopLeft); return new SurfaceRenderTarget(createInfo);
} }
/// <summary> /// <summary>

2
src/Skia/Avalonia.Skia/PlatformRenderInterface.cs

@ -127,7 +127,7 @@ namespace Avalonia.Skia
DisableTextLcdRendering = false DisableTextLcdRendering = false
}; };
return new SurfaceRenderTarget(createInfo, GRSurfaceOrigin.TopLeft); return new SurfaceRenderTarget(createInfo);
} }
/// <inheritdoc /> /// <inheritdoc />

6
src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs

@ -42,7 +42,7 @@ namespace Avalonia.Skia
/// Create new surface render target. /// Create new surface render target.
/// </summary> /// </summary>
/// <param name="createInfo">Create info.</param> /// <param name="createInfo">Create info.</param>
public SurfaceRenderTarget(CreateInfo createInfo, GRSurfaceOrigin surfaceOrigin) public SurfaceRenderTarget(CreateInfo createInfo)
{ {
PixelSize = new PixelSize(createInfo.Width, createInfo.Height); PixelSize = new PixelSize(createInfo.Width, createInfo.Height);
Dpi = createInfo.Dpi; Dpi = createInfo.Dpi;
@ -51,7 +51,7 @@ namespace Avalonia.Skia
_grContext = createInfo.GrContext; _grContext = createInfo.GrContext;
_gpu = createInfo.Gpu; _gpu = createInfo.Gpu;
_surface = _gpu?.TryCreateSurface(PixelSize, surfaceOrigin); _surface = _gpu?.TryCreateSurface(PixelSize, createInfo.SurfaceOrigin);
if (_surface == null) if (_surface == null)
_surface = new SkiaSurfaceWrapper(CreateSurface(createInfo.GrContext, PixelSize.Width, PixelSize.Height, _surface = new SkiaSurfaceWrapper(CreateSurface(createInfo.GrContext, PixelSize.Width, PixelSize.Height,
createInfo.Format)); createInfo.Format));
@ -218,6 +218,8 @@ namespace Avalonia.Skia
public GRContext GrContext; public GRContext GrContext;
public ISkiaGpu Gpu; public ISkiaGpu Gpu;
public GRSurfaceOrigin SurfaceOrigin;
} }
} }
} }

Loading…
Cancel
Save