Scale icons with font size

This commit is contained in:
Infi
2024-04-22 16:44:48 +02:00
parent 77ceffceef
commit 8ab450aa3e
4 changed files with 18 additions and 10 deletions
+6
View File
@@ -17,6 +17,8 @@ public class FontManager
internal IFontHandle RegularFont { get; private set; }
internal IFontHandle? ItalicFont { get; private set; }
internal IFontHandle FontAwesome { get; private set; }
private FaceData _regularFont;
private FaceData? _italicFont;
private FaceData _jpFont;
@@ -159,6 +161,10 @@ public class FontManager
SkewStrength = Plugin.Config.FontSize / 6
});
FontAwesome = Plugin.Interface.UiBuilder.FontAtlas.NewDelegateFontHandle(e =>
e.OnPreBuild(tk => tk.AddFontAwesomeIconFont(new SafeFontConfig { SizePx = Plugin.Config.FontSize })
));
RegularFont = Plugin.Interface.UiBuilder.FontAtlas.NewDelegateFontHandle(
e => e.OnPreBuild(
tk =>
+1 -1
View File
@@ -80,7 +80,7 @@ internal class MessageManager : IDisposable
Store.UpsertMessage(entry.Item2);
}
internal void AddMessage(Message message, Tab? currentTab)
private void AddMessage(Message message, Tab? currentTab)
{
if (Plugin.Config.DatabaseBattleMessages || !message.Code.IsBattle())
Store.UpsertMessage(message);
+1
View File
@@ -80,6 +80,7 @@ public sealed class Plugin : IDalamudPlugin
}
LanguageChanged(Interface.UiLanguage);
ImGuiUtil.Initialize(this);
Commands = new Commands(this);
Common = new XivCommonBase(Interface);
+10 -9
View File
@@ -12,6 +12,13 @@ namespace ChatTwo.Util;
internal static class ImGuiUtil
{
private static Plugin Plugin;
public static void Initialize(Plugin plugin)
{
Plugin = plugin;
}
private static readonly ImGuiMouseButton[] Buttons =
[
ImGuiMouseButton.Left,
@@ -166,22 +173,16 @@ internal static class ImGuiUtil
internal static bool IconButton(FontAwesomeIcon icon, string? id = null, string? tooltip = null)
{
ImGui.PushFont(UiBuilder.IconFont);
var label = icon.ToIconString();
if (id != null)
label += $"##{id}";
Plugin.FontManager.FontAwesome.Push();
var ret = ImGui.Button(label);
ImGui.PopFont();
Plugin.FontManager.FontAwesome.Pop();
if (tooltip != null && ImGui.IsItemHovered())
{
ImGui.BeginTooltip();
ImGui.TextUnformatted(tooltip);
ImGui.EndTooltip();
}
ImGui.SetTooltip(tooltip);
return ret;
}