You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
680 B
C++

#pragma once
#include "button.h"
class MenuDrop;
class CascadeMenuButton : public Button
{
public:
explicit CascadeMenuButton(const std::string& text, const std::shared_ptr<sf::Font>& 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<MenuDrop>& submenu);
const std::shared_ptr<MenuDrop> submenu() const;
void resetRect();
void setFillColors(sf::Color&& idle_color, sf::Color&& hover_color);
private:
std::shared_ptr<MenuDrop> _submenu;
sf::Color _color_idle;
sf::Color _color_hover;
};