diff options
Diffstat (limited to 'src/engine/components/statusline.hpp')
-rw-r--r-- | src/engine/components/statusline.hpp | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/src/engine/components/statusline.hpp b/src/engine/components/statusline.hpp deleted file mode 100644 index 8c1969b..0000000 --- a/src/engine/components/statusline.hpp +++ /dev/null @@ -1,48 +0,0 @@ -#pragma once - -#include "interfaces/matrix.hpp" -#include "interfaces/statusline.hpp" - -#include "engine/data/vector2.hpp" - -#include <memory> -#include <string_view> -#include <unordered_map> - -constexpr uint32_t STATUSLINE_COLOR = 0x1A1A1AU; - -class StatusLine : public IStatusLine -{ -public: - explicit StatusLine(std::shared_ptr<ComponentMatrix> component_matrix) noexcept; - - auto get() const noexcept -> const std::shared_ptr<ComponentMatrix> & override; - - [[nodiscard]] auto get_need_render() const noexcept -> bool override; - - void set_need_render(bool need_render) noexcept override; - - auto get_foreground_color() const noexcept -> uint32_t override; - - auto get_background_color() const noexcept -> uint32_t override; - - void set_status( - StatusLineSection section, - const std::string_view &status, - int32_t start) noexcept override; - - void set_section_length(StatusLineSection section, int32_t length) noexcept override; - -private: - std::shared_ptr<ComponentMatrix> _component_matrix; - std::unordered_map<StatusLineSection, int32_t> _section_lengths; - bool _need_render; - - void - _matrix_write_string(const Vector2 &position, const std::string_view &str) noexcept; - - [[nodiscard]] auto _get_section_start_x(StatusLineSection section) const noexcept - -> int32_t; - - void _clear_section(StatusLineSection section, int32_t start) noexcept; -}; |