26 lines
680 B
C++
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;
|
|
};
|
|
|