From bb032508bd0c6802b53bd8c50617f0791ea9bd19 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 3 Aug 2017 15:47:26 +0900 Subject: [PATCH] Add comment explaining why we use scale --- osu.Game/Graphics/Containers/ConstrainedIconContainer.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/osu.Game/Graphics/Containers/ConstrainedIconContainer.cs b/osu.Game/Graphics/Containers/ConstrainedIconContainer.cs index 546d3bb6e3..0f07080d55 100644 --- a/osu.Game/Graphics/Containers/ConstrainedIconContainer.cs +++ b/osu.Game/Graphics/Containers/ConstrainedIconContainer.cs @@ -42,6 +42,11 @@ namespace osu.Game.Graphics.Containers base.Update(); if (InternalChildren.Count > 0 && InternalChild.DrawSize.X > 0) { + // We're modifying scale here for a few reasons + // - Guarantees correctness if BorderWidth is being used + // - If we were to use RelativeSize/FillMode, we'd need to set the Icon's RelativeSizeAxes directly. + // We can't do this because we would need access to AutoSizeAxes to set it to none. + // Other issues come up along the way too, so it's not a good solution. var fitScale = Math.Min(DrawSize.X / InternalChild.DrawSize.X, DrawSize.Y / InternalChild.DrawSize.Y); InternalChild.Scale = new Vector2(fitScale); InternalChild.Anchor = Anchor.Centre;