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"
14namespace Core {
class Path; }
22 ::ll::TypedStorage<1, 1, bool> mIsInitialized;
23 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::Font>>> mLoadedFonts;
24 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, uint64>> mFontNameToIdentifier;
25 ::ll::TypedStorage<8, 8, uint64> mDefaultFontId;
26 ::ll::TypedStorage<8, 8, uint64> mRuneFontId;
27 ::ll::TypedStorage<8, 8, uint64> mUnicodeFontId;
28 ::ll::TypedStorage<8, 8, uint64> mSmoothFontLatinFontId;
29 ::ll::TypedStorage<8, 8, uint64> mUIFontId;
30 ::ll::TypedStorage<8, 8, uint64> mSmoothSmallFontID;
31 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::std::shared_ptr<::Font>>> mOriginalMinecraftFonts;
32 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::std::shared_ptr<::Font>>> mOverriddenFonts;
33 ::ll::TypedStorage<8, 24, ::std::vector<::Bedrock::Threading::Async<void>>> mFontLoadingTaskTrackers;
34 ::ll::TypedStorage<8, 32, ::std::string> mLanguageCode;
40 virtual ~FontRepository() ;
42 virtual void onAppSuspended() ;
44 virtual void onDeviceLost() ;
50 MCAPI FontRepository();
52 MCAPI
void _queueBitmapFont(
53 ::std::string
const& alias,
54 ::Core::Path
const& asciiName,
55 ::Core::Path
const& unicodeName,
56 ::std::weak_ptr<::mce::TextureGroup> textureGroupWeakPtr
59 MCAPI
void _queueMsdfFont(
60 ::std::string
const& alias,
61 ::Core::Path
const& fontPagePrefix,
62 ::std::weak_ptr<::mce::TextureGroup> textureGroupWeakPtr
65 MCAPI
void _setDefaultFont(::std::string
const& fontName, uint64 fontId, ::std::shared_ptr<::Font> font);
67 MCAPI
void _setFontIfOverride(uint64 fontId, ::std::shared_ptr<::Font> font);
69 MCAPI uint64 addPreloadedFont(::std::string
const& fontName, ::std::shared_ptr<::Font> font);
71 MCAPI
void getDefaultFontHandles(
72 ::FontHandle& defaultFontHandle,
73 ::FontHandle& runeFontHandle,
74 ::FontHandle& unicodeFontHandle,
75 ::FontHandle& smoothLatinFontHandle,
76 ::FontHandle& uiFontHandle
79 MCAPI uint64 getFontIdentifier(::std::string
const& fontName);
81 MCAPI
void loadDefaultFonts(::std::shared_ptr<::mce::TextureGroup> textureGroup);
83 MCAPI
void onLanguageChanged(::std::string
const& languageCode);
85 MCAPI
void parseAndLoadMetadataFonts(::std::shared_ptr<::mce::TextureGroup> textureGroup);
87 MCAPI
void prepForShutdown();
89 MCAPI
void reloadFontTextures(
bool blockingLoad);
91 MCAPI
void resetPerFontData();
93 MCAPI
void setFont(uint64 fontId, ::std::shared_ptr<::Font> font);
95 MCAPI
void setMinecraftUIFontStyle(::std::string
const& languageCode);
97 MCAPI
void setUseFontOverrides(
bool useOverrides);
115 MCAPI
void $onAppSuspended();
117 MCAPI
void $onDeviceLost();
Definition EnableNonOwnerReferences.h:7
Definition FontHandle.h:5
Definition FontRepository.h:5
static MCAPI void ** $vftableForAppPlatformListener()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition TextureGroup.h:7