1from ctypes import POINTER, c_int, c_uint, c_uint64, c_void_p, c_char_p
2from .dll import _bind
3from .stdinc import SDL_bool
4from .video import SDL_Window
5
6# NOTE: I have no idea whether this module actually works
7
8__all__ = [
9    "SDL_Vulkan_LoadLibrary", "SDL_Vulkan_GetVkGetInstanceProcAddr",
10    "SDL_Vulkan_UnloadLibrary", "SDL_Vulkan_GetInstanceExtensions",
11    "SDL_Vulkan_CreateSurface", "SDL_Vulkan_GetDrawableSize"
12]
13
14
15VkInstance = c_void_p
16# TODO: 32bit/64bit
17VkSurfaceKHR = c_uint64
18
19SDL_Vulkan_LoadLibrary = _bind("SDL_Vulkan_LoadLibrary", [c_char_p], c_int, added='2.0.6')
20SDL_Vulkan_GetVkGetInstanceProcAddr = _bind("SDL_Vulkan_GetVkGetInstanceProcAddr", None, c_void_p, added='2.0.6')
21SDL_Vulkan_UnloadLibrary = _bind("SDL_Vulkan_UnloadLibrary", None, None, added='2.0.6')
22SDL_Vulkan_GetInstanceExtensions = _bind("SDL_Vulkan_GetInstanceExtensions", [POINTER(SDL_Window), POINTER(c_uint), POINTER(c_char_p)], SDL_bool, added='2.0.6')
23SDL_Vulkan_CreateSurface = _bind("SDL_Vulkan_CreateSurface", [POINTER(SDL_Window), VkInstance, POINTER(VkSurfaceKHR)], SDL_bool, added='2.0.6')
24SDL_Vulkan_GetDrawableSize = _bind("SDL_Vulkan_GetDrawableSize", [POINTER(SDL_Window), POINTER(c_int), POINTER(c_int)], None, added='2.0.6')
25