Make filter icons non-scaling.

This commit is contained in:
Ottermandias 2023-06-09 17:49:09 +02:00
parent 5aec508616
commit e72479c046

View file

@ -142,40 +142,9 @@ public class ChangedItemDrawer : IDisposable
public void DrawTypeFilter() public void DrawTypeFilter()
{ {
using var _ = ImRaii.PushId("ChangedItemIconFilter"); using var _ = ImRaii.PushId("ChangedItemIconFilter");
var available = ImGui.GetContentRegionAvail().X; var size = new Vector2(2 * ImGui.GetTextLineHeight());
var (numLines, size) = available / _icons.Count > ImGui.GetTextLineHeight() * 2
? (1, new Vector2(Math.Min(_smallestIconWidth, available / _icons.Count)))
: (2, new Vector2(Math.Min(_smallestIconWidth, 2 * available / _icons.Count)));
using var style = ImRaii.PushStyle(ImGuiStyleVar.ItemSpacing, Vector2.Zero); using var style = ImRaii.PushStyle(ImGuiStyleVar.ItemSpacing, Vector2.Zero);
var lines = numLines == 2 var order = new[]
? new[]
{
new[]
{
ChangedItemIcon.Head,
ChangedItemIcon.Body,
ChangedItemIcon.Hands,
ChangedItemIcon.Legs,
ChangedItemIcon.Feet,
ChangedItemIcon.Mainhand,
ChangedItemIcon.Offhand,
ChangedItemIcon.Unknown,
},
new[]
{
ChangedItemIcon.Ears,
ChangedItemIcon.Neck,
ChangedItemIcon.Wrists,
ChangedItemIcon.Finger,
ChangedItemIcon.Customization,
ChangedItemIcon.Action,
ChangedItemIcon.Monster,
ChangedItemIcon.Demihuman,
},
}
: new[]
{
new[]
{ {
ChangedItemIcon.Head, ChangedItemIcon.Head,
ChangedItemIcon.Body, ChangedItemIcon.Body,
@ -193,7 +162,6 @@ public class ChangedItemDrawer : IDisposable
ChangedItemIcon.Monster, ChangedItemIcon.Monster,
ChangedItemIcon.Demihuman, ChangedItemIcon.Demihuman,
ChangedItemIcon.Unknown, ChangedItemIcon.Unknown,
},
}; };
void DrawIcon(ChangedItemIcon type) void DrawIcon(ChangedItemIcon type)
@ -216,16 +184,13 @@ public class ChangedItemDrawer : IDisposable
} }
} }
foreach (var line in lines) foreach (var iconType in order.SkipLast(1))
{
foreach (var iconType in line.SkipLast(1))
{ {
DrawIcon(iconType); DrawIcon(iconType);
ImGui.SameLine(); ImGui.SameLine();
} }
DrawIcon(line.Last()); DrawIcon(order.Last());
}
} }
/// <summary> Obtain the icon category corresponding to a changed item. </summary> /// <summary> Obtain the icon category corresponding to a changed item. </summary>