#pragma once #include "button.h" class MenuDrop; class CascadeMenuButton : public Button { public: explicit CascadeMenuButton(const std::string& text, const std::shared_ptr& font, unsigned int font_size = 12); virtual void input(const sf::Event& event) override final; virtual void setRect(const sf::FloatRect& rect) override final; void setSubmenu(const std::shared_ptr& submenu); const std::shared_ptr submenu() const; void resetRect(); void setFillColors(sf::Color&& idle_color, sf::Color&& hover_color); private: std::shared_ptr _submenu; sf::Color _color_idle; sf::Color _color_hover; };