package speiger.src.coreengine.ui.gui.font.glyth;

public interface UnbakedGlyth {
	public float advance();
	public float kerning(int codepoint);
	public default float shadowOffset() { return 1F; }
	public Glyth bake(GlythBaker baker);
	
	
	public static record EmptyGlythData(float advance) implements UnbakedGlyth {
		@Override
		public Glyth bake(GlythBaker baker) { return Glyth.EMPTY; }
		@Override
		public float kerning(int codepoint) { return 0F; }
	}
	
	public static interface GlythBaker {
		Glyth bake(IGlythSheetInfo info);
	}
}