#pragma once #include #include #include #include "gfx/txt_renderer.h" #include "client_network.h" #include "vfs_manager.h" #include "command_processor.h" class Terminal { public: Terminal(void); ~Terminal(void); void handle_input(SDL_Event* event); void render(TextRenderer* renderer, int x, int y, int width, int height, bool show_cursor); void scroll(int amount, int content_height); private: void _on_ret_press(void); std::string _input_buffer; std::vector _history; int _scroll_offset; std::string _current_path; vfs_node* _local_vfs; CommandProcessor* _local_cmd_processor; ClientNetwork* _network; };