#pragma section-numbers off #pragma disable-camelcase = SDL_CreateWindow = Use this function to create a window with the specified position, dimensions, and flags. <> == Syntax == {{{#!highlight cpp SDL_Window* SDL_CreateWindow(const char* title, int x, int y, int w, int h, Uint32 flags) }}} == Function Parameters == ||'''title'''||the title of the window, in UTF-8 encoding|| ||'''x'''||the x position of the window, SDL_WINDOWPOS_CENTERED, or SDL_WINDOWPOS_UNDEFINED|| ||'''y'''||the y position of the window, SDL_WINDOWPOS_CENTERED, or SDL_WINDOWPOS_UNDEFINED|| ||'''w'''||the width of the window, in screen coordinates|| ||'''h'''||the height of the window, in screen coordinates|| ||'''flags'''||0, or one or more [[SDL_WindowFlags]] OR'd together; see [[#flags|Remarks]] for details|| == Return Value == Returns the window that was created or NULL on failure; call [[SDL_GetError]]() for more information. == Code Examples == {{{#!highlight cpp // Example program: // Using SDL2 to create an application window #include "SDL.h" #include int main(int argc, char* argv[]) { SDL_Window *window; // Declare a pointer SDL_Init(SDL_INIT_VIDEO); // Initialize SDL2 // Create an application window with the following settings: window = SDL_CreateWindow( "An SDL2 window", // window title SDL_WINDOWPOS_UNDEFINED, // initial x position SDL_WINDOWPOS_UNDEFINED, // initial y position 640, // width, in pixels 480, // height, in pixels SDL_WINDOW_OPENGL // flags - see below ); // Check that the window was successfully created if (window == NULL) { // In the case that the window could not be made... printf("Could not create window: %s\n", SDL_GetError()); return 1; } // The window is open: could enter program loop here (see SDL_PollEvent()) SDL_Delay(3000); // Pause execution for 3000 milliseconds, for example // Close and destroy the window SDL_DestroyWindow(window); // Clean up SDL_Quit(); return 0; } }}} == Remarks == <> '''flags''' may be any of the following OR'd together: ||SDL_WINDOW_FULLSCREEN||fullscreen window|| ||SDL_WINDOW_FULLSCREEN_DESKTOP||fullscreen window at the current desktop resolution|| ||SDL_WINDOW_OPENGL||window usable with OpenGL context|| ||SDL_WINDOW_VULKAN||window usable with a Vulkan 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_INPUT_GRABBED||window has grabbed input focus|| ||SDL_WINDOW_ALLOW_HIGHDPI||window should be created in high-DPI mode if supported (>= SDL 2.0.1)|| SDL_WINDOW_SHOWN is ignored by SDL_!CreateWindow(). The SDL_Window is implicitly shown if SDL_WINDOW_HIDDEN is not set. SDL_WINDOW_SHOWN may be queried later using [[SDL_GetWindowFlags]](). On Apple's OS X you '''must''' set the NSHighResolutionCapable Info.plist property to YES, otherwise you will not receive a High DPI OpenGL canvas. 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]]() or [[SDL_GetRendererOutputSize]]() to query the drawable size in pixels. 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. == Version == This function is available since SDL 2.0.0. == Related Functions == .[[SDL_CreateWindowFrom]] .[[SDL_DestroyWindow]] ---- [[CategoryAPI]], [[CategoryVideo]]