#include "input_actions.hpp" #include namespace InputActions { void exit_success() { exit(EXIT_SUCCESS); } Callback move_cursor(const Vector2 &direction, const std::shared_ptr &cursor_controller, const std::shared_ptr &scene, const std::shared_ptr &window) { return [direction, cursor_controller, scene, window]() { constexpr int32_t amount = 1; const auto new_position = cursor_controller->where().to_direction(direction, amount); const auto window_size = window->size(); if (window_size.validate_coords(new_position) != CoordsValidation::VALID) { return; } cursor_controller->move_to(new_position); scene->write_status( fmt::format("X: {} Y {}", new_position.get_x(), new_position.get_y())); }; } } // namespace InputActions