3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/application/AppPlatformListener.h"
7#include "mc/deps/core/threading/Async.h"
8#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
15namespace Core {
class Path; }
22 using NonNullFontPtr = ::gsl::not_null<::std::shared_ptr<::Font>>;
27 ::ll::TypedStorage<1, 1, bool> mIsInitialized;
28 ::ll::TypedStorage<8, 24, ::std::vector<::gsl::not_null<::std::shared_ptr<::Font>>>> mLoadedFonts;
29 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, uint64>> mFontNameToIdentifier;
30 ::ll::TypedStorage<8, 8, uint64> mDefaultFontId;
31 ::ll::TypedStorage<8, 8, uint64> mRuneFontId;
32 ::ll::TypedStorage<8, 8, uint64> mUnicodeFontId;
33 ::ll::TypedStorage<8, 8, uint64> mSmoothFontLatinFontId;
34 ::ll::TypedStorage<8, 8, uint64> mUIFontId;
35 ::ll::TypedStorage<8, 8, uint64> mSmoothSmallFontID;
36 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::std::shared_ptr<::Font>>> mOriginalMinecraftFonts;
37 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::std::shared_ptr<::Font>>> mOverriddenFonts;
38 ::ll::TypedStorage<8, 24, ::std::vector<::Bedrock::Threading::Async<void>>> mFontLoadingTaskTrackers;
39 ::ll::TypedStorage<8, 32, ::std::string> mLanguageCode;
45 virtual ~FontRepository() ;
47 virtual void onAppSuspended() ;
49 virtual void onDeviceLost() ;
55 MCAPI FontRepository();
57 MCAPI
void _queueBitmapFont(
58 ::std::string
const& alias,
59 ::Core::Path
const& asciiName,
60 ::Core::Path
const& unicodeName,
61 ::std::weak_ptr<::mce::TextureGroup> textureGroupWeakPtr
64 MCAPI
void _queueMsdfFont(
65 ::std::string
const& alias,
66 ::Core::Path
const& fontPagePrefix,
67 ::std::weak_ptr<::mce::TextureGroup> textureGroupWeakPtr
70 MCAPI
void _setDefaultFont(::std::string
const& fontName, uint64 fontId, ::std::shared_ptr<::Font> font);
72 MCAPI
void _setFontIfOverride(uint64 fontId, ::std::shared_ptr<::Font> font);
74 MCAPI uint64 addPreloadedFont(::std::string
const& fontName, ::gsl::not_null<::std::shared_ptr<::Font>> font);
76 MCAPI
void clearStringCache();
78 MCAPI
void getDefaultFontHandles(
79 ::FontHandle& defaultFontHandle,
80 ::FontHandle& runeFontHandle,
81 ::FontHandle& unicodeFontHandle,
82 ::FontHandle& smoothLatinFontHandle,
83 ::FontHandle& uiFontHandle
86 MCAPI ::Font& getFont(uint64 fontId);
88 MCAPI ::FontHandle getFontHandle(uint64 fontId);
90 MCAPI uint64 getFontIdentifier(::std::string
const& fontName);
92 MCAPI ::std::vector<::ResourceLocation> getReloadFontTextures()
const;
94 MCAPI
bool haveDefaultFontsLoaded();
96 MCAPI
bool isFontIdInRepository(uint64 fontId);
98 MCAPI
bool isReloadingTextures();
100 MCFOLD
bool isRepositoryInitialized();
102 MCAPI
void loadDefaultFonts(::std::shared_ptr<::mce::TextureGroup> textureGroup);
104 MCAPI
void onLanguageChanged(::std::string
const& languageCode);
106 MCAPI
void parseAndLoadMetadataFonts(::std::shared_ptr<::mce::TextureGroup> textureGroup);
108 MCAPI
void prepForShutdown();
110 MCAPI
void reloadFontTextures(
bool blockingLoad);
112 MCAPI
void resetPerFontData();
114 MCAPI
void setMinecraftSmoothFontStyle(
float guiScale, ::std::string
const&);
116 MCAPI
void setMinecraftUIFontStyle(::std::string
const& languageCode);
118 MCAPI
void setUseFontOverrides(
bool useOverrides);
124 MCAPI
static uint64& INVALID_FONT();
142 MCAPI
void $onAppSuspended();
144 MCAPI
void $onDeviceLost();
Definition EnableNonOwnerReferences.h:7
Definition FontHandle.h:5
Definition FontRepository.h:5
static MCAPI void ** $vftableForAppPlatformListener()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition ResourceLocation.h:15
Definition TextureGroup.h:7