// video.hpp #pragma once #include #include class Video { public: struct Config { bool fullscreen{false}; float zoom{2.0F}; float width{320.0F}; float height{240.0F}; std::string window_caption{}; bool vsync{true}; }; Video(Config config); ~Video(); void clean(int color); void present(); private: Config config_; SDL_Window* window_{nullptr}; SDL_Renderer* renderer_{nullptr}; SDL_Texture* game_texture_{nullptr}; auto initSDL() -> int; void cleanup(); };