Class ImGuiFontManager

java.lang.Object
de.luckymcdev.foundryengine.client.imgui.ImGuiFontManager

public final class ImGuiFontManager extends Object
Manages multiple ImGui fonts. Register fonts, then call loadFonts(ResourceManager) to build the atlas. Use getFont(Identifier) to retrieve an ImFont and pushFont(Identifier) / popFont() for easy switching.
  • Field Details

    • DEFAULT_GLYPH_RANGES

      public static final short[] DEFAULT_GLYPH_RANGES
  • Constructor Details

    • ImGuiFontManager

      public ImGuiFontManager(ImGuiImplGl3 glImpl)
  • Method Details

    • setGlobalGlyphRanges

      public void setGlobalGlyphRanges(short[] ranges)
    • setGlobalOversample

      public void setGlobalOversample(int h, int v)
    • setGlobalRasterizerMultiply

      public void setGlobalRasterizerMultiply(float mul)
    • setGlobalGlyphOffset

      public void setGlobalGlyphOffset(float x, float y)
    • registerFont

      public void registerFont(TTFFile ttfFile)
    • registerFont

      public void registerFont(TTFFile ttfFile, float fontSize)
    • registerFont

      public void registerFont(TTFFile ttfFile, float fontSize, @Nullable imgui.ImFontConfig customConfig)
    • registerRawFont

      public void registerRawFont(net.minecraft.resources.Identifier id, Function<net.minecraft.server.packs.resources.ResourceManager, byte[]> ttfProvider, float fontSize, imgui.ImFontConfig config)
    • setDefaultFont

      public void setDefaultFont(net.minecraft.resources.Identifier id)
    • loadFonts

      public void loadFonts(net.minecraft.server.packs.resources.ResourceManager resourceManager, List<net.minecraft.resources.Identifier> filter)
      Loads all registered fonts. Pass an empty list to load all fonts, or a non-empty list to load only the fonts with matching IDs.
    • loadFonts

      public void loadFonts(net.minecraft.server.packs.resources.ResourceManager resourceManager)
    • destroy

      public void destroy()
    • getCurrent

      public imgui.ImFont getCurrent()
    • getFont

      public imgui.ImFont getFont(net.minecraft.resources.Identifier id)
    • getLoadedFontIds

      public Set<net.minecraft.resources.Identifier> getLoadedFontIds()
    • withFont

      public void withFont(net.minecraft.resources.Identifier font, Runnable runnable)
    • pushFont

      public void pushFont(net.minecraft.resources.Identifier id)
    • popFont

      public void popFont()