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,59 +142,27 @@ 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 using var style = ImRaii.PushStyle(ImGuiStyleVar.ItemSpacing, Vector2.Zero);
? (1, new Vector2(Math.Min(_smallestIconWidth, available / _icons.Count))) var order = new[]
: (2, new Vector2(Math.Min(_smallestIconWidth, 2 * available / _icons.Count))); {
using var style = ImRaii.PushStyle(ImGuiStyleVar.ItemSpacing, Vector2.Zero); ChangedItemIcon.Head,
var lines = numLines == 2 ChangedItemIcon.Body,
? new[] ChangedItemIcon.Hands,
{ ChangedItemIcon.Legs,
new[] ChangedItemIcon.Feet,
{ ChangedItemIcon.Ears,
ChangedItemIcon.Head, ChangedItemIcon.Neck,
ChangedItemIcon.Body, ChangedItemIcon.Wrists,
ChangedItemIcon.Hands, ChangedItemIcon.Finger,
ChangedItemIcon.Legs, ChangedItemIcon.Mainhand,
ChangedItemIcon.Feet, ChangedItemIcon.Offhand,
ChangedItemIcon.Mainhand, ChangedItemIcon.Customization,
ChangedItemIcon.Offhand, ChangedItemIcon.Action,
ChangedItemIcon.Unknown, ChangedItemIcon.Monster,
}, ChangedItemIcon.Demihuman,
new[] ChangedItemIcon.Unknown,
{ };
ChangedItemIcon.Ears,
ChangedItemIcon.Neck,
ChangedItemIcon.Wrists,
ChangedItemIcon.Finger,
ChangedItemIcon.Customization,
ChangedItemIcon.Action,
ChangedItemIcon.Monster,
ChangedItemIcon.Demihuman,
},
}
: new[]
{
new[]
{
ChangedItemIcon.Head,
ChangedItemIcon.Body,
ChangedItemIcon.Hands,
ChangedItemIcon.Legs,
ChangedItemIcon.Feet,
ChangedItemIcon.Ears,
ChangedItemIcon.Neck,
ChangedItemIcon.Wrists,
ChangedItemIcon.Finger,
ChangedItemIcon.Mainhand,
ChangedItemIcon.Offhand,
ChangedItemIcon.Customization,
ChangedItemIcon.Action,
ChangedItemIcon.Monster,
ChangedItemIcon.Demihuman,
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);
{ ImGui.SameLine();
DrawIcon(iconType);
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>