Browse Source

Correctly snap dirty rects to device pixels.

pull/3909/head
Steven Kirk 6 years ago
parent
commit
fc5c814cfa
  1. 11
      src/Avalonia.Visuals/Rendering/DeferredRenderer.cs

11
src/Avalonia.Visuals/Rendering/DeferredRenderer.cs

@ -443,11 +443,12 @@ namespace Avalonia.Rendering
private static Rect SnapToDevicePixels(Rect rect, double scale) private static Rect SnapToDevicePixels(Rect rect, double scale)
{ {
return new Rect( return new Rect(
Math.Floor(rect.X * scale) / scale, new Point(
Math.Floor(rect.Y * scale) / scale, Math.Floor(rect.X * scale) / scale,
Math.Ceiling(rect.Width * scale) / scale, Math.Floor(rect.Y * scale) / scale),
Math.Ceiling(rect.Height * scale) / scale); new Point(
Math.Ceiling(rect.Right * scale) / scale,
Math.Ceiling(rect.Bottom * scale) / scale));
} }
private void RenderOverlay(Scene scene, ref IDrawingContextImpl parentContent) private void RenderOverlay(Scene scene, ref IDrawingContextImpl parentContent)

Loading…
Cancel
Save