Browse Source

fix strange happengings in IsCorrupted, sizes being updated without any IsCorrupted true returned.

pull/7394/head
Dave Higgins 4 years ago
parent
commit
b12c0bce3d
  1. 6
      src/Web/Avalonia.Web.Blazor/BlazorSkiaGpuRenderTarget.cs
  2. 2
      src/Web/Avalonia.Web.Blazor/BlazorSkiaSurface.cs
  3. 2
      src/Web/Avalonia.Web.Blazor/RazorViewTopLevelImpl.cs

6
src/Web/Avalonia.Web.Blazor/BlazorSkiaGpuRenderTarget.cs

@ -38,6 +38,12 @@ namespace Avalonia.Web.Blazor
{
get
{
if( _blazorSkiaSurface.IsDirty )
{
_blazorSkiaSurface.IsDirty = false;
return true;
}
var result = _size.Width != _renderTarget.Width || _size.Height != _renderTarget.Height;
return result;

2
src/Web/Avalonia.Web.Blazor/BlazorSkiaSurface.cs

@ -26,5 +26,7 @@ namespace Avalonia.Web.Blazor
public double Scaling { get; set; }
public SKHtmlCanvasInterop.GLInfo GlInfo { get; set; }
public bool IsDirty { get; set; }
}
}

2
src/Web/Avalonia.Web.Blazor/RazorViewTopLevelImpl.cs

@ -51,6 +51,8 @@ namespace Avalonia.Web.Blazor
if (_currentSurface is { })
{
_currentSurface.Size = new PixelSize((int)size.Width, (int)size.Height);
_currentSurface.IsDirty = true;
}
Resized?.Invoke(newSize, PlatformResizeReason.User);

Loading…
Cancel
Save