From ce78dd5b363ec1feb2e937601daf09977bf44648 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Thu, 12 Sep 2024 00:51:20 +0200 Subject: Add dropdown icons and description text --- include/Theme.hpp | 2 ++ include/gui/DropdownButton.hpp | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/Theme.hpp b/include/Theme.hpp index 1db389a..79ad358 100644 --- a/include/Theme.hpp +++ b/include/Theme.hpp @@ -39,6 +39,8 @@ namespace gsr { mgl::Texture logo_texture; mgl::Texture checkbox_circle_texture; mgl::Texture checkbox_background_texture; + mgl::Texture play_texture; + mgl::Texture stop_texture; double double_click_timeout_seconds = 0.4; diff --git a/include/gui/DropdownButton.hpp b/include/gui/DropdownButton.hpp index 306a327..40d2810 100644 --- a/include/gui/DropdownButton.hpp +++ b/include/gui/DropdownButton.hpp @@ -17,8 +17,9 @@ namespace gsr { bool on_event(mgl::Event &event, mgl::Window &window, mgl::vec2f offset) override; void draw(mgl::Window &window, mgl::vec2f offset) override; - void add_item(const std::string &text, const std::string &id); + void add_item(const std::string &text, const std::string &id, const std::string &description = ""); void set_item_label(const std::string &id, const std::string &new_label); + void set_item_icon(const std::string &id, mgl::Texture *texture); void set_activated(bool activated); @@ -30,6 +31,8 @@ namespace gsr { private: struct Item { mgl::Text text; + mgl::Text description_text; + mgl::Texture *icon_texture = nullptr; std::string id; }; -- cgit v1.2.3