Sync SDL3 wiki -> header

main
SDL Wiki Bot 2024-01-08 17:16:19 +00:00
parent adef35b9ec
commit e8c595af5c
2 changed files with 254 additions and 101 deletions

View File

@ -240,11 +240,15 @@ extern DECLSPEC SDL_Renderer * SDLCALL SDL_CreateRenderer(SDL_Window *window, co
*
* These are the supported properties:
*
* - `SDL_PROPERTY_RENDERER_CREATE_WINDOW_POINTER` ("window"): the window where rendering is displayed
* - `SDL_PROPERTY_RENDERER_CREATE_SURFACE_POINTER` ("surface"): the surface where rendering is displayed, if you want a software renderer without a window
* - `SDL_PROPERTY_RENDERER_CREATE_NAME_STRING` ("name"): the name of the rendering driver to use, if a specific one is desired
* - `SDL_PROPERTY_RENDERER_CREATE_PRESENT_VSYNC_BOOLEAN` ("present_vsync"): true if you want present synchronized with the refresh rate
*
* - `SDL_PROPERTY_RENDERER_CREATE_WINDOW_POINTER` ("window"): the window
* where rendering is displayed
* - `SDL_PROPERTY_RENDERER_CREATE_SURFACE_POINTER` ("surface"): the surface
* where rendering is displayed, if you want a software renderer without a
* window
* - `SDL_PROPERTY_RENDERER_CREATE_NAME_STRING` ("name"): the name of the
* rendering driver to use, if a specific one is desired
* - `SDL_PROPERTY_RENDERER_CREATE_PRESENT_VSYNC_BOOLEAN` ("present_vsync"):
* true if you want present synchronized with the refresh rate
*
* \param props the properties to use
* \returns a valid rendering context or NULL if there was an error; call
@ -329,11 +333,18 @@ extern DECLSPEC int SDLCALL SDL_GetRendererInfo(SDL_Renderer *renderer, SDL_Rend
*
* The following read-only properties are provided by SDL:
*
* - `SDL_PROPERTY_RENDERER_D3D9_DEVICE_POINTER` ("SDL.renderer.d3d9.device"): the IDirect3DDevice9 associated with the renderer
* - `SDL_PROPERTY_RENDERER_D3D11_DEVICE_POINTER` ("SDL.renderer.d3d11.device"): the ID3D11Device associated with the renderer
* - `SDL_PROPERTY_RENDERER_D3D12_DEVICE_POINTER` ("SDL.renderer.d3d12.device"): the ID3D12Device associated with the renderer
* - `SDL_PROPERTY_RENDERER_D3D12_COMMAND_QUEUE_POINTER` ("SDL.renderer.d3d12.command_queue"): the ID3D12CommandQueue associated with the renderer
/*
* - `SDL_PROPERTY_RENDERER_D3D9_DEVICE_POINTER` ("SDL.renderer.d3d9.device"):
* the IDirect3DDevice9 associated with the renderer
* - `SDL_PROPERTY_RENDERER_D3D11_DEVICE_POINTER`
* ("SDL.renderer.d3d11.device"): the ID3D11Device associated with the
* renderer
* - `SDL_PROPERTY_RENDERER_D3D12_DEVICE_POINTER`
* ("SDL.renderer.d3d12.device"): the ID3D12Device associated with the
* renderer
* - `SDL_PROPERTY_RENDERER_D3D12_COMMAND_QUEUE_POINTER`
* ("SDL.renderer.d3d12.command_queue"): the ID3D12CommandQueue associated
* with the renderer /*
*
* \param renderer the rendering context
* \returns a valid property ID on success or 0 on failure; call
* SDL_GetError() for more information.
@ -446,37 +457,73 @@ extern DECLSPEC SDL_Texture *SDLCALL SDL_CreateTextureFromSurface(SDL_Renderer *
*
* These are the supported properties:
*
* - `SDL_PROPERTY_TEXTURE_CREATE_FORMAT_NUMBER` ("format"): one of the enumerated values in SDL_PixelFormatEnum, defaults to the best RGBA format for the renderer
* - `SDL_PROPERTY_TEXTURE_CREATE_ACCESS_NUMBER` ("access"): one of the enumerated values in SDL_TextureAccess, defaults to SDL_TEXTUREACCESS_STATIC
* - `SDL_PROPERTY_TEXTURE_CREATE_WIDTH_NUMBER` ("width"): the width of the texture in pixels, required
* - `SDL_PROPERTY_TEXTURE_CREATE_HEIGHT_NUMBER` ("height"): the height of the texture in pixels, required
* - `SDL_PROPERTY_TEXTURE_CREATE_FORMAT_NUMBER` ("format"): one of the
* enumerated values in SDL_PixelFormatEnum, defaults to the best RGBA
* format for the renderer
* - `SDL_PROPERTY_TEXTURE_CREATE_ACCESS_NUMBER` ("access"): one of the
* enumerated values in SDL_TextureAccess, defaults to
* SDL_TEXTUREACCESS_STATIC
* - `SDL_PROPERTY_TEXTURE_CREATE_WIDTH_NUMBER` ("width"): the width of the
* texture in pixels, required
* - `SDL_PROPERTY_TEXTURE_CREATE_HEIGHT_NUMBER` ("height"): the height of the
* texture in pixels, required
*
* With the direct3d11 renderer:
*
* - `SDL_PROPERTY_TEXTURE_CREATE_D3D11_TEXTURE_POINTER` ("d3d11.texture"): the ID3D11Texture2D associated with the texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER` ("d3d11.texture_u"): the ID3D11Texture2D associated with the U plane of a YUV texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER` ("d3d11.texture_v"): the ID3D11Texture2D associated with the V plane of a YUV texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_D3D11_TEXTURE_POINTER` ("d3d11.texture"):
* the ID3D11Texture2D associated with the texture, if you want to wrap an
* existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER`
* ("d3d11.texture_u"): the ID3D11Texture2D associated with the U plane of a
* YUV texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER`
* ("d3d11.texture_v"): the ID3D11Texture2D associated with the V plane of a
* YUV texture, if you want to wrap an existing texture.
*
* With the direct3d12 renderer:
*
* - `SDL_PROPERTY_TEXTURE_CREATE_D3D12_TEXTURE_POINTER` ("d3d12.texture"): the ID3D12Resource associated with the texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER` ("d3d12.texture_u"): the ID3D12Resource associated with the U plane of a YUV texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER` ("d3d12.texture_v"): the ID3D12Resource associated with the V plane of a YUV texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_D3D12_TEXTURE_POINTER` ("d3d12.texture"):
* the ID3D12Resource associated with the texture, if you want to wrap an
* existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER`
* ("d3d12.texture_u"): the ID3D12Resource associated with the U plane of a
* YUV texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER`
* ("d3d12.texture_v"): the ID3D12Resource associated with the V plane of a
* YUV texture, if you want to wrap an existing texture.
*
* With the opengl renderer:
*
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER` ("opengl.texture"): the GLuint texture associated with the texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER` ("opengl.texture_uv"): the GLuint texture associated with the UV plane of an NV12 texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER` ("opengl.texture_u"): the GLuint texture associated with the U plane of a YUV texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER` ("opengl.texture_v"): the GLuint texture associated with the V plane of a YUV texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER` ("opengl.texture"):
* the GLuint texture associated with the texture, if you want to wrap an
* existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER`
* ("opengl.texture_uv"): the GLuint texture associated with the UV plane of
* an NV12 texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER`
* ("opengl.texture_u"): the GLuint texture associated with the U plane of a
* YUV texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER`
* ("opengl.texture_v"): the GLuint texture associated with the V plane of a
* YUV texture, if you want to wrap an existing texture.
*
* With the opengles2 renderer:
*
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER` ("opengles2.texture"): the GLuint texture associated with the texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER` ("opengles2.texture"): the GLuint texture associated with the texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER` ("opengles2.texture_uv"): the GLuint texture associated with the UV plane of an NV12 texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER` ("opengles2.texture_u"): the GLuint texture associated with the U plane of a YUV texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER` ("opengles2.texture_v"): the GLuint texture associated with the V plane of a YUV texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER`
* ("opengles2.texture"): the GLuint texture associated with the texture, if
* you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER`
* ("opengles2.texture"): the GLuint texture associated with the texture, if
* you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER`
* ("opengles2.texture_uv"): the GLuint texture associated with the UV plane
* of an NV12 texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER`
* ("opengles2.texture_u"): the GLuint texture associated with the U plane
* of a YUV texture, if you want to wrap an existing texture.
* - `SDL_PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER`
* ("opengles2.texture_v"): the GLuint texture associated with the V plane
* of a YUV texture, if you want to wrap an existing texture.
*
* \param renderer the rendering context
* \param props the properties to use
@ -522,31 +569,61 @@ extern DECLSPEC SDL_Texture *SDLCALL SDL_CreateTextureWithProperties(SDL_Rendere
*
* With the direct3d11 renderer:
*
* - `SDL_PROPERTY_TEXTURE_D3D11_TEXTURE_POINTER` ("SDL.texture.d3d11.texture"): the ID3D11Texture2D associated with the texture
* - `SDL_PROPERTY_TEXTURE_D3D11_TEXTURE_U_POINTER` ("SDL.texture.d3d11.texture_u"): the ID3D11Texture2D associated with the U plane of a YUV texture
* - `SDL_PROPERTY_TEXTURE_D3D11_TEXTURE_V_POINTER` ("SDL.texture.d3d11.texture_v"): the ID3D11Texture2D associated with the V plane of a YUV texture
* - `SDL_PROPERTY_TEXTURE_D3D11_TEXTURE_POINTER`
* ("SDL.texture.d3d11.texture"): the ID3D11Texture2D associated with the
* texture
* - `SDL_PROPERTY_TEXTURE_D3D11_TEXTURE_U_POINTER`
* ("SDL.texture.d3d11.texture_u"): the ID3D11Texture2D associated with the
* U plane of a YUV texture
* - `SDL_PROPERTY_TEXTURE_D3D11_TEXTURE_V_POINTER`
* ("SDL.texture.d3d11.texture_v"): the ID3D11Texture2D associated with the
* V plane of a YUV texture
*
* With the direct3d12 renderer:
*
* - `SDL_PROPERTY_TEXTURE_D3D12_TEXTURE_POINTER` ("SDL.texture.d3d12.texture"): the ID3D12Resource associated with the texture
* - `SDL_PROPERTY_TEXTURE_D3D12_TEXTURE_U_POINTER` ("SDL.texture.d3d12.texture_u"): the ID3D12Resource associated with the U plane of a YUV texture
* - `SDL_PROPERTY_TEXTURE_D3D12_TEXTURE_V_POINTER` ("SDL.texture.d3d12.texture_v"): the ID3D12Resource associated with the V plane of a YUV texture
* - `SDL_PROPERTY_TEXTURE_D3D12_TEXTURE_POINTER`
* ("SDL.texture.d3d12.texture"): the ID3D12Resource associated with the
* texture
* - `SDL_PROPERTY_TEXTURE_D3D12_TEXTURE_U_POINTER`
* ("SDL.texture.d3d12.texture_u"): the ID3D12Resource associated with the U
* plane of a YUV texture
* - `SDL_PROPERTY_TEXTURE_D3D12_TEXTURE_V_POINTER`
* ("SDL.texture.d3d12.texture_v"): the ID3D12Resource associated with the V
* plane of a YUV texture
*
* With the opengl renderer:
*
* - `SDL_PROPERTY_TEXTURE_OPENGL_TEXTURE_NUMBER` ("SDL.texture.opengl.texture"): the GLuint texture associated with the texture
* - `SDL_PROPERTY_TEXTURE_OPENGL_TEXTURE_UV_NUMBER` ("SDL.texture.opengl.texture_uv"): the GLuint texture associated with the UV plane of an NV12 texture
* - `SDL_PROPERTY_TEXTURE_OPENGL_TEXTURE_U_NUMBER` ("SDL.texture.opengl.texture_u"): the GLuint texture associated with the U plane of a YUV texture
* - `SDL_PROPERTY_TEXTURE_OPENGL_TEXTURE_V_NUMBER` ("SDL.texture.opengl.texture_v"): the GLuint texture associated with the V plane of a YUV texture
* - `SDL_PROPERTY_TEXTURE_OPENGL_TEX_W_FLOAT` ("SDL.texture.opengl.tex_w"): the texture coordinate width of the texture (0.0 - 1.0)
* - `SDL_PROPERTY_TEXTURE_OPENGL_TEX_H_FLOAT` ("SDL.texture.opengl.tex_h"): the texture coordinate height of the texture (0.0 - 1.0)
* - `SDL_PROPERTY_TEXTURE_OPENGL_TEXTURE_NUMBER`
* ("SDL.texture.opengl.texture"): the GLuint texture associated with the
* texture
* - `SDL_PROPERTY_TEXTURE_OPENGL_TEXTURE_UV_NUMBER`
* ("SDL.texture.opengl.texture_uv"): the GLuint texture associated with the
* UV plane of an NV12 texture
* - `SDL_PROPERTY_TEXTURE_OPENGL_TEXTURE_U_NUMBER`
* ("SDL.texture.opengl.texture_u"): the GLuint texture associated with the
* U plane of a YUV texture
* - `SDL_PROPERTY_TEXTURE_OPENGL_TEXTURE_V_NUMBER`
* ("SDL.texture.opengl.texture_v"): the GLuint texture associated with the
* V plane of a YUV texture
* - `SDL_PROPERTY_TEXTURE_OPENGL_TEX_W_FLOAT` ("SDL.texture.opengl.tex_w"):
* the texture coordinate width of the texture (0.0 - 1.0)
* - `SDL_PROPERTY_TEXTURE_OPENGL_TEX_H_FLOAT` ("SDL.texture.opengl.tex_h"):
* the texture coordinate height of the texture (0.0 - 1.0)
*
* With the opengles2 renderer:
*
* - `SDL_PROPERTY_TEXTURE_OPENGLES2_TEXTURE_NUMBER` ("SDL.texture.opengles2.texture"): the GLuint texture associated with the texture
* - `SDL_PROPERTY_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER` ("SDL.texture.opengles2.texture_uv"): the GLuint texture associated with the UV plane of an NV12 texture
* - `SDL_PROPERTY_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER` ("SDL.texture.opengles2.texture_u"): the GLuint texture associated with the U plane of a YUV texture
* - `SDL_PROPERTY_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER` ("SDL.texture.opengles2.texture_v"): the GLuint texture associated with the V plane of a YUV texture
* - `SDL_PROPERTY_TEXTURE_OPENGLES2_TEXTURE_NUMBER`
* ("SDL.texture.opengles2.texture"): the GLuint texture associated with the
* texture
* - `SDL_PROPERTY_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER`
* ("SDL.texture.opengles2.texture_uv"): the GLuint texture associated with
* the UV plane of an NV12 texture
* - `SDL_PROPERTY_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER`
* ("SDL.texture.opengles2.texture_u"): the GLuint texture associated with
* the U plane of a YUV texture
* - `SDL_PROPERTY_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER`
* ("SDL.texture.opengles2.texture_v"): the GLuint texture associated with
* the V plane of a YUV texture
*
* \param texture the texture to query
* \returns a valid property ID on success or 0 on failure; call

View File

@ -809,43 +809,81 @@ extern DECLSPEC SDL_Window *SDLCALL SDL_CreatePopupWindow(SDL_Window *parent, in
*
* These are the supported properties:
*
* - `SDL_PROPERTY_WINDOW_CREATE_ALWAYS_ON_TOP_BOOLEAN` ("always-on-top"): true if the window should be always on top
* - `SDL_PROPERTY_WINDOW_CREATE_BORDERLESS_BOOLEAN` ("borderless"): true if the window has no window decoration
* - `SDL_PROPERTY_WINDOW_CREATE_FOCUSABLE_BOOLEAN` ("focusable"): true if the window should accept keyboard input (defaults true)
* - `SDL_PROPERTY_WINDOW_CREATE_FULLSCREEN_BOOLEAN` ("fullscreen"): true if the window should start in fullscreen mode at desktop resolution
* - `SDL_PROPERTY_WINDOW_CREATE_HEIGHT_NUMBER` ("height"): the height of the window
* - `SDL_PROPERTY_WINDOW_CREATE_HIDDEN_BOOLEAN` ("hidden"): true if the window should start hidden
* - `SDL_PROPERTY_WINDOW_CREATE_HIGH_PIXEL_DENSITY_BOOLEAN` ("high-pixel-density"): true if the window uses a high pixel density buffer if possible
* - `SDL_PROPERTY_WINDOW_CREATE_MAXIMIZED_BOOLEAN` ("maximized"): true if the window should start maximized
* - `SDL_PROPERTY_WINDOW_CREATE_MENU_BOOLEAN` ("menu"): true if the window is a popup menu
* - `SDL_PROPERTY_WINDOW_CREATE_METAL_BOOLEAN` ("metal"): true if the window will be used with Metal rendering
* - `SDL_PROPERTY_WINDOW_CREATE_MINIMIZED_BOOLEAN` ("minimized"): true if the window should start minimized
* - `SDL_PROPERTY_WINDOW_CREATE_MOUSE_GRABBED_BOOLEAN` ("mouse-grabbed"): true if the window starts with grabbed mouse focus
* - `SDL_PROPERTY_WINDOW_CREATE_OPENGL_BOOLEAN` ("opengl"): true if the window will be used with OpenGL rendering
* - `SDL_PROPERTY_WINDOW_CREATE_PARENT_POINTER` ("parent"): an SDL_Window that will be the parent of this window, required for windows with the "toolip" and "menu" properties
* - `SDL_PROPERTY_WINDOW_CREATE_RESIZABLE_BOOLEAN` ("resizable"): true if the window should be resizable
* - `SDL_PROPERTY_WINDOW_CREATE_TITLE_STRING` ("title"): the title of the window, in UTF-8 encoding
* - `SDL_PROPERTY_WINDOW_CREATE_TRANSPARENT_BOOLEAN` ("transparent"): true if the window show transparent in the areas with alpha of 0
* - `SDL_PROPERTY_WINDOW_CREATE_TOOLTIP_BOOLEAN` ("tooltip"): true if the window is a tooltip
* - `SDL_PROPERTY_WINDOW_CREATE_UTILITY_BOOLEAN` ("utility"): true if the window is a utility window, not showing in the task bar and window list
* - `SDL_PROPERTY_WINDOW_CREATE_VULKAN_BOOLEAN` ("vulkan"): true if the window will be used with Vulkan rendering
* - `SDL_PROPERTY_WINDOW_CREATE_WIDTH_NUMBER` ("width"): the width of the window
* - `SDL_PROPERTY_WINDOW_CREATE_X_NUMBER` ("x"): 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 "parent" property set.
* - `SDL_PROPERTY_WINDOW_CREATE_Y_NUMBER` ("y"): 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 "parent" property set.
* - `SDL_PROPERTY_WINDOW_CREATE_ALWAYS_ON_TOP_BOOLEAN` ("always-on-top"):
* true if the window should be always on top
* - `SDL_PROPERTY_WINDOW_CREATE_BORDERLESS_BOOLEAN` ("borderless"): true if
* the window has no window decoration
* - `SDL_PROPERTY_WINDOW_CREATE_FOCUSABLE_BOOLEAN` ("focusable"): true if the
* window should accept keyboard input (defaults true)
* - `SDL_PROPERTY_WINDOW_CREATE_FULLSCREEN_BOOLEAN` ("fullscreen"): true if
* the window should start in fullscreen mode at desktop resolution
* - `SDL_PROPERTY_WINDOW_CREATE_HEIGHT_NUMBER` ("height"): the height of the
* window
* - `SDL_PROPERTY_WINDOW_CREATE_HIDDEN_BOOLEAN` ("hidden"): true if the
* window should start hidden
* - `SDL_PROPERTY_WINDOW_CREATE_HIGH_PIXEL_DENSITY_BOOLEAN`
* ("high-pixel-density"): true if the window uses a high pixel density
* buffer if possible
* - `SDL_PROPERTY_WINDOW_CREATE_MAXIMIZED_BOOLEAN` ("maximized"): true if the
* window should start maximized
* - `SDL_PROPERTY_WINDOW_CREATE_MENU_BOOLEAN` ("menu"): true if the window is
* a popup menu
* - `SDL_PROPERTY_WINDOW_CREATE_METAL_BOOLEAN` ("metal"): true if the window
* will be used with Metal rendering
* - `SDL_PROPERTY_WINDOW_CREATE_MINIMIZED_BOOLEAN` ("minimized"): true if the
* window should start minimized
* - `SDL_PROPERTY_WINDOW_CREATE_MOUSE_GRABBED_BOOLEAN` ("mouse-grabbed"):
* true if the window starts with grabbed mouse focus
* - `SDL_PROPERTY_WINDOW_CREATE_OPENGL_BOOLEAN` ("opengl"): true if the
* window will be used with OpenGL rendering
* - `SDL_PROPERTY_WINDOW_CREATE_PARENT_POINTER` ("parent"): an SDL_Window
* that will be the parent of this window, required for windows with the
* "toolip" and "menu" properties
* - `SDL_PROPERTY_WINDOW_CREATE_RESIZABLE_BOOLEAN` ("resizable"): true if the
* window should be resizable
* - `SDL_PROPERTY_WINDOW_CREATE_TITLE_STRING` ("title"): the title of the
* window, in UTF-8 encoding
* - `SDL_PROPERTY_WINDOW_CREATE_TRANSPARENT_BOOLEAN` ("transparent"): true if
* the window show transparent in the areas with alpha of 0
* - `SDL_PROPERTY_WINDOW_CREATE_TOOLTIP_BOOLEAN` ("tooltip"): true if the
* window is a tooltip
* - `SDL_PROPERTY_WINDOW_CREATE_UTILITY_BOOLEAN` ("utility"): true if the
* window is a utility window, not showing in the task bar and window list
* - `SDL_PROPERTY_WINDOW_CREATE_VULKAN_BOOLEAN` ("vulkan"): true if the
* window will be used with Vulkan rendering
* - `SDL_PROPERTY_WINDOW_CREATE_WIDTH_NUMBER` ("width"): the width of the
* window
* - `SDL_PROPERTY_WINDOW_CREATE_X_NUMBER` ("x"): 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 "parent" property set.
* - `SDL_PROPERTY_WINDOW_CREATE_Y_NUMBER` ("y"): 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 "parent" property set.
*
* These are additional supported properties on macOS:
*
* - `SDL_PROPERTY_WINDOW_CREATE_COCOA_WINDOW_POINTER` ("cocoa.window"): the `(__unsafe_unretained)` NSWindow associated with the window, if you want to wrap an existing window.
* - `SDL_PROPERTY_WINDOW_CREATE_COCOA_VIEW_POINTER` ("cocoa.view"): the `(__unsafe_unretained)` NSView associated with the window, defaults to `[window contentView]`
* - `SDL_PROPERTY_WINDOW_CREATE_COCOA_WINDOW_POINTER` ("cocoa.window"): the
* `(__unsafe_unretained)` NSWindow associated with the window, if you want
* to wrap an existing window.
* - `SDL_PROPERTY_WINDOW_CREATE_COCOA_VIEW_POINTER` ("cocoa.view"): the
* `(__unsafe_unretained)` NSView associated with the window, defaults to
* `[window contentView]`
*
* These are additional supported properties on Windows:
*
* - `SDL_PROPERTY_WINDOW_CREATE_WIN32_HWND_POINTER` ("win32.hwnd"): the HWND associated with the window, if you want to wrap an existing window.
* - `SDL_PROPERTY_WINDOW_CREATE_WIN32_PIXEL_FORMAT_HWND_POINTER` ("win32.pixel_format_hwnd"): optional, another window to share pixel format with, useful for OpenGL windows
* - `SDL_PROPERTY_WINDOW_CREATE_WIN32_HWND_POINTER` ("win32.hwnd"): the HWND
* associated with the window, if you want to wrap an existing window.
* - `SDL_PROPERTY_WINDOW_CREATE_WIN32_PIXEL_FORMAT_HWND_POINTER`
* ("win32.pixel_format_hwnd"): optional, another window to share pixel
* format with, useful for OpenGL windows
*
* These are additional supported properties with X11:
*
* - `SDL_PROPERTY_WINDOW_CREATE_X11_WINDOW_NUMBER` ("x11.window"): the X11 Window associated with the window, if you want to wrap an existing window.
* - `SDL_PROPERTY_WINDOW_CREATE_X11_WINDOW_NUMBER` ("x11.window"): 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.
*
@ -943,43 +981,64 @@ extern DECLSPEC SDL_Window *SDLCALL SDL_GetWindowParent(SDL_Window *window);
*
* The following read-only properties are provided by SDL:
*
*
* On Android:
*
* - `SDL_PROPERTY_WINDOW_ANDROID_WINDOW_POINTER` ("SDL.window.android.window"): the ANativeWindow associated with the window
* - `SDL_PROPERTY_WINDOW_ANDROID_SURFACE_POINTER` ("SDL.window.android.surface"): the EGLSurface associated with the window
* - `SDL_PROPERTY_WINDOW_ANDROID_WINDOW_POINTER`
* ("SDL.window.android.window"): the ANativeWindow associated with the
* window
* - `SDL_PROPERTY_WINDOW_ANDROID_SURFACE_POINTER`
* ("SDL.window.android.surface"): the EGLSurface associated with the window
*
* On iOS:
*
* - `SDL_PROPERTY_WINDOW_UIKIT_WINDOW_POINTER` ("SDL.window.uikit.window"): the `(__unsafe_unretained)` UIWindow associated with the window
* - `SDL_PROPERTY_WINDOW_UIKIT_METAL_VIEW_TAG_NUMBER` ("SDL.window.uikit.metal_view_tag"): the NSInteger tag assocated with metal views on the window
* - `SDL_PROPERTY_WINDOW_UIKIT_WINDOW_POINTER` ("SDL.window.uikit.window"):
* the `(__unsafe_unretained)` UIWindow associated with the window
* - `SDL_PROPERTY_WINDOW_UIKIT_METAL_VIEW_TAG_NUMBER`
* ("SDL.window.uikit.metal_view_tag"): the NSInteger tag assocated with
* metal views on the window
*
* On KMS/DRM:
*
* - `SDL_PROPERTY_WINDOW_KMSDRM_DEVICE_INDEX_NUMBER` ("SDL.window.kmsdrm.dev_index"): the device index associated with the window (e.g. the X in /dev/dri/cardX)
* - `SDL_PROPERTY_WINDOW_KMSDRM_DRM_FD_NUMBER` ("SDL.window.kmsdrm.drm_fd"): the DRM FD associated with the window
* - `SDL_PROPERTY_WINDOW_KMSDRM_GBM_DEVICE_POINTER` ("SDL.window.kmsdrm.gbm_dev"): the GBM device associated with the window
* - `SDL_PROPERTY_WINDOW_KMSDRM_DEVICE_INDEX_NUMBER`
* ("SDL.window.kmsdrm.dev_index"): the device index associated with the
* window (e.g. the X in /dev/dri/cardX)
* - `SDL_PROPERTY_WINDOW_KMSDRM_DRM_FD_NUMBER` ("SDL.window.kmsdrm.drm_fd"):
* the DRM FD associated with the window
* - `SDL_PROPERTY_WINDOW_KMSDRM_GBM_DEVICE_POINTER`
* ("SDL.window.kmsdrm.gbm_dev"): the GBM device associated with the window
*
* On macOS:
*
* - `SDL_PROPERTY_WINDOW_COCOA_WINDOW_POINTER` ("SDL.window.cocoa.window"): the `(__unsafe_unretained)` NSWindow associated with the window
* - `SDL_PROPERTY_WINDOW_COCOA_METAL_VIEW_TAG_NUMBER` ("SDL.window.cocoa.metal_view_tag"): the NSInteger tag assocated with metal views on the window
* - `SDL_PROPERTY_WINDOW_COCOA_WINDOW_POINTER` ("SDL.window.cocoa.window"):
* the `(__unsafe_unretained)` NSWindow associated with the window
* - `SDL_PROPERTY_WINDOW_COCOA_METAL_VIEW_TAG_NUMBER`
* ("SDL.window.cocoa.metal_view_tag"): the NSInteger tag assocated with
* metal views on the window
*
* On Vivante:
*
* - `SDL_PROPERTY_WINDOW_VIVANTE_DISPLAY_POINTER` ("SDL.window.vivante.display"): the EGLNativeDisplayType associated with the window
* - `SDL_PROPERTY_WINDOW_VIVANTE_WINDOW_POINTER` ("SDL.window.vivante.window"): the EGLNativeWindowType associated with the window
* - `SDL_PROPERTY_WINDOW_VIVANTE_SURFACE_POINTER` ("SDL.window.vivante.surface"): the EGLSurface associated with the window
* - `SDL_PROPERTY_WINDOW_VIVANTE_DISPLAY_POINTER`
* ("SDL.window.vivante.display"): the EGLNativeDisplayType associated with
* the window
* - `SDL_PROPERTY_WINDOW_VIVANTE_WINDOW_POINTER`
* ("SDL.window.vivante.window"): the EGLNativeWindowType associated with
* the window
* - `SDL_PROPERTY_WINDOW_VIVANTE_SURFACE_POINTER`
* ("SDL.window.vivante.surface"): the EGLSurface associated with the window
*
* On UWP:
*
* - `SDL_PROPERTY_WINDOW_WINRT_WINDOW_POINTER` ("SDL.window.winrt.window"): the IInspectable CoreWindow associated with the window
* - `SDL_PROPERTY_WINDOW_WINRT_WINDOW_POINTER` ("SDL.window.winrt.window"):
* the IInspectable CoreWindow associated with the window
*
* On Windows:
*
* - `SDL_PROPERTY_WINDOW_WIN32_HWND_POINTER` ("SDL.window.win32.hwnd"): the HWND associated with the window
* - `SDL_PROPERTY_WINDOW_WIN32_HDC_POINTER` ("SDL.window.win32.hdc"): the HDC associated with the window
* - `SDL_PROPERTY_WINDOW_WIN32_INSTANCE_POINTER` ("SDL.window.win32.instance"): the HINSTANCE associated with the window
* - `SDL_PROPERTY_WINDOW_WIN32_HWND_POINTER` ("SDL.window.win32.hwnd"): the
* HWND associated with the window
* - `SDL_PROPERTY_WINDOW_WIN32_HDC_POINTER` ("SDL.window.win32.hdc"): the HDC
* associated with the window
* - `SDL_PROPERTY_WINDOW_WIN32_INSTANCE_POINTER`
* ("SDL.window.win32.instance"): the HINSTANCE associated with the window
*
* On Wayland:
*
@ -987,20 +1046,37 @@ extern DECLSPEC SDL_Window *SDLCALL SDL_GetWindowParent(SDL_Window *window);
* show/hide calls. They will be null if the window is hidden and must be
* queried each time it is shown.
*
* - `SDL_PROPERTY_WINDOW_WAYLAND_REGISTRY_POINTER` ("SDL.window.wayland.registry"): the wl_registry associated with the window
* - `SDL_PROPERTY_WINDOW_WAYLAND_DISPLAY_POINTER` ("SDL.window.wayland.display"): the wl_display associated with the window
* - `SDL_PROPERTY_WINDOW_WAYLAND_SURFACE_POINTER` ("SDL.window.wayland.surface"): the wl_surface associated with the window
* - `SDL_PROPERTY_WINDOW_WAYLAND_EGL_WINDOW_POINTER` ("SDL.window.wayland.egl_window"): the wl_egl_window associated with the window
* - `SDL_PROPERTY_WINDOW_WAYLAND_XDG_SURFACE_POINTER` ("SDL.window.wayland.xdg_surface"): the xdg_surface associated with the window
* - `SDL_PROPERTY_WINDOW_WAYLAND_XDG_TOPLEVEL_POINTER` ("SDL.window.wayland.xdg_toplevel"): the xdg_toplevel role associated with the window
* - `SDL_PROPERTY_WINDOW_WAYLAND_XDG_POPUP_POINTER` ("SDL.window.wayland.xdg_popup"): the xdg_popup role associated with the window
* - `SDL_PROPERTY_WINDOW_WAYLAND_XDG_POSITIONER_POINTER` ("SDL.window.wayland.xdg_positioner"): the xdg_positioner associated with the window, in popup mode
* - `SDL_PROPERTY_WINDOW_WAYLAND_REGISTRY_POINTER`
* ("SDL.window.wayland.registry"): the wl_registry associated with the
* window
* - `SDL_PROPERTY_WINDOW_WAYLAND_DISPLAY_POINTER`
* ("SDL.window.wayland.display"): the wl_display associated with the window
* - `SDL_PROPERTY_WINDOW_WAYLAND_SURFACE_POINTER`
* ("SDL.window.wayland.surface"): the wl_surface associated with the window
* - `SDL_PROPERTY_WINDOW_WAYLAND_EGL_WINDOW_POINTER`
* ("SDL.window.wayland.egl_window"): the wl_egl_window associated with the
* window
* - `SDL_PROPERTY_WINDOW_WAYLAND_XDG_SURFACE_POINTER`
* ("SDL.window.wayland.xdg_surface"): the xdg_surface associated with the
* window
* - `SDL_PROPERTY_WINDOW_WAYLAND_XDG_TOPLEVEL_POINTER`
* ("SDL.window.wayland.xdg_toplevel"): the xdg_toplevel role associated
* with the window
* - `SDL_PROPERTY_WINDOW_WAYLAND_XDG_POPUP_POINTER`
* ("SDL.window.wayland.xdg_popup"): the xdg_popup role associated with the
* window
* - `SDL_PROPERTY_WINDOW_WAYLAND_XDG_POSITIONER_POINTER`
* ("SDL.window.wayland.xdg_positioner"): the xdg_positioner associated with
* the window, in popup mode
*
* On X11:
*
* - `SDL_PROPERTY_WINDOW_X11_DISPLAY_POINTER` ("SDL.window.x11.display"): the X11 Display associated with the window
* - `SDL_PROPERTY_WINDOW_X11_SCREEN_NUMBER` ("SDL.window.x11.screen"): the screen number associated with the window
* - `SDL_PROPERTY_WINDOW_X11_WINDOW_NUMBER` ("SDL.window.x11.window"): the X11 Window associated with the window
* - `SDL_PROPERTY_WINDOW_X11_DISPLAY_POINTER` ("SDL.window.x11.display"): the
* X11 Display associated with the window
* - `SDL_PROPERTY_WINDOW_X11_SCREEN_NUMBER` ("SDL.window.x11.screen"): the
* screen number associated with the window
* - `SDL_PROPERTY_WINDOW_X11_WINDOW_NUMBER` ("SDL.window.x11.window"): the
* X11 Window associated with the window
*
* \param window the window to query
* \returns a valid property ID on success or 0 on failure; call