diff options
Diffstat (limited to 'src/engine/user')
| -rw-r--r-- | src/engine/user/cursor.cpp | 13 | ||||
| -rw-r--r-- | src/engine/user/cursor.hpp | 15 | 
2 files changed, 10 insertions, 18 deletions
| diff --git a/src/engine/user/cursor.cpp b/src/engine/user/cursor.cpp index 9d6e28c..d4a2997 100644 --- a/src/engine/user/cursor.cpp +++ b/src/engine/user/cursor.cpp @@ -5,29 +5,24 @@  #include <cstdlib>  #include <iostream> -CursorController::CursorController(IVector2Factory vector2_factory) -	: _vector2_factory(vector2_factory) -{ -} - -void CursorController::move_to(const IVector2 &pos) +void CursorController::move_to(const Vector2 &pos)  {  	fmt::print(MOVE_CURSOR_TO, fmt::arg("esc", ESC), fmt::arg("row", pos.y()),  			   fmt::arg("column", pos.x()));  	std::cout.flush();  } -std::shared_ptr<IVector2> CursorController::where() +Vector2 CursorController::where()  {  	fmt::print(REQUEST_CURSOR_POSITION, fmt::arg("esc", ESC));  	std::cout.flush(); -	IVector2Options vector2_options = {}; +	Vector2Options vector2_options = {};  	// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)  	scanf("\033[%u;%uR", &vector2_options.y, &vector2_options.x); -	return _vector2_factory(vector2_options); +	return Vector2(vector2_options);  }  void CursorController::hide() diff --git a/src/engine/user/cursor.hpp b/src/engine/user/cursor.hpp index 0317dc5..69d639a 100644 --- a/src/engine/user/cursor.hpp +++ b/src/engine/user/cursor.hpp @@ -2,7 +2,8 @@  #include "DI/auto_wirable.hpp"  #include "interfaces/direction.hpp" -#include "interfaces/vector2.hpp" + +#include "engine/data/vector2.hpp"  #include "fmt/core.h"  #include <array> @@ -21,25 +22,21 @@ constexpr fmt::string_view REQUEST_CURSOR_POSITION = "{esc}[6n";  constexpr fmt::string_view CURSOR_VISIBLE = "{esc}[?25h";  constexpr fmt::string_view CURSOR_INVISIBLE = "{esc}[?25l"; -class CursorController -	: public AutoWirable<CursorController, CursorController, IVector2Factory> +class CursorController : public AutoWirable<CursorController, CursorController>  {  public: -	explicit CursorController(IVector2Factory vector2_factory); +	CursorController() = default;  	template <Direction::value_type direction>  	constexpr void move(const unsigned int &amount) const; -	static void move_to(const IVector2 &pos); +	static void move_to(const Vector2 &pos);  	static void hide();  	static void show(); -	[[nodiscard]] std::shared_ptr<IVector2> where(); - -private: -	IVector2Factory _vector2_factory; +	[[nodiscard]] static Vector2 where();  };  #include "cursor.tpp" | 
