From 3dbf3b68c484704aafcda9fd05ae88a0337956ef Mon Sep 17 00:00:00 2001 From: HampusM Date: Sat, 19 Mar 2022 13:28:29 +0100 Subject: feat: add inserting cells --- src/engine/graphics/scene.cpp | 8 +++++++- src/engine/graphics/scene.hpp | 6 ++++-- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src/engine/graphics') diff --git a/src/engine/graphics/scene.cpp b/src/engine/graphics/scene.cpp index 660e3ca..476b966 100644 --- a/src/engine/graphics/scene.cpp +++ b/src/engine/graphics/scene.cpp @@ -12,10 +12,11 @@ Scene::Scene(IMatrixFactory matrix_factory, std::shared_ptr cursor_controller, std::shared_ptr window) noexcept : _is_shown(false), - _matrix_factory(matrix_factory), + _matrix(matrix_factory(window->size() - Bounds({.width = 0U, .height = 1U}))), _cursor_controller(std::move(cursor_controller)), _window(std::move(window)) { + _matrix->fill(" "); } void Scene::enter() noexcept @@ -62,3 +63,8 @@ void Scene::write_status(const std::string_view &str) noexcept _cursor_controller->move_to(previous_position); } + +const std::shared_ptr> &Scene::get_matrix() const noexcept +{ + return _matrix; +} diff --git a/src/engine/graphics/scene.hpp b/src/engine/graphics/scene.hpp index 22a96a4..1f1c51c 100644 --- a/src/engine/graphics/scene.hpp +++ b/src/engine/graphics/scene.hpp @@ -29,11 +29,13 @@ public: void write_status(const std::string_view &str) noexcept override; + [[nodiscard]] const std::shared_ptr> & + get_matrix() const noexcept override; + private: bool _is_shown; - IMatrixFactory _matrix_factory; - + std::shared_ptr> _matrix; std::shared_ptr _cursor_controller; std::shared_ptr _window; }; -- cgit v1.2.3-18-g5258