Button.h 590 bytes
#pragma once
#include "config.h"
#include "IDrawable.h"
#include "Commands/ISelectCommand.h"
class Button: public IDrawable {
public:
    void set();  ///@todo
    void select() noexcept;
    void unselect() noexcept;
    bool is_selected() noexcept;
    bool is_position_in(sf::Vector2f pos) const noexcept;
    void push() const;
    void draw_into(sf::RenderWindow& window) const override {};  ///@todo
public:
    Button(); ///@todo
private:
    sf::Text m_text;
    bool m_is_selected = false;
    sf::RectangleShape m_rectangle;
    std::unique_ptr<ISelectCommand> m_ptr_command;