Scroll to navigation

SDL_CreateWindowWithPosition(3) SDL3 FUNCTIONS SDL_CreateWindowWithPosition(3)

NAME

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

SYNOPSIS

#include "SDL3/SDL.h"
SDL_Window* SDL_CreateWindowWithPosition(const char *title, int x, int y, int w, int h, Uint32 flags);

DESCRIPTION

flags may be any of the following OR'd together:

SDL_WINDOW_FULLSCREEN : fullscreen window at
desktop resolution

SDL_WINDOW_OPENGL : window usable with an OpenGL
context

SDL_WINDOW_VULKAN : window usable with a Vulkan
instance

SDL_WINDOW_METAL : window usable with a Metal
instance

SDL_WINDOW_HIDDEN : window is not visible

SDL_WINDOW_BORDERLESS : no window decoration

SDL_WINDOW_RESIZABLE : window can be resized

SDL_WINDOW_MINIMIZED : window is minimized

SDL_WINDOW_MAXIMIZED : window is maximized

SDL_WINDOW_MOUSE_GRABBED : window has
grabbed mouse focus

The SDL_Window
is implicitly shown if

SDL_WINDOW_HIDDEN
is not set.

On Apple's macOS, you must set the NSHighResolutionCapable Info.plist property to YES, otherwise you will not receive a High-DPI OpenGL canvas.

The window pixel size may differ from its window coordinate size if the window is on a high pixel density display. Use

SDL_GetWindowSize () to query the client area's size in window coordinates, and

SDL_GetWindowSizeInPixels () or

SDL_GetRenderOutputSize () to query the drawable size in pixels. Note that the drawable size can vary after the window is created and should be queried again if you get an

SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED

event.

If the window is set fullscreen, the width and height parameters w and h will not be used. However, invalid size parameters (e.g. too large) may still fail. Window size is actually limited to 16384 x 16384 for all platforms at window creation.

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.

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.

FUNCTION PARAMETERS

the title of the window, in UTF-8 encoding
the x position of the window, or SDL_WINDOWPOS_CENTERED

the y position of the window, or SDL_WINDOWPOS_CENTERED

the width of the window
the height of the window
0, or one or more SDL_WindowFlags
OR'd together

RETURN VALUE

Returns the window that was created or NULL on failure; call

SDL_GetError () for more information.

AVAILABILITY

This function is available since SDL 3.0.0.

SEE ALSO

SDL_CreatePopupWindow(3), SDL_CreateWindow(3), SDL_CreateWindowFrom(3), SDL_DestroyWindow(3)

SDL 3.0.0 SDL