3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/FontHandle.h"
7#include "mc/deps/application/AppPlatformListener.h"
8#include "mc/deps/core/threading/Async.h"
9#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
17namespace Core {
class Path; }
24 using NonNullFontPtr = ::gsl::not_null<::std::shared_ptr<::Font>>;
29 ::ll::TypedStorage<1, 1, bool> mIsInitialized;
30 ::ll::TypedStorage<8, 24, ::std::vector<::gsl::not_null<::std::shared_ptr<::Font>>>> mLoadedFonts;
31 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, uint64>> mFontNameToIdentifier;
32 ::ll::TypedStorage<8, 8, uint64> mDefaultFontId;
33 ::ll::TypedStorage<8, 8, uint64> mRuneFontId;
34 ::ll::TypedStorage<8, 8, uint64> mUnicodeFontId;
35 ::ll::TypedStorage<8, 8, uint64> mSmoothFontLatinFontId;
36 ::ll::TypedStorage<8, 8, uint64> mUIFontId;
37 ::ll::TypedStorage<8, 8, uint64> mSmoothSmallFontID;
38 ::ll::TypedStorage<8, 80, ::FontHandle> mFontHandle;
39 ::ll::TypedStorage<8, 80, ::FontHandle> mRuneFontHandle;
40 ::ll::TypedStorage<8, 80, ::FontHandle> mUnicodeFontHandle;
41 ::ll::TypedStorage<8, 80, ::FontHandle> mSmoothFontLatinHandle;
42 ::ll::TypedStorage<8, 80, ::FontHandle> mUIFontHandle;
43 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::std::shared_ptr<::Font>>> mOriginalMinecraftFonts;
44 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::std::shared_ptr<::Font>>> mOverriddenFonts;
45 ::ll::TypedStorage<8, 24, ::std::vector<::Bedrock::Threading::Async<void>>> mFontLoadingTaskTrackers;
46 ::ll::TypedStorage<8, 32, ::std::string> mLanguageCode;
47 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager>> mResourceLoadManager;
48 ::ll::TypedStorage<1, 1, bool> mIsOnLowMemoryDevice;
58 virtual ~FontRepository() =
default;
60 virtual void onAppSuspended() ;
62 virtual void onDeviceLost() ;
68 MCAPI FontRepository(::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> manager,
bool isOnLowMemoryDevice);
70 MCAPI
void _queueBitmapFont(
71 ::std::string
const& alias,
72 ::Core::Path
const& asciiName,
73 ::Core::Path
const& unicodeName,
74 ::std::weak_ptr<::mce::TextureGroup> textureGroupWeakPtr
77 MCAPI
void _queueMsdfFont(
78 ::std::string
const& alias,
79 ::Core::Path
const& fontPagePrefix,
80 ::std::weak_ptr<::mce::TextureGroup> textureGroupWeakPtr
83 MCAPI
void _setDefaultFont(::std::string
const& fontName, uint64
const fontId, ::std::shared_ptr<::Font> font);
85 MCAPI
void _setFontIfOverride(uint64
const fontId, ::std::shared_ptr<::Font> font);
87 MCAPI uint64 addPreloadedFont(::std::string
const& fontName, ::gsl::not_null<::std::shared_ptr<::Font>> font);
89 MCAPI ::FontHandle getFontFromFontType(::std::string
const& fontType)
const;
91 MCAPI ::FontHandle getFontHandle(uint64
const fontId);
93 MCAPI uint64 getFontIdentifier(::std::string
const& fontName);
95 MCAPI ::std::vector<::ResourceLocation> getReloadFontTextures()
const;
97 MCAPI
void initDefaultFontHandles();
99 MCAPI
void loadDefaultFonts(::std::shared_ptr<::mce::TextureGroup> textureGroup);
101 MCAPI
void onLanguageChanged(::std::string
const& languageCode);
103 MCAPI
void parseAndLoadMetadataFonts(::std::shared_ptr<::mce::TextureGroup> textureGroup);
105 MCAPI
void reloadFontTextures(
bool blockingLoad);
107 MCAPI
void setMinecraftSmoothFontStyle(
float guiScale, ::std::string
const&);
109 MCAPI
void setMinecraftUIFontStyle(::std::string
const& languageCode);
111 MCAPI
void setUseFontOverrides(
bool useOverrides);
117 MCAPI
static uint64& INVALID_FONT();
123 MCAPI
void* $ctor(::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> manager,
bool isOnLowMemoryDevice);
129 MCAPI
void $onAppSuspended();
131 MCAPI
void $onDeviceLost();
Definition EnableNonOwnerReferences.h:7
Definition FontRepository.h:5
Definition ResourceLoadManager.h:18
Definition ResourceLocation.h:15
Definition TextureGroup.h:7