Module video

Available on crate feature dep_sdl3 only.
Expand description

SDL’s video subsystem is largely interested in abstracting window management from the underlying operating system. You can create windows, manage them in various ways, set them fullscreen, and get events when interesting things happen with them, such as the mouse or keyboard interacting with a window.

The video subsystem is also interested in abstracting away some platform-specific differences in OpenGL: context creation, swapping buffers, etc. This may be crucial to your app, but also you are not required to use OpenGL at all. In fact, SDL can provide rendering to those windows as well, either with an easy-to-use 2D API or with a more-powerful GPU API . Of course, it can simply get out of your way and give you the window handles you need to use Vulkan, Direct3D, Metal, or whatever else you like directly, too.

The video subsystem covers a lot of functionality, out of necessity, so it is worth perusing the list of functions just to see what’s available, but most apps can get by with simply creating a window and listening for events, so start with SDL_CreateWindow() and [SDL_PollEvent()].

Structs§

SDL_DisplayMode
The structure that defines a display mode.
SDL_DisplayModeData
Internal display mode data.
SDL_DisplayOrientation
Display orientation values; the way a display is rotated.
SDL_FlashOperation
Window flash operation.
SDL_GLAttr
An enumeration of OpenGL configuration attributes.
SDL_GLContextState
SDL_HitTestResult
Possible return values from the SDL_HitTest callback.
SDL_SystemTheme
System theme.
SDL_Window
The struct used as an opaque handle to a window.

Constants§

SDL_FLASH_BRIEFLY
Flash the window briefly to get attention
SDL_FLASH_CANCEL
Cancel any window flash state
SDL_FLASH_UNTIL_FOCUSED
Flash the window until it gets focus
SDL_GL_ACCELERATED_VISUAL
set to 1 to require hardware acceleration, set to 0 to force software rendering; defaults to allow either.
SDL_GL_ACCUM_ALPHA_SIZE
the minimum number of bits for the alpha channel of the accumulation buffer; defaults to 0.
SDL_GL_ACCUM_BLUE_SIZE
the minimum number of bits for the blue channel of the accumulation buffer; defaults to 0.
SDL_GL_ACCUM_GREEN_SIZE
the minimum number of bits for the green channel of the accumulation buffer; defaults to 0.
SDL_GL_ACCUM_RED_SIZE
the minimum number of bits for the red channel of the accumulation buffer; defaults to 0.
SDL_GL_ALPHA_SIZE
the minimum number of bits for the alpha channel of the color buffer; defaults to 0.
SDL_GL_BLUE_SIZE
the minimum number of bits for the blue channel of the color buffer; defaults to 2.
SDL_GL_BUFFER_SIZE
the minimum number of bits for frame buffer size; defaults to 0.
SDL_GL_CONTEXT_DEBUG_FLAG
SDL_GL_CONTEXT_FLAGS
some combination of 0 or more of elements of the SDL_GLContextFlag enumeration; defaults to 0.
SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG
SDL_GL_CONTEXT_MAJOR_VERSION
OpenGL context major version.
SDL_GL_CONTEXT_MINOR_VERSION
OpenGL context minor version.
SDL_GL_CONTEXT_NO_ERROR
SDL_GL_CONTEXT_PROFILE_COMPATIBILITY
OpenGL Compatibility Profile context
SDL_GL_CONTEXT_PROFILE_CORE
OpenGL Core Profile context
SDL_GL_CONTEXT_PROFILE_ES
GLX_CONTEXT_ES2_PROFILE_BIT_EXT
SDL_GL_CONTEXT_PROFILE_MASK
type of GL context (Core, Compatibility, ES). See SDL_GLProfile; default value depends on platform.
SDL_GL_CONTEXT_RELEASE_BEHAVIOR
sets context the release behavior. See SDL_GLContextReleaseFlag; defaults to FLUSH.
SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH
SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE
SDL_GL_CONTEXT_RESET_ISOLATION_FLAG
SDL_GL_CONTEXT_RESET_LOSE_CONTEXT
SDL_GL_CONTEXT_RESET_NOTIFICATION
set context reset notification. See SDL_GLContextResetNotification; defaults to NO_NOTIFICATION.
SDL_GL_CONTEXT_RESET_NO_NOTIFICATION
SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG
SDL_GL_DEPTH_SIZE
the minimum number of bits in the depth buffer; defaults to 16.
SDL_GL_DOUBLEBUFFER
whether the output is single or double buffered; defaults to double buffering on.
SDL_GL_EGL_PLATFORM
SDL_GL_FLOATBUFFERS
SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
requests sRGB capable visual; defaults to 0.
SDL_GL_GREEN_SIZE
the minimum number of bits for the green channel of the color buffer; defaults to 3.
SDL_GL_MULTISAMPLEBUFFERS
the number of buffers used for multisample anti-aliasing; defaults to 0.
SDL_GL_MULTISAMPLESAMPLES
the number of samples used around the current pixel used for multisample anti-aliasing.
SDL_GL_RED_SIZE
the minimum number of bits for the red channel of the color buffer; defaults to 3.
SDL_GL_RETAINED_BACKING
not used (deprecated).
SDL_GL_SHARE_WITH_CURRENT_CONTEXT
OpenGL context sharing; defaults to 0.
SDL_GL_STENCIL_SIZE
the minimum number of bits in the stencil buffer; defaults to 0.
SDL_GL_STEREO
whether the output is stereo 3D; defaults to off.
SDL_HITTEST_DRAGGABLE
Region can drag entire window.
SDL_HITTEST_NORMAL
Region is normal. No special properties.
SDL_HITTEST_RESIZE_BOTTOM
Region is the resizable bottom border.
SDL_HITTEST_RESIZE_BOTTOMLEFT
Region is the resizable bottom-left corner border.
SDL_HITTEST_RESIZE_BOTTOMRIGHT
Region is the resizable bottom-right corner border.
SDL_HITTEST_RESIZE_LEFT
Region is the resizable left border.
SDL_HITTEST_RESIZE_RIGHT
Region is the resizable right border.
SDL_HITTEST_RESIZE_TOP
Region is the resizable top border.
SDL_HITTEST_RESIZE_TOPLEFT
Region is the resizable top-left corner border.
SDL_HITTEST_RESIZE_TOPRIGHT
Region is the resizable top-right corner border.
SDL_ORIENTATION_LANDSCAPE
The display is in landscape mode, with the right side up, relative to portrait mode
SDL_ORIENTATION_LANDSCAPE_FLIPPED
The display is in landscape mode, with the left side up, relative to portrait mode
SDL_ORIENTATION_PORTRAIT
The display is in portrait mode
SDL_ORIENTATION_PORTRAIT_FLIPPED
The display is in portrait mode, upside down
SDL_ORIENTATION_UNKNOWN
The display orientation can’t be determined
SDL_PROP_DISPLAY_HDR_ENABLED_BOOLEAN
SDL_PROP_DISPLAY_KMSDRM_PANEL_ORIENTATION_NUMBER
SDL_PROP_GLOBAL_VIDEO_WAYLAND_WL_DISPLAY_POINTER
The pointer to the global wl_display object used by the Wayland video backend.
SDL_PROP_WINDOW_ANDROID_SURFACE_POINTER
SDL_PROP_WINDOW_ANDROID_WINDOW_POINTER
SDL_PROP_WINDOW_COCOA_METAL_VIEW_TAG_NUMBER
SDL_PROP_WINDOW_COCOA_WINDOW_POINTER
SDL_PROP_WINDOW_CREATE_ALWAYS_ON_TOP_BOOLEAN
SDL_PROP_WINDOW_CREATE_BORDERLESS_BOOLEAN
SDL_PROP_WINDOW_CREATE_COCOA_VIEW_POINTER
SDL_PROP_WINDOW_CREATE_COCOA_WINDOW_POINTER
SDL_PROP_WINDOW_CREATE_EXTERNAL_GRAPHICS_CONTEXT_BOOLEAN
SDL_PROP_WINDOW_CREATE_FLAGS_NUMBER
SDL_PROP_WINDOW_CREATE_FOCUSABLE_BOOLEAN
SDL_PROP_WINDOW_CREATE_FULLSCREEN_BOOLEAN
SDL_PROP_WINDOW_CREATE_HEIGHT_NUMBER
SDL_PROP_WINDOW_CREATE_HIDDEN_BOOLEAN
SDL_PROP_WINDOW_CREATE_HIGH_PIXEL_DENSITY_BOOLEAN
SDL_PROP_WINDOW_CREATE_MAXIMIZED_BOOLEAN
SDL_PROP_WINDOW_CREATE_MENU_BOOLEAN
SDL_PROP_WINDOW_CREATE_METAL_BOOLEAN
SDL_PROP_WINDOW_CREATE_MINIMIZED_BOOLEAN
SDL_PROP_WINDOW_CREATE_MODAL_BOOLEAN
SDL_PROP_WINDOW_CREATE_MOUSE_GRABBED_BOOLEAN
SDL_PROP_WINDOW_CREATE_OPENGL_BOOLEAN
SDL_PROP_WINDOW_CREATE_PARENT_POINTER
SDL_PROP_WINDOW_CREATE_RESIZABLE_BOOLEAN
SDL_PROP_WINDOW_CREATE_TITLE_STRING
SDL_PROP_WINDOW_CREATE_TOOLTIP_BOOLEAN
SDL_PROP_WINDOW_CREATE_TRANSPARENT_BOOLEAN
SDL_PROP_WINDOW_CREATE_UTILITY_BOOLEAN
SDL_PROP_WINDOW_CREATE_VULKAN_BOOLEAN
SDL_PROP_WINDOW_CREATE_WAYLAND_CREATE_EGL_WINDOW_BOOLEAN
SDL_PROP_WINDOW_CREATE_WAYLAND_SURFACE_ROLE_CUSTOM_BOOLEAN
SDL_PROP_WINDOW_CREATE_WAYLAND_WL_SURFACE_POINTER
SDL_PROP_WINDOW_CREATE_WIDTH_NUMBER
SDL_PROP_WINDOW_CREATE_WIN32_HWND_POINTER
SDL_PROP_WINDOW_CREATE_WIN32_PIXEL_FORMAT_HWND_POINTER
SDL_PROP_WINDOW_CREATE_X11_WINDOW_NUMBER
SDL_PROP_WINDOW_CREATE_X_NUMBER
SDL_PROP_WINDOW_CREATE_Y_NUMBER
SDL_PROP_WINDOW_HDR_ENABLED_BOOLEAN
SDL_PROP_WINDOW_HDR_HEADROOM_FLOAT
SDL_PROP_WINDOW_KMSDRM_DEVICE_INDEX_NUMBER
SDL_PROP_WINDOW_KMSDRM_DRM_FD_NUMBER
SDL_PROP_WINDOW_KMSDRM_GBM_DEVICE_POINTER
SDL_PROP_WINDOW_OPENVR_OVERLAY_ID
SDL_PROP_WINDOW_SDR_WHITE_LEVEL_FLOAT
SDL_PROP_WINDOW_SHAPE_POINTER
SDL_PROP_WINDOW_UIKIT_METAL_VIEW_TAG_NUMBER
SDL_PROP_WINDOW_UIKIT_OPENGL_FRAMEBUFFER_NUMBER
SDL_PROP_WINDOW_UIKIT_OPENGL_RENDERBUFFER_NUMBER
SDL_PROP_WINDOW_UIKIT_OPENGL_RESOLVE_FRAMEBUFFER_NUMBER
SDL_PROP_WINDOW_UIKIT_WINDOW_POINTER
SDL_PROP_WINDOW_VIVANTE_DISPLAY_POINTER
SDL_PROP_WINDOW_VIVANTE_SURFACE_POINTER
SDL_PROP_WINDOW_VIVANTE_WINDOW_POINTER
SDL_PROP_WINDOW_WAYLAND_DISPLAY_POINTER
SDL_PROP_WINDOW_WAYLAND_EGL_WINDOW_POINTER
SDL_PROP_WINDOW_WAYLAND_SURFACE_POINTER
SDL_PROP_WINDOW_WAYLAND_VIEWPORT_POINTER
SDL_PROP_WINDOW_WAYLAND_XDG_POPUP_POINTER
SDL_PROP_WINDOW_WAYLAND_XDG_POSITIONER_POINTER
SDL_PROP_WINDOW_WAYLAND_XDG_SURFACE_POINTER
SDL_PROP_WINDOW_WAYLAND_XDG_TOPLEVEL_EXPORT_HANDLE_STRING
SDL_PROP_WINDOW_WAYLAND_XDG_TOPLEVEL_POINTER
SDL_PROP_WINDOW_WIN32_HDC_POINTER
SDL_PROP_WINDOW_WIN32_HWND_POINTER
SDL_PROP_WINDOW_WIN32_INSTANCE_POINTER
SDL_PROP_WINDOW_X11_DISPLAY_POINTER
SDL_PROP_WINDOW_X11_SCREEN_NUMBER
SDL_PROP_WINDOW_X11_WINDOW_NUMBER
SDL_SYSTEM_THEME_DARK
Dark colored system theme
SDL_SYSTEM_THEME_LIGHT
Light colored system theme
SDL_SYSTEM_THEME_UNKNOWN
Unknown system theme
SDL_WINDOWPOS_CENTERED
Used to indicate that the window position should be centered.
SDL_WINDOWPOS_CENTERED_MASK
A magic value used with SDL_WINDOWPOS_CENTERED.
SDL_WINDOWPOS_UNDEFINED
Used to indicate that you don’t care what the window position/display is.
SDL_WINDOWPOS_UNDEFINED_MASK
A magic value used with SDL_WINDOWPOS_UNDEFINED.
SDL_WINDOW_ALWAYS_ON_TOP
window should always be above others
SDL_WINDOW_BORDERLESS
no window decoration
SDL_WINDOW_EXTERNAL
window not created by SDL
SDL_WINDOW_FULLSCREEN
window is in fullscreen mode
SDL_WINDOW_HIDDEN
window is neither mapped onto the desktop nor shown in the taskbar/dock/window list; SDL_ShowWindow() is required for it to become visible
SDL_WINDOW_HIGH_PIXEL_DENSITY
window uses high pixel density back buffer if possible
SDL_WINDOW_INPUT_FOCUS
window has input focus
SDL_WINDOW_KEYBOARD_GRABBED
window has grabbed keyboard input
SDL_WINDOW_MAXIMIZED
window is maximized
SDL_WINDOW_METAL
window usable for Metal view
SDL_WINDOW_MINIMIZED
window is minimized
SDL_WINDOW_MODAL
window is modal
SDL_WINDOW_MOUSE_CAPTURE
window has mouse captured (unrelated to MOUSE_GRABBED)
SDL_WINDOW_MOUSE_FOCUS
window has mouse focus
SDL_WINDOW_MOUSE_GRABBED
window has grabbed mouse input
SDL_WINDOW_MOUSE_RELATIVE_MODE
window has relative mode enabled
SDL_WINDOW_NOT_FOCUSABLE
window should not be focusable
SDL_WINDOW_OCCLUDED
window is occluded
SDL_WINDOW_OPENGL
window usable with OpenGL context
SDL_WINDOW_POPUP_MENU
window should be treated as a popup menu, requires a parent window
SDL_WINDOW_RESIZABLE
window can be resized
SDL_WINDOW_SURFACE_VSYNC_ADAPTIVE
SDL_WINDOW_SURFACE_VSYNC_DISABLED
SDL_WINDOW_TOOLTIP
window should be treated as a tooltip and does not get mouse or keyboard focus, requires a parent window
SDL_WINDOW_TRANSPARENT
window with transparent buffer
SDL_WINDOW_UTILITY
window should be treated as a utility window, not showing in the task bar and window list
SDL_WINDOW_VULKAN
window usable for Vulkan surface

Functions§

SDL_CreatePopupWindow
Create a child popup window of the specified parent window.
SDL_CreateWindow
Create a window with the specified dimensions and flags.
SDL_CreateWindowWithProperties
Create a window with the specified properties.
SDL_DestroyWindow
Destroy a window.
SDL_DestroyWindowSurface
Destroy the surface associated with the window.
SDL_DisableScreenSaver
Prevent the screen from being blanked by a screen saver.
SDL_EGL_GetCurrentConfig
Get the currently active EGL config.
SDL_EGL_GetCurrentDisplay
Get the currently active EGL display.
SDL_EGL_GetProcAddress
Get an EGL library function by name.
SDL_EGL_GetWindowSurface
Get the EGL surface associated with the window.
SDL_EGL_SetAttributeCallbacks
Sets the callbacks for defining custom EGLAttrib arrays for EGL initialization.
SDL_EnableScreenSaver
Allow the screen to be blanked by a screen saver.
SDL_FlashWindow
Request a window to demand attention from the user.
SDL_GL_CreateContext
Create an OpenGL context for an OpenGL window, and make it current.
SDL_GL_DestroyContext
Delete an OpenGL context.
SDL_GL_ExtensionSupported
Check if an OpenGL extension is supported for the current context.
SDL_GL_GetAttribute
Get the actual value for an attribute from the current context.
SDL_GL_GetCurrentContext
Get the currently active OpenGL context.
SDL_GL_GetCurrentWindow
Get the currently active OpenGL window.
SDL_GL_GetProcAddress
Get an OpenGL function by name.
SDL_GL_GetSwapInterval
Get the swap interval for the current OpenGL context.
SDL_GL_LoadLibrary
Dynamically load an OpenGL library.
SDL_GL_MakeCurrent
Set up an OpenGL context for rendering into an OpenGL window.
SDL_GL_ResetAttributes
Reset all previously set OpenGL context attributes to their default values.
SDL_GL_SetAttribute
Set an OpenGL window attribute before window creation.
SDL_GL_SetSwapInterval
Set the swap interval for the current OpenGL context.
SDL_GL_SwapWindow
Update a window with OpenGL rendering.
SDL_GL_UnloadLibrary
Unload the OpenGL library previously loaded by SDL_GL_LoadLibrary().
SDL_GetClosestFullscreenDisplayMode
Get the closest match to the requested display mode.
SDL_GetCurrentDisplayMode
Get information about the current display mode.
SDL_GetCurrentDisplayOrientation
Get the orientation of a display.
SDL_GetCurrentVideoDriver
Get the name of the currently initialized video driver.
SDL_GetDesktopDisplayMode
Get information about the desktop’s display mode.
SDL_GetDisplayBounds
Get the desktop area represented by a display.
SDL_GetDisplayContentScale
Get the content scale of a display.
SDL_GetDisplayForPoint
Get the display containing a point.
SDL_GetDisplayForRect
Get the display primarily containing a rect.
SDL_GetDisplayForWindow
Get the display associated with a window.
SDL_GetDisplayName
Get the name of a display in UTF-8 encoding.
SDL_GetDisplayProperties
Get the properties associated with a display.
SDL_GetDisplayUsableBounds
Get the usable desktop area represented by a display, in screen coordinates.
SDL_GetDisplays
Get a list of currently connected displays.
SDL_GetFullscreenDisplayModes
Get a list of fullscreen display modes available on a display.
SDL_GetGrabbedWindow
Get the window that currently has an input grab enabled.
SDL_GetNaturalDisplayOrientation
Get the orientation of a display when it is unrotated.
SDL_GetNumVideoDrivers
Get the number of video drivers compiled into SDL.
SDL_GetPrimaryDisplay
Return the primary display.
SDL_GetSystemTheme
Get the current system theme.
SDL_GetVideoDriver
Get the name of a built in video driver.
SDL_GetWindowAspectRatio
Get the size of a window’s client area.
SDL_GetWindowBordersSize
Get the size of a window’s borders (decorations) around the client area.
SDL_GetWindowDisplayScale
Get the content display scale relative to a window’s pixel size.
SDL_GetWindowFlags
Get the window flags.
SDL_GetWindowFromID
Get a window from a stored ID.
SDL_GetWindowFullscreenMode
Query the display mode to use when a window is visible at fullscreen.
SDL_GetWindowICCProfile
Get the raw ICC profile data for the screen the window is currently on.
SDL_GetWindowID
Get the numeric ID of a window.
SDL_GetWindowKeyboardGrab
Get a window’s keyboard grab mode.
SDL_GetWindowMaximumSize
Get the maximum size of a window’s client area.
SDL_GetWindowMinimumSize
Get the minimum size of a window’s client area.
SDL_GetWindowMouseGrab
Get a window’s mouse grab mode.
SDL_GetWindowMouseRect
Get the mouse confinement rectangle of a window.
SDL_GetWindowOpacity
Get the opacity of a window.
SDL_GetWindowParent
Get parent of a window.
SDL_GetWindowPixelDensity
Get the pixel density of a window.
SDL_GetWindowPixelFormat
Get the pixel format associated with the window.
SDL_GetWindowPosition
Get the position of a window.
SDL_GetWindowProperties
Get the properties associated with a window.
SDL_GetWindowSafeArea
Get the safe area for this window.
SDL_GetWindowSize
Get the size of a window’s client area.
SDL_GetWindowSizeInPixels
Get the size of a window’s client area, in pixels.
SDL_GetWindowSurface
Get the SDL surface associated with the window.
SDL_GetWindowSurfaceVSync
Get VSync for the window surface.
SDL_GetWindowTitle
Get the title of a window.
SDL_GetWindows
Get a list of valid windows.
SDL_HideWindow
Hide a window.
SDL_MaximizeWindow
Request that the window be made as large as possible.
SDL_MinimizeWindow
Request that the window be minimized to an iconic representation.
SDL_RaiseWindow
Request that a window be raised above other windows and gain the input focus.
SDL_RestoreWindow
Request that the size and position of a minimized or maximized window be restored.
SDL_ScreenSaverEnabled
Check whether the screensaver is currently enabled.
SDL_SetWindowAlwaysOnTop
Set the window to always be above the others.
SDL_SetWindowAspectRatio
Request that the aspect ratio of a window’s client area be set.
SDL_SetWindowBordered
Set the border state of a window.
SDL_SetWindowFocusable
Set whether the window may have input focus.
SDL_SetWindowFullscreen
Request that the window’s fullscreen state be changed.
SDL_SetWindowFullscreenMode
Set the display mode to use when a window is visible and fullscreen.
SDL_SetWindowHitTest
Provide a callback that decides if a window region has special properties.
SDL_SetWindowIcon
Set the icon for a window.
SDL_SetWindowKeyboardGrab
Set a window’s keyboard grab mode.
SDL_SetWindowMaximumSize
Set the maximum size of a window’s client area.
SDL_SetWindowMinimumSize
Set the minimum size of a window’s client area.
SDL_SetWindowModal
Toggle the state of the window as modal.
SDL_SetWindowMouseGrab
Set a window’s mouse grab mode.
SDL_SetWindowMouseRect
Confines the cursor to the specified area of a window.
SDL_SetWindowOpacity
Set the opacity for a window.
SDL_SetWindowParent
Set the window as a child of a parent window.
SDL_SetWindowPosition
Request that the window’s position be set.
SDL_SetWindowResizable
Set the user-resizable state of a window.
SDL_SetWindowShape
Set the shape of a transparent window.
SDL_SetWindowSize
Request that the size of a window’s client area be set.
SDL_SetWindowSurfaceVSync
Toggle VSync for the window surface.
SDL_SetWindowTitle
Set the title of a window.
SDL_ShowWindow
Show a window.
SDL_ShowWindowSystemMenu
Display the system-level window menu.
SDL_SyncWindow
Block until any pending window state is finalized.
SDL_UpdateWindowSurface
Copy the window surface to the screen.
SDL_UpdateWindowSurfaceRects
Copy areas of the window surface to the screen.
SDL_WINDOWPOS_CENTERED_DISPLAY
Used to indicate that the window position should be centered.
SDL_WINDOWPOS_ISCENTERED
A macro to test if the window position is marked as “centered.”
SDL_WINDOWPOS_ISUNDEFINED
A macro to test if the window position is marked as “undefined.”
SDL_WINDOWPOS_UNDEFINED_DISPLAY
Used to indicate that you don’t care what the window position is.
SDL_WindowHasSurface
Return whether the window has a surface associated with it.

Type Aliases§

SDL_DisplayID
This is a unique ID for a display for the time it is connected to the system, and is never reused for the lifetime of the application.
SDL_EGLAttrib
An EGL attribute, used when creating an EGL context.
SDL_EGLAttribArrayCallback
EGL platform attribute initialization callback.
SDL_EGLConfig
Opaque type for an EGL config.
SDL_EGLDisplay
Opaque type for an EGL display.
SDL_EGLIntArrayCallback
EGL surface/context attribute initialization callback types.
SDL_EGLSurface
Opaque type for an EGL surface.
SDL_EGLint
An EGL integer attribute, used when creating an EGL surface.
SDL_GLContext
An opaque handle to an OpenGL context.
SDL_GLContextFlag
Possible flags to be set for the SDL_GL_CONTEXT_FLAGS attribute.
SDL_GLContextReleaseFlag
Possible values to be set for the SDL_GL_CONTEXT_RELEASE_BEHAVIOR attribute.
SDL_GLContextResetNotification
Possible values to be set SDL_GL_CONTEXT_RESET_NOTIFICATION attribute.
SDL_GLProfile
Possible values to be set for the SDL_GL_CONTEXT_PROFILE_MASK attribute.
SDL_HitTest
Callback used for hit-testing.
SDL_WindowFlags
The flags on a window.
SDL_WindowID
This is a unique ID for a window.