package de.lessvoid.nifty.renderer.lwjgl3.render; import de.lessvoid.nifty.renderer.lwjgl3.render.font.CharacterInfo; import de.lessvoid.nifty.renderer.lwjgl3.render.font.Font; import de.lessvoid.nifty.spi.render.RenderFont; import de.lessvoid.nifty.tools.resourceloader.NiftyResourceLoader; import javax.annotation.Nonnull; public class Lwjgl3RenderFont implements RenderFont { @Nonnull private final Font font; public Lwjgl3RenderFont(@Nonnull final String name, @Nonnull final NiftyResourceLoader resourceLoader) { font = new Font(name, resourceLoader); } @Override public int getHeight() { return font.getHeight(); } @Override public int getWidth(@Nonnull final String text) { return font.getStringWidth(text, 1.f); } @Override public int getWidth(@Nonnull final String text, final float size) { return font.getStringWidth(text, size); } public static int getKerning(@Nonnull final CharacterInfo charInfoC, final char nextc) { Integer kern = charInfoC.getKerning().get(Character.valueOf(nextc)); if (kern != null) { return kern; } return 0; } @Override public int getCharacterAdvance(final char currentCharacter, final char nextCharacter, final float size) { return font.getCharacterWidth(currentCharacter, nextCharacter, size); } @Nonnull public Font getFont() { return font; } @Override public void dispose() { } }