11#define GLFW_INCLUDE_VULKAN
12#include <GLFW/glfw3.h>
13#include <vulkan/vulkan.h>
38 [[nodiscard]] GLFWwindow*
createWindow(uint32_t width, uint32_t height,
const std::string &title);
47 void setFullscreen(
bool fullscreen, uint32_t width, uint32_t height);
void createWindowSurface(VkInstance instance, VkSurfaceKHR *surface) const
Window & operator=(Window &&)=delete
GLFWwindow * createWindow(uint32_t width, uint32_t height, const std::string &title)
static void framebufferResizeCallback(GLFWwindow *window, int width, int height)
Window(const Window &)=delete
GLFWwindow * getGLFWindow() const
VkExtent2D getExtent() const
Window & operator=(const Window &)=delete
bool m_framebufferResized
void setFullscreen(bool fullscreen, uint32_t width, uint32_t height)
void setWindowIcon(const std::string &path)
Window(const uint32_t width=DEFAULT_WIDTH, const uint32_t height=DEFAULT_HEIGHT)
void resetWindowResizedFlag()
bool wasWindowResized() const
static constexpr uint32_t DEFAULT_WIDTH
static constexpr uint32_t DEFAULT_HEIGHT
static constexpr std::string_view DEFAULT_TITLE