10 #ifndef DEVCONSOLE_DEF
11 #define DEVCONSOLE_DEF
13 #include <message_bus.hpp>
14 #include "../src/main/console_log.hpp"
23 void scroll(int32_t scroll_y);
31 void write(
const std::string &arg, ST::log_type type);
33 void handle_messages();
35 void backspaceAction();
39 void rightKeyAction();
45 void enterKeyAction();
47 void deleteKeyAction();
49 uint8_t log_level = 0x00;
52 SDL_Color color_text{};
53 SDL_Color color_info{};
54 SDL_Color color_error{};
55 SDL_Color color_success{};
60 std::vector<ST::console_log> entries;
61 std::vector<std::string> command_entries;
62 const uint8_t font_size = 40;
63 int32_t scroll_offset = 0;
66 uint16_t cursor_position = 0;
67 uint64_t cursor_timer = 0;
68 int16_t entries_history_index = -1;
69 std::string composition;
70 std::string composition_history_temp;
71 uint16_t hold_counter = 0;
82 [[nodiscard]]
bool is_open()
const;
86 void post_init()
const;
Tests fixture for the console.
This object represents the console window.
void set_log_level(ST::log_type arg)
console(message_bus &gMessageBus)
This object is responsible for issuing drawing commands and drawing the current level.
The central messaging system of the engine. All subsystem make extensive use of it.
This class handles a small queue for messages.