#pragma once #include #include #include #include #include namespace ls { class GlfwState { public: GlfwState(); std::vector get_vulkan_exts(); }; class GlfwWindow { private: GLFWwindow* __window; std::string __title; public: GlfwWindow(GlfwState* state, uint32_t x_size, uint32_t y_size, std::string title); void show(); void set_title(const std::string title); GLFWwindow* __get_backing(); VkResult __make_surface(VkInstance instance, VkSurfaceKHR* surface); }; }