#pragma once #include #include #include "device.hpp" #include "window.hpp" namespace sophia { class Engine { public: struct Config { int width; int height; std::string name; bool headless = false; }; Engine(const Engine&) = delete; Engine& operator=(const Engine&) = delete; Engine(const Config& config); ~Engine(); void run(); private: Config config; std::unique_ptr window; std::unique_ptr device; bool isRunning = true; }; } // namespace sophia