#pragma once #include "Element.hpp" #include namespace GUIStuff { struct FontPickerData { std::function onFontChange; }; class FontPicker : public Element { public: FontPicker(GUIManager& gui); void layout(const Clay_ElementId& id, std::string* newFontName, const FontPickerData& newData = {}); private: std::string* fontName; FontPickerData data; size_t hoveringOver = std::numeric_limits::max(); bool jumpToFontName = false; std::optional get_valid_font_name(); bool dropdownOpen = false; }; }