source/SkiaSharp.Views.Uno/SkiaSharp.Views.Uno.WinUI.Skia/SKXamlCanvas.Skia.cs [29:65]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - public SKXamlCanvas() { Initialize(); } partial void DoUnloaded() => FreeBitmap(); private void DoInvalidate() { if (designMode) return; if (!isVisible) return; if (ActualWidth <= 0 || ActualHeight <= 0) { CanvasSize = SKSize.Empty; return; } var info = CreateBitmap(out var unscaledSize, out var dpi); using (var surface = SKSurface.Create(info, pixelsHandle.AddrOfPinnedObject(), info.RowBytes)) { var userVisibleSize = IgnorePixelScaling ? unscaledSize : info.Size; CanvasSize = userVisibleSize; if (IgnorePixelScaling) { var canvas = surface.Canvas; canvas.Scale(dpi); canvas.Save(); } OnPaintSurface(new SKPaintSurfaceEventArgs(surface, info.WithSize(userVisibleSize), info)); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - source/SkiaSharp.Views.Uno/SkiaSharp.Views.Uno.WinUI.Wasm/SKXamlCanvas.Wasm.cs [31:67]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - public SKXamlCanvas() { Initialize(); } partial void DoUnloaded() => FreeBitmap(); private void DoInvalidate() { if (designMode) return; if (!isVisible) return; if (ActualWidth <= 0 || ActualHeight <= 0) { CanvasSize = SKSize.Empty; return; } var info = CreateBitmap(out var unscaledSize, out var dpi); using (var surface = SKSurface.Create(info, pixelsHandle.AddrOfPinnedObject(), info.RowBytes)) { var userVisibleSize = IgnorePixelScaling ? unscaledSize : info.Size; CanvasSize = userVisibleSize; if (IgnorePixelScaling) { var canvas = surface.Canvas; canvas.Scale(dpi); canvas.Save(); } OnPaintSurface(new SKPaintSurfaceEventArgs(surface, info.WithSize(userVisibleSize), info)); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -