pub unsafe extern "C" fn SDL_CreateWindow(
    title: *const c_char,
    x: c_int,
    y: c_int,
    w: c_int,
    h: c_int,
    flags: u32
) -> *mut SDL_Window
Expand description

Create a window with the specified position, dimensions, and flags.

Returns: The created window, or NULL if window creation failed.

If the window is created with the SDL_WINDOW_ALLOW_HIGHDPI flag, its size in pixels may differ from its size in screen coordinates on platforms with high-DPI support (e.g. iOS and Mac OS X). Use SDL_GetWindowSize() to query the client area’s size in screen coordinates, and SDL_GL_GetDrawableSize(), SDL_Vulkan_GetDrawableSize(), or SDL_GetRendererOutputSize() to query the drawable size in pixels.

If the window is created with any of the SDL_WINDOW_OPENGL or SDL_WINDOW_VULKAN flags, then the corresponding LoadLibrary function (SDL_GL_LoadLibrary or [SDL_Vulkan_LoadLibrary]) is called and the corresponding UnloadLibrary function is called by SDL_DestroyWindow.

If SDL_WINDOW_VULKAN is specified and there isn’t a working Vulkan driver, SDL_CreateWindow will fail because SDL_Vulkan_LoadLibrary will fail.

If SDL_WINDOW_METAL is specified on an OS that does not support Metal, SDL_CreateWindow will fail.

Note: On non-Apple devices, SDL requires you to either not link to the Vulkan loader or link to a dynamic library version. This limitation may be removed in a future version of SDL.

See Also: SDL_DestroyWindow, SDL_GL_LoadLibrary, [SDL_Vulkan_LoadLibrary]