#pragma once #include "DI/auto_wirable.hpp" #include "interfaces/matrix.hpp" #include "interfaces/scene.hpp" #include #include constexpr fmt::string_view ESC = "\x1B"; constexpr fmt::string_view ENABLE_ALT_BUFFER = "{esc}[?1049h"; constexpr fmt::string_view DISABLE_ALT_BUFFER = "{esc}[?1049l"; class Scene : public IScene, public AutoWirable> { public: explicit Scene(IMatrixFactory matrix_factory); void enter() override; void leave() override; // void do_in_statusbar(const std::function &routine); private: bool _is_shown; IMatrixFactory _matrix_factory; };