#pragma once #include "Font.hpp" #include "RcPtr.hpp" class FontManager { public: // Pointers are valid staring from program entry, but object will not be initialized until FontManager::Init() is called. static RcPtr sans; static RcPtr serif; static RcPtr monospace; public: static const RcPtr& GetDefaultFont(); static const Font* ResolveFallback(const Font* font); static const RcPtr& ResolveFallback(const RcPtr& font); static void Init(); static void Shutdown(); };