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

BanderaSignificado
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).