/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* text_manager.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/04/06 16:24:11 by maldavid #+# #+# */ /* Updated: 2024/03/25 19:08:00 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef __MLX_TEXT_MANAGER__ #define __MLX_TEXT_MANAGER__ #include #include #include #include #include namespace mlx { class TextManager { public: TextManager() = default; void init(Renderer& renderer) noexcept; std::pair registerText(int x, int y, std::uint32_t color, std::string str); inline void clear() { _text_descriptors.clear(); } void loadFont(Renderer& renderer, const std::filesystem::path& filepath, float scale); void destroy() noexcept; ~TextManager() = default; private: std::unordered_set _text_descriptors; FontID _font_in_use = nullfont; }; } #endif