|
|
|
@ -434,7 +434,7 @@ namespace Avalonia.Skia |
|
|
|
/// <inheritdoc />
|
|
|
|
public IDrawingContextLayerImpl CreateLayer(Size size) |
|
|
|
{ |
|
|
|
return CreateRenderTarget( size); |
|
|
|
return CreateRenderTarget(size, true); |
|
|
|
} |
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
@ -673,7 +673,7 @@ namespace Avalonia.Skia |
|
|
|
private void ConfigureTileBrush(ref PaintWrapper paintWrapper, Size targetSize, ITileBrush tileBrush, IDrawableBitmapImpl tileBrushImage) |
|
|
|
{ |
|
|
|
var calc = new TileBrushCalculator(tileBrush, tileBrushImage.PixelSize.ToSizeWithDpi(_dpi), targetSize); |
|
|
|
var intermediate = CreateRenderTarget(calc.IntermediateSize); |
|
|
|
var intermediate = CreateRenderTarget(calc.IntermediateSize, false); |
|
|
|
|
|
|
|
paintWrapper.AddDisposable(intermediate); |
|
|
|
|
|
|
|
@ -748,7 +748,7 @@ namespace Avalonia.Skia |
|
|
|
|
|
|
|
if (intermediateSize.Width >= 1 && intermediateSize.Height >= 1) |
|
|
|
{ |
|
|
|
var intermediate = CreateRenderTarget(intermediateSize); |
|
|
|
var intermediate = CreateRenderTarget(intermediateSize, false); |
|
|
|
|
|
|
|
using (var ctx = intermediate.CreateDrawingContext(visualBrushRenderer)) |
|
|
|
{ |
|
|
|
@ -978,9 +978,10 @@ namespace Avalonia.Skia |
|
|
|
/// Create new render target compatible with this drawing context.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="size">The size of the render target in DIPs.</param>
|
|
|
|
/// <param name="isLayer">Whether the render target is being created for a layer.</param>
|
|
|
|
/// <param name="format">Pixel format.</param>
|
|
|
|
/// <returns></returns>
|
|
|
|
private SurfaceRenderTarget CreateRenderTarget(Size size, PixelFormat? format = null) |
|
|
|
private SurfaceRenderTarget CreateRenderTarget(Size size, bool isLayer, PixelFormat? format = null) |
|
|
|
{ |
|
|
|
var pixelSize = PixelSize.FromSizeWithDpi(size, _dpi); |
|
|
|
var createInfo = new SurfaceRenderTarget.CreateInfo |
|
|
|
@ -992,7 +993,8 @@ namespace Avalonia.Skia |
|
|
|
DisableTextLcdRendering = !_canTextUseLcdRendering, |
|
|
|
GrContext = _grContext, |
|
|
|
Gpu = _gpu, |
|
|
|
Session = _session |
|
|
|
Session = _session, |
|
|
|
DisableManualFbo = !isLayer, |
|
|
|
}; |
|
|
|
|
|
|
|
return new SurfaceRenderTarget(createInfo); |
|
|
|
|