SpaceProvider.java
com.mojang.blaze3d.font.SpaceProvider
信息
- 全限定名:com.mojang.blaze3d.font.SpaceProvider
- 类型:public class
- 包:com.mojang.blaze3d.font
- 源码路径:src/main/java/com/mojang/blaze3d/font/SpaceProvider.java
- 起始行号:L21
- 实现:GlyphProvider
- 职责:
TODO
字段/常量
glyphs- 类型:
Int2ObjectMap<EmptyGlyph> - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
内部类/嵌套类型
com.mojang.blaze3d.font.SpaceProvider.Definition- 类型:
record - 修饰符:
public - 源码定位:
L40 - 说明:
TODO
- 类型:
构造器
public SpaceProvider(Map<Integer,Float> advances) @ L24
- 构造器名:SpaceProvider
- 源码定位:L24
- 修饰符:public
参数:
- advances: Map<Integer,Float>
说明:
TODO
方法
下面的方法块按源码顺序生成。
public UnbakedGlyph getGlyph(int codepoint) @ L29
- 方法名:getGlyph
- 源码定位:L29
- 返回类型:UnbakedGlyph
- 修饰符:public
参数:
- codepoint: int
说明:
TODO
public IntSet getSupportedGlyphs() @ L34
- 方法名:getSupportedGlyphs
- 源码定位:L34
- 返回类型:IntSet
- 修饰符:public
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class SpaceProvider implements GlyphProvider {
private final Int2ObjectMap<EmptyGlyph> glyphs;
public SpaceProvider(Map<Integer, Float> advances) {
this.glyphs = new Int2ObjectOpenHashMap<>(advances.size());
advances.forEach((codepoint, advance) -> this.glyphs.put(codepoint.intValue(), new EmptyGlyph(advance)));
}
@Override
public @Nullable UnbakedGlyph getGlyph(int codepoint) {
return this.glyphs.get(codepoint);
}
@Override
public IntSet getSupportedGlyphs() {
return IntSets.unmodifiable(this.glyphs.keySet());
}
@OnlyIn(Dist.CLIENT)
public record Definition(Map<Integer, Float> advances) implements GlyphProviderDefinition {
public static final MapCodec<SpaceProvider.Definition> CODEC = RecordCodecBuilder.mapCodec(
i -> i.group(Codec.unboundedMap(ExtraCodecs.CODEPOINT, Codec.FLOAT).fieldOf("advances").forGetter(SpaceProvider.Definition::advances))
.apply(i, SpaceProvider.Definition::new)
);
@Override
public GlyphProviderType type() {
return GlyphProviderType.SPACE;
}
@Override
public Either<GlyphProviderDefinition.Loader, GlyphProviderDefinition.Reference> unpack() {
GlyphProviderDefinition.Loader loader = resourceManager -> new SpaceProvider(this.advances);
return Either.left(loader);
}
}
}引用的其他类
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
EmptyGlyph()
- 引用位置: