SDL_video.h
Enumerado SDL_WindowFlags
typedef enum
{
SDL_WINDOW_FULLSCREEN = 0x00000001, /**< fullscreen window */
SDL_WINDOW_OPENGL = 0x00000002, /**< window usable with OpenGL context */
SDL_WINDOW_SHOWN = 0x00000004, /**< window is visible */
SDL_WINDOW_HIDDEN = 0x00000008, /**< window is not visible */
SDL_WINDOW_BORDERLESS = 0x00000010, /**< no window decoration */
SDL_WINDOW_RESIZABLE = 0x00000020, /**< window can be resized */
SDL_WINDOW_MINIMIZED = 0x00000040, /**< window is minimized */
SDL_WINDOW_MAXIMIZED = 0x00000080, /**< window is maximized */
SDL_WINDOW_MOUSE_GRABBED = 0x00000100, /**< window has grabbed mouse input */
SDL_WINDOW_INPUT_FOCUS = 0x00000200, /**< window has input focus */
SDL_WINDOW_MOUSE_FOCUS = 0x00000400, /**< window has mouse focus */
SDL_WINDOW_FULLSCREEN_DESKTOP = ( SDL_WINDOW_FULLSCREEN | 0x00001000 ),
SDL_WINDOW_FOREIGN = 0x00000800, /**< window not created by SDL */
SDL_WINDOW_ALLOW_HIGHDPI = 0x00002000, /**< window should be created in high-DPI mode if supported.
On macOS NSHighResolutionCapable must be set true in the
application's Info.plist for this to have any effect. */
SDL_WINDOW_MOUSE_CAPTURE = 0x00004000, /**< window has mouse captured (unrelated to MOUSE_GRABBED) */
SDL_WINDOW_ALWAYS_ON_TOP = 0x00008000, /**< window should always be above others */
SDL_WINDOW_SKIP_TASKBAR = 0x00010000, /**< window should not be added to the taskbar */
SDL_WINDOW_UTILITY = 0x00020000, /**< window should be treated as a utility window */
SDL_WINDOW_TOOLTIP = 0x00040000, /**< window should be treated as a tooltip */
SDL_WINDOW_POPUP_MENU = 0x00080000, /**< window should be treated as a popup menu */
SDL_WINDOW_KEYBOARD_GRABBED = 0x00100000, /**< window has grabbed keyboard input */
SDL_WINDOW_VULKAN = 0x10000000, /**< window usable for Vulkan surface */
SDL_WINDOW_METAL = 0x20000000, /**< window usable for Metal view */
SDL_WINDOW_INPUT_GRABBED = SDL_WINDOW_MOUSE_GRABBED /**< equivalent to SDL_WINDOW_MOUSE_GRABBED for compatibility */
} SDL_WindowFlags;
Valores
| Bandera | Significado |
|---|---|
| SDL_WINDOW_FULLSCREEN | Ventana de pantalla completa. |
| SDL_WINDOW_FULLSCREEN_DESKTOP | Ventana de pantalla completa con la resolución de escritorio actual. |
| SDL_WINDOW_OPENGL | Ventana usable con el contexto OpenGL |
| SDL_WINDOW_VULKAN | Ventana usable con una instancia Vulkan. |
| SDL_WINDOW_SHOWN | La ventana es visible |
| SDL_WINDOW_HIDDEN | La ventana no es visible. |
| SDL_WINDOW_BORDERLESS | Ventana si decoración. |
| SDL_WINDOW_RESIZABLE | La ventana puede cambiarse de tamaño. |
| SDL_WINDOW_MINIMIZED | La ventana está minimizada. |
| SDL_WINDOW_MAXIMIZED | La ventana está maximizada. |
| SDL_WINDOW_INPUT_GRABBED | La ventana ha obtenido el foco de entrada. |
| SDL_WINDOW_INPUT_FOCUS | La ventana tiene el foco de entrada. |
| SDL_WINDOW_MOUSE_FOCUS | La ventana tiene el foco del ratón. |
| SDL_WINDOW_FOREIGN | La ventana no fue creada por SLD. |
| SDL_WINDOW_ALLOW_HIGHDPI | La ventana debe ser creada en modo high-DPI si está soportado (>= SDL 2.0.1) |
| SDL_WINDOW_MOUSE_CAPTURE | La ventana tiene capturado el ratón (sin relación con INPUT_GRABBED, >= SDL 2.0.4) |
| SDL_WINDOW_ALWAYS_ON_TOP | La ventana se muestra siempre sobre cualquier otra (solo X11, >= SDL 2.0.5) |
| SDL_WINDOW_SKIP_TASKBAR | La ventana no debe ser añadida a la barra de tareas (solo X11, >= SDL 2.0.5) |
| SDL_WINDOW_UTILITY | La ventana debe ser tratada como ventana de utilidad (solo X11, >= SDL 2.0.5) |
| SDL_WINDOW_TOOLTIP | La ventana debe ser tratada como una tooltip (solo X11, >= SDL 2.0.5) |
| SDL_WINDOW_POPUP_MENU | La ventana debe ser tratada como un menú popup (solo X11, >= SDL 2.0.5) |
Ejemplo
Uint32 flags = SDL_WINDOW_OPENGL | SDL_WINDOW_FULLSCREEN;
SDL_Window * window = SDL_CreateWindow(
/* ... */
flags
);
Observaciones
La bandera SDL_WINDOW_OPENGL prepara la ventana para ser usada con OpenGL, pero aún necesitará crear un contexto OpenGL usando SDL_GL_CreateContext() después de la creación de la ventana, antes de llamar a cualquier función OpenGL.
En OS X de Apple se debe establecer la propiedad NSHighResolutionCapable Info.plist a YES, de lo contrario no recibirá un lienzo OpenGL de alta resolución (High DPI).