47 virtual void AcquireRuntime() = 0;
48 virtual void ReleaseRuntime()
noexcept = 0;
49 [[nodiscard]]
virtual unsigned int NextWindowId()
noexcept = 0;
50 virtual void WindowHint(
int hint,
int value) = 0;
51 [[nodiscard]]
virtual GLFWwindow* CreateWindow(
int width,
int height,
const char* title) = 0;
52 virtual void DestroyWindow(GLFWwindow* window) = 0;
53 virtual void SetWindowUserPointer(GLFWwindow* window,
void* pointer) = 0;
54 [[nodiscard]]
virtual WindowSnapshot CaptureWindowSnapshot(GLFWwindow* window) = 0;
55 virtual void RegisterCallbacks(GLFWwindow* window) = 0;
56 virtual void PollEvents()
noexcept = 0;
57 virtual void SetWindowIcon(GLFWwindow* window,
int count,
const GLFWimage* images) = 0;
58 [[nodiscard]]
virtual const char** GetRequiredInstanceExtensions(uint32_t* count) = 0;
59 [[nodiscard]]
virtual VkResult CreateWindowSurface(VkInstance instance, GLFWwindow* window,
const VkAllocationCallbacks* allocator,
60 VkSurfaceKHR* surface) = 0;
61 virtual void IconifyWindow(GLFWwindow* window)
noexcept = 0;
62 virtual void MaximizeWindow(GLFWwindow* window)
noexcept = 0;
63 virtual void RestoreWindow(GLFWwindow* window)
noexcept = 0;
64 virtual void SetInputMode(GLFWwindow* window,
int mode,
int value)
noexcept = 0;
65 [[nodiscard]]
virtual int GetWindowAttrib(GLFWwindow* window,
int attrib)
const noexcept = 0;
66 [[nodiscard]]
virtual int GetKey(GLFWwindow* window,
int key)
const noexcept = 0;
118class ScopedWindowChromeApiOverride
122 ~ScopedWindowChromeApiOverride();
124 ScopedWindowChromeApiOverride(
const ScopedWindowChromeApiOverride&) =
delete;
125 ScopedWindowChromeApiOverride& operator=(
const ScopedWindowChromeApiOverride&) =
delete;
133class ScopedIconBitmapLoaderOverride
136 explicit ScopedIconBitmapLoaderOverride(IconBitmapLoader loader);
137 ~ScopedIconBitmapLoaderOverride();
139 ScopedIconBitmapLoaderOverride(
const ScopedIconBitmapLoaderOverride&) =
delete;
140 ScopedIconBitmapLoaderOverride& operator=(
const ScopedIconBitmapLoaderOverride&) =
delete;
143 IconBitmapLoader previous_loader_;
154[[nodiscard]] std::pair<const
char**, uint32_t> GetInstanceExtensions();
155[[nodiscard]] VkResult CreateSurface(const
Window& window, VkInstance instance, const VkAllocationCallbacks* allocator,