-
Sebastian Gaida authoredSebastian Gaida authored
WindowManager.hpp 924 B
#pragma once
#include <vector>
#include <GLFW/glfw3.h>
#include "vkcv/Window.hpp"
#include "vkcv/Handles.hpp"
namespace vkcv {
class Core;
class WindowManager {
friend class Core;
private:
void destroyWindowById(uint64_t id);
public:
WindowManager() noexcept;
~WindowManager() noexcept;
WindowManager(WindowManager &&other) = delete;
WindowManager(const WindowManager &other) = delete;
WindowManager &operator=(WindowManager &&other) = delete;
WindowManager &operator=(const WindowManager &other) = delete;
WindowHandle createWindow(Core &core, const char *applicationName, uint32_t windowWidth, uint32_t windowHeight,
bool resizeable);
[[nodiscard]]
Window &getWindow(const WindowHandle handle) const;
/**
* Forwards the event poll to "vkcv/Window.hpp"
*/
static void pollEvents();
static bool hasOpenWindow();
static const Window getFocusedWindow();
};
}