(bb85ea959) Fixed last item not being visible in grid layout groups if it's the only item on the last row

This commit is contained in:
Joonas Rikkonen
2019-04-04 11:08:49 +03:00
parent 7eb03ea6b3
commit a3425a0432
57 changed files with 732 additions and 606 deletions
@@ -20,6 +20,8 @@ namespace Barotrauma
public OnButtonDownHandler OnButtonDown;
public bool CanBeSelected = true;
private Color? defaultTextColor;
public override bool Enabled
{
@@ -30,7 +32,7 @@ namespace Barotrauma
set
{
if (value == enabled) return;
if (value == enabled) { return; }
enabled = value;
if (color.A == 0)
{
@@ -70,6 +70,7 @@ namespace Barotrauma
private GUIImage(RectTransform rectT, Sprite sprite, Rectangle? sourceRect, bool scaleToFit, string style) : base(style, rectT)
{
this.scaleToFit = scaleToFit;
sprite?.EnsureLazyLoaded();
Sprite = sprite;
if (sourceRect.HasValue)
{
@@ -506,7 +506,7 @@ namespace Barotrauma
{
if (ScrollBar.IsHorizontal)
{
if (pos + child.Rect.Height + spacing > Content.Rect.Height || child == children.Last())
if (pos + child.Rect.Height + spacing > Content.Rect.Height)
{
pos = 0;
totalSize += child.Rect.Width + spacing;
@@ -515,10 +515,14 @@ namespace Barotrauma
{
pos += child.Rect.Height + spacing;
}
if (child == children.Last())
{
totalSize += child.Rect.Width + spacing;
}
}
else
{
if (pos + child.Rect.Width + spacing > Content.Rect.Width || child == children.Last())
if (pos + child.Rect.Width + spacing > Content.Rect.Width)
{
pos = 0;
totalSize += child.Rect.Height + spacing;
@@ -527,6 +531,11 @@ namespace Barotrauma
{
pos += child.Rect.Width + spacing;
}
if (child == children.Last())
{
totalSize += child.Rect.Height + spacing;
}
}
}
}