Función SDL_CreateWindow
Sintaxis
SDL_Window * SDL_CreateWindow(const char *title, int x, int y, int w, int h, Uint32 flags);
Descripción
Crea una ventana con la posición, dimensiones y banderas especificadas.
Parámetros
- title
- El título de la ventana, codificado en UTF-8.
- x
- La posición x de la ventana, SDL_WINDOWPOS_CENTERED, o SDL_WINDOWPOS_UNDEFINED.
- y
- La posición y de la ventana, SDL_WINDOWPOS_CENTERED, o SDL_WINDOWPOS_UNDEFINED.
- w
- La anchura de la ventana, en coordenadas de pantalla.
- h
- La altura de la ventana, en coordenadas de pantalla.
- flags
- 0, uno o más SDL_WindowFlags combinados con OR.
Valor de retorno
Devuelve la ventana creada o NULL si se produjo un fallo; llamad a SDL_GetError() para mayor información.
Observaciones
Ver SDL_WindowFlags para una descripción de las banderas disponibles.
La bandera SDL_WINDOW_SHOWN será ignorada por SDL_CreateWindow(). La ventana se muestra implícitamente si no se establece SDL_WINDOW_HIDDEN. El valor SDL_WINDOW_SHOWN puede ser consultado posteriormente usando SDL_GetWindowFlags().
En macOS de Apple, debe establecer la propiedad NSHighResolutionCapable Info.plist en YES, de lo contrario no se recibirá un lienzo OpenGL High-DPI.
Si la ventana se crea con el indicador SDL_WINDOW_ALLOW_HIGHDPI, su tamaño en píxeles puede diferir de su tamaño en coordenadas de pantalla en plataformas con soporte para PPP altos (por ejemplo, iOS y macOS). Utilizar SDL_GetWindowSize() para consultar el tamaño del área cliente en coordenadas de pantalla, y SDL_GL_GetDrawableSize() o SDL_GetRendererOutputSize() para consultar el tamaño del área de dibujo en píxeles. Hay que tener en cuenta que cuando esta opción está activada, el tamaño del elemento de diseño puede variar después de la creación de la ventana y debe ser consultado después de eventos importantes de la ventana, como cuando se cambia el tamaño de la ventana o se mueve entre pantallas.
Si la ventana está configurada a pantalla completa, los parámetros de anchura y altura w y h no se utilizarán. Sin embargo, los parámetros de tamaño no válidos (por ejemplo, demasiado grandes) pueden seguir fallando. En realidad, el tamaño de la ventana está limitado a 16384 x 16384 para todas las plataformas en el momento de la creación de la ventana.
Si la ventana se crea con cualquiera de las banderas SDL_WINDOW_OPENGL o SDL_WINDOW_VULKAN, se invocará la función LoadLibrary correspondiente (SDL_GL_LoadLibrary o SDL_Vulkan_LoadLibrary) es llamada y la función UnloadLibrary correspondiente es llamada por SDL_DestroyWindow().
Si se especifica SDL_WINDOW_VULKAN y no hay un controlador Vulkan funcionando, SDL_CreateWindow() fallará porque SDL_Vulkan_LoadLibrary) habrá fallado.
Si se especifica SDL_WINDOW_METAL en un sistema operativo que no soporta Metal, SDL_CreateWindow() fallará.
En dispositivos que no sean Apple, SDL requiere que no se enlace con el cargador Vulkan o que se enlace con una versión de biblioteca dinámica. Es posible que esta limitación se elimine en una versión futura de SDL.