Provided by: libsdl3-doc_3.2.8+ds-1_all bug

NAME

       SDL_CreateWindowWithProperties - Create a window with the specified properties.

HEADER FILE

       Defined in SDL3/SDL_video.h

SYNOPSIS

       #include "SDL3/SDL.h"

       SDL_Window * SDL_CreateWindowWithProperties(SDL_PropertiesID props);

DESCRIPTION

       These are the supported properties:

       • SDL_PROP_WINDOW_CREATE_ALWAYS_ON_TOP_BOOLEAN :
         true if the window should be always on top

       • SDL_PROP_WINDOW_CREATE_BORDERLESS_BOOLEAN :
         true if the window has no window decoration

       • SDL_PROP_WINDOW_CREATE_EXTERNAL_GRAPHICS_CONTEXT_BOOLEAN :
         true if the window will be used with an externally managed graphics
         context.

       • SDL_PROP_WINDOW_CREATE_FOCUSABLE_BOOLEAN :
         true if the window should accept keyboard input (defaults true)

       • SDL_PROP_WINDOW_CREATE_FULLSCREEN_BOOLEAN :
         true if the window should start in fullscreen mode at desktop resolution

       • SDL_PROP_WINDOW_CREATE_HEIGHT_NUMBER :
         the height of the window

       • SDL_PROP_WINDOW_CREATE_HIDDEN_BOOLEAN :
         true if the window should start hidden

       • SDL_PROP_WINDOW_CREATE_HIGH_PIXEL_DENSITY_BOOLEAN :
         true if the window uses a high pixel density buffer if possible

       • SDL_PROP_WINDOW_CREATE_MAXIMIZED_BOOLEAN :
         true if the window should start maximized

       • SDL_PROP_WINDOW_CREATE_MENU_BOOLEAN :
         true if the window is a popup menu

       • SDL_PROP_WINDOW_CREATE_METAL_BOOLEAN :
         true if the window will be used with Metal rendering

       • SDL_PROP_WINDOW_CREATE_MINIMIZED_BOOLEAN :
         true if the window should start minimized

       • SDL_PROP_WINDOW_CREATE_MODAL_BOOLEAN :
         true if the window is modal to its parent

       • SDL_PROP_WINDOW_CREATE_MOUSE_GRABBED_BOOLEAN :
         true if the window starts with grabbed mouse focus

       • SDL_PROP_WINDOW_CREATE_OPENGL_BOOLEAN :
         true if the window will be used with OpenGL rendering

       • SDL_PROP_WINDOW_CREATE_PARENT_POINTER :
         an SDL_Window
        that will be the parent of this window,
         required for windows with the "tooltip", "menu", and "modal" properties

       • SDL_PROP_WINDOW_CREATE_RESIZABLE_BOOLEAN :
         true if the window should be resizable

       • SDL_PROP_WINDOW_CREATE_TITLE_STRING :
         the title of the window, in UTF-8 encoding

       • SDL_PROP_WINDOW_CREATE_TRANSPARENT_BOOLEAN :
         true if the window show transparent in the areas with alpha of 0

       • SDL_PROP_WINDOW_CREATE_TOOLTIP_BOOLEAN :
         true if the window is a tooltip

       • SDL_PROP_WINDOW_CREATE_UTILITY_BOOLEAN :
         true if the window is a utility window, not showing in the task bar and
         window list

       • SDL_PROP_WINDOW_CREATE_VULKAN_BOOLEAN :
         true if the window will be used with Vulkan rendering

       • SDL_PROP_WINDOW_CREATE_WIDTH_NUMBER :
         the width of the window

       • SDL_PROP_WINDOW_CREATE_X_NUMBER : the
         x position of the window, or

       SDL_WINDOWPOS_CENTERED , defaults to

       SDL_WINDOWPOS_UNDEFINED . This is relative to
         the parent for windows with the "tooltip" or "menu" property set.

       • SDL_PROP_WINDOW_CREATE_Y_NUMBER : the
         y position of the window, or

       SDL_WINDOWPOS_CENTERED , defaults to

       SDL_WINDOWPOS_UNDEFINED . This is relative to
         the parent for windows with the "tooltip" or "menu" property set.

       These are additional supported properties on macOS:

       • SDL_PROP_WINDOW_CREATE_COCOA_WINDOW_POINTER :
         the (__unsafe_unretained) NSWindow associated with the window, if you
         want to wrap an existing window.

       • SDL_PROP_WINDOW_CREATE_COCOA_VIEW_POINTER :
         the (__unsafe_unretained) NSView associated with the window, defaults
         to [windowcontentView] These are additional supported properties on Wayland:

       • SDL_PROP_WINDOW_CREATE_WAYLAND_SURFACE_ROLE_CUSTOM_BOOLEAN

       • true if the application wants to use the Wayland surface for a custom
         role and does not want it attached to an XDG toplevel window. See
         [README/wayland](README/wayland) for more information on using custom
         surfaces.

       • SDL_PROP_WINDOW_CREATE_WAYLAND_CREATE_EGL_WINDOW_BOOLEAN

       • true if the application wants an associated wl_egl_window object to
         be created and attached to the window, even if the window does not have
         the OpenGL property or SDL_WINDOW_OPENGL flag set.

       • SDL_PROP_WINDOW_CREATE_WAYLAND_WL_SURFACE_POINTER

       • the wl_surface associated with the window, if you want to wrap an
         existing window. See [README/wayland](README/wayland) for more
         information.

       These are additional supported properties on Windows:

       • SDL_PROP_WINDOW_CREATE_WIN32_HWND_POINTER :
         the HWND associated with the window, if you want to wrap an existing
         window.

       • SDL_PROP_WINDOW_CREATE_WIN32_PIXEL_FORMAT_HWND_POINTER :
         optional, another window to share pixel format with, useful for OpenGL
         windows

       These are additional supported properties with X11:

       • SDL_PROP_WINDOW_CREATE_X11_WINDOW_NUMBER :
         the X11 Window associated with the window, if you want to wrap an
         existing window.

       The window is implicitly shown if the "hidden" property is not set.

       Windows  with the "tooltip" and "menu" properties are popup windows and have the behaviors and guidelines
       outlined in

       SDL_CreatePopupWindow ().

       If this window is being created to be used with an

       SDL_Renderer    ,    you    should    not    add    a    graphics     API     specific     property     (
       SDL_PROP_WINDOW_CREATE_OPENGL_BOOLEAN  ,  etc),  as  SDL  will  handle  that internally when it chooses a
       renderer.  However, SDL might need to recreate your window at that point, which may cause the  window  to
       appear  briefly,  and  then  flicker  as  it is recreated.  The correct approach to this is to create the
       window with the

       SDL_PROP_WINDOW_CREATE_HIDDEN_BOOLEAN property set to true, then  create  the  renderer,  then  show  the
       window with

       SDL_ShowWindow ().

FUNCTION PARAMETERS

       props  the properties to use.

RETURN VALUE

       ( SDL_Window
        *) Returns the window that was created or NULL on failure; call SDL_GetError () for more information.

THREAD SAFETY

       This function should only be called on the main thread.

AVAILABILITY

       This function is available since SDL 3.2.0.

SEE ALSO

       (3), SDL_CreateProperties(3), (3), SDL_CreateWindow(3), (3), SDL_DestroyWindow(3)

Simple Directmedia Layer                            SDL 3.2.8                  SDL_CreateWindowWithProperties(3)