3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/Font.h"
7#include "mc/deps/core/file/PathBuffer.h"
8#include "mc/deps/minecraft_renderer/renderer/Type.h"
15namespace Core {
class Path; }
16namespace mce {
class Color; }
25 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mFontPagePrefix;
26 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, float>> mUnicodeWidths;
27 ::ll::TypedStorage<8, 64, ::std::unordered_set<int>> mSheetScannedForWidthsAndOffsets;
28 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, int>> mRemappedGlyphs;
38 virtual float _getCharWidth(
int uniChar,
bool forceUnicode) ;
40 virtual bool supportsChar(
int const& character) ;
42 virtual float getWrapHeight() const ;
44 virtual
float getScaleFactor() const ;
46 virtual
bool isScreenPixelAligned() const ;
48 virtual
bool materialCanBeOverridden() const ;
50 virtual
void uploadTextureToGPU() ;
52 virtual
void setTextConstantsInScreenContext(
53 ::ScreenContext& screenContext,
56 ::mce::Color const& textColor,
60 virtual ::Vec2 getTranslationFactor() const ;
62 virtual
void _scanUnicodeCharacterSize(
int character,
int sheet,
bool forceUnicode) ;
64 virtual
bool _supportsShadowInSingleDraw() ;
66 virtual ::ResourceLocation _getFontSheetLocation(
int sheet,
bool) const ;
68 virtual ::mce::MaterialPtr const& getMaterial(
int sheet,
bool isOddGuiScale) const ;
70 virtual ::mce::Font::Type getType(
int glyphSheet) const ;
72 virtual
void loadFontData(
bool) ;
74 virtual
float buildChar(
77 ::mce::Color const& color,
84 virtual ::Core::PathBuffer<::std::
string>
85 getUnicodeFontNameWithPage(::Core::Path const& fontName, uchar const page) const;
87 virtual
int _getReplacementCharacter() ;
89 virtual ::std::
string _remapString(::std::string_view str) const ;
91 virtual
void switchFontsource(::Core::Path const&, ::Core::Path const&) ;
93 virtual ::std::pair<::Core::PathBuffer<::std::
string> const&, ::Core::PathBuffer<::std::
string> const&>
94 getFontSources() const ;
103 ::Core::Path const& fontPagePrefix,
104 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
105 bool uploadOnConstruction
108 MCAPI
void _loadGlyphRemappingData();
110 MCAPI
void _loadMsdfFontInformation(::Core::Path const& fontName, uchar page);
117 ::Core::Path const& fontPagePrefix,
118 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
119 bool uploadOnConstruction
132 MCAPI
float $_getCharWidth(
int uniChar,
bool forceUnicode);
134 MCAPI
bool $supportsChar(
int const& character);
136 MCFOLD
float $getWrapHeight() const;
138 MCFOLD
float $getScaleFactor() const;
140 MCFOLD
bool $isScreenPixelAligned() const;
142 MCFOLD
bool $materialCanBeOverridden() const;
144 MCFOLD
void $uploadTextureToGPU();
146 MCFOLD
void $setTextConstantsInScreenContext(
147 ::ScreenContext& screenContext,
150 ::mce::Color const& textColor,
154 MCAPI ::Vec2 $getTranslationFactor() const;
156 MCAPI
void $_scanUnicodeCharacterSize(
int character,
int sheet,
bool forceUnicode);
158 MCFOLD
bool $_supportsShadowInSingleDraw();
160 MCAPI ::ResourceLocation $_getFontSheetLocation(
int sheet,
bool) const;
162 MCAPI ::mce::MaterialPtr const& $getMaterial(
int sheet,
bool isOddGuiScale) const;
164 MCFOLD ::mce::Font::Type $getType(
int glyphSheet) const;
166 MCAPI
void $loadFontData(
bool);
168 MCAPI
float $buildChar(
171 ::mce::Color const& color,
178 MCAPI ::Core::PathBuffer<::std::
string>
179 $getUnicodeFontNameWithPage(::Core::Path const& fontName, uchar const page) const;
181 MCFOLD
int $_getReplacementCharacter();
183 MCAPI ::std::
string $_remapString(::std::string_view str) const;
185 MCAPI
void $switchFontsource(::Core::Path const&, ::Core::Path const&);
187 MCAPI ::std::pair<::Core::PathBuffer<::std::
string> const&, ::Core::PathBuffer<::std::
string> const&>
188 $getFontSources() const;
static MCAPI void ** $vftable()
Definition ResourceLocation.h:15
Definition ScreenContext.h:5
Definition MaterialPtr.h:15
Definition TextureGroup.h:7