diff options
Diffstat (limited to 'src/interfaces/statusline.hpp')
-rw-r--r-- | src/interfaces/statusline.hpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/interfaces/statusline.hpp b/src/interfaces/statusline.hpp new file mode 100644 index 0000000..00da99b --- /dev/null +++ b/src/interfaces/statusline.hpp @@ -0,0 +1,27 @@ +#pragma once + +#include "interfaces/cursor.hpp" +#include "interfaces/window.hpp" + +#include <string_view> + +enum StatusLineSection +{ + A, + B +}; + +class IStatusLine +{ +public: + virtual ~IStatusLine() noexcept = default; + + virtual void initialize_background() noexcept = 0; + + virtual void set_status(StatusLineSection section, + const std::string_view &str) noexcept = 0; +}; + +using IStatusLineFactory = std::shared_ptr<IStatusLine> (*)( + const std::shared_ptr<ICursorController> &cursor_controller, + const std::shared_ptr<IWindow> &window); |