From a570e494bca43c30d7ec91d293051c0c818509b5 Mon Sep 17 00:00:00 2001 From: HampusM Date: Thu, 23 Jun 2022 17:05:43 +0200 Subject: feat: add statusline mode styling --- src/interfaces/component.hpp | 12 +++++++++++- src/interfaces/statusline.hpp | 8 +++++++- 2 files changed, 18 insertions(+), 2 deletions(-) (limited to 'src/interfaces') diff --git a/src/interfaces/component.hpp b/src/interfaces/component.hpp index 7e1b132..2f62c95 100644 --- a/src/interfaces/component.hpp +++ b/src/interfaces/component.hpp @@ -2,13 +2,23 @@ #include "interfaces/matrix.hpp" +#include "engine/data/style.hpp" + #include +#include + +class ComponentElement +{ +public: + char value{}; + Style style{}; +}; // NOLINTNEXTLINE(cppcoreguidelines-special-member-functions) class IComponent { public: - using ComponentMatrix = IMatrix; + using ComponentMatrix = IMatrix; virtual ~IComponent() = default; diff --git a/src/interfaces/statusline.hpp b/src/interfaces/statusline.hpp index ae25fd9..0634d2e 100644 --- a/src/interfaces/statusline.hpp +++ b/src/interfaces/statusline.hpp @@ -3,9 +3,12 @@ #include "interfaces/component.hpp" #include "engine/data/bounds.hpp" +#include "engine/data/style.hpp" #include +#include +#include #include enum StatusLineSection @@ -25,13 +28,16 @@ class IStatusLine : public IComponent { public: // NOLINTNEXTLINE(google-default-arguments) - virtual void set_status( + virtual void set_section_status( StatusLineSection section, const std::string_view &status, int32_t start = 1) noexcept = 0; virtual void set_section_length(StatusLineSection section, int32_t length) noexcept = 0; + + virtual void + set_section_style(StatusLineSection section, const Style &style) noexcept = 0; }; using IStatusLineFactory = -- cgit v1.2.3-18-g5258