diff --git a/src/Views/DiffView.axaml b/src/Views/DiffView.axaml index 23a141c3..aa75c2a0 100644 --- a/src/Views/DiffView.axaml +++ b/src/Views/DiffView.axaml @@ -129,6 +129,7 @@ diff --git a/src/Views/ImageContainer.cs b/src/Views/ImageContainer.cs index aecea0b2..b62746ed 100644 --- a/src/Views/ImageContainer.cs +++ b/src/Views/ImageContainer.cs @@ -92,6 +92,20 @@ namespace SourceGit.Views return availableSize; } + + protected override Size ArrangeOverride(Size finalSize) + { + if (Image is { } image) + { + var imageSize = image.Size; + var scaleW = finalSize.Width / imageSize.Width; + var scaleH = finalSize.Height / imageSize.Height; + var scale = Math.Min(scaleW, scaleH); + return new Size(scale * imageSize.Width, scale * imageSize.Height); + } + + return base.ArrangeOverride(finalSize); + } } public class ImageSwipeControl : ImageContainer