Browse Source
Compositor: fix initial dirty rect with scaling < 1
pull/11755/head
Julien Lebosquain
3 years ago
No known key found for this signature in database
GPG Key ID: 1833CAD10ACC46FD
1 changed files with
5 additions and
4 deletions
-
src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionTarget.cs
|
|
|
@ -159,14 +159,15 @@ namespace Avalonia.Rendering.Composition.Server |
|
|
|
_redrawRequested = false; |
|
|
|
using (var targetContext = _renderTarget.CreateDrawingContext()) |
|
|
|
{ |
|
|
|
var layerSize = Size * Scaling; |
|
|
|
var size = Size; |
|
|
|
var layerSize = size * Scaling; |
|
|
|
if (layerSize != _layerSize || _layer == null || _layer.IsCorrupted) |
|
|
|
{ |
|
|
|
_layer?.Dispose(); |
|
|
|
_layer = null; |
|
|
|
_layer = targetContext.CreateLayer(Size); |
|
|
|
_layer = targetContext.CreateLayer(size); |
|
|
|
_layerSize = layerSize; |
|
|
|
_dirtyRect = new Rect(0, 0, layerSize.Width, layerSize.Height); |
|
|
|
_dirtyRect = new Rect(0, 0, size.Width, size.Height); |
|
|
|
} |
|
|
|
|
|
|
|
if (_dirtyRect.Width != 0 || _dirtyRect.Height != 0) |
|
|
|
@ -187,7 +188,7 @@ namespace Avalonia.Rendering.Composition.Server |
|
|
|
else |
|
|
|
targetContext.DrawBitmap(_layer, 1, |
|
|
|
new Rect(_layerSize), |
|
|
|
new Rect(Size)); |
|
|
|
new Rect(size)); |
|
|
|
|
|
|
|
if (DebugOverlays != RendererDebugOverlays.None) |
|
|
|
{ |
|
|
|
|