[][src]Crate fermium

The fermium crate is a set of bindings to SDL2, currently 2.0.9.

bindgen is used to generate the bindings from the official SDL2 include files. At the moment we include the following:

  • SDL2.h
  • SDL_syswm.h
  • SDL_vulkan.h

However, SDL_syswm.h in particular pulls in a bunch of extra code and it overwhelms the generated bindings. To avoid this, we only keep the following whitelist of items:

  • SDL_ (functions, types, and vars)
  • SDLK_ (vars)
  • AUDIO_ (vars)
  • Anything that one of these depends on also gets pulled in.

It is thought that this will expose all needed functionality, but if you think something should be added to the whitelist please submit an issue.

Modules

SDL_AssertState
SDL_AudioStatus
SDL_BlendFactor
SDL_BlendMode
SDL_BlendOperation
SDL_DUMMY_ENUM
SDL_DisplayEventID
SDL_DisplayOrientation
SDL_EventType
SDL_GLContextResetNotification
SDL_GLattr
SDL_GLcontextFlag
SDL_GLcontextReleaseFlag
SDL_GLprofile
SDL_GameControllerAxis
SDL_GameControllerBindType
SDL_GameControllerButton
SDL_HintPriority
SDL_HitTestResult
SDL_JoystickPowerLevel
SDL_JoystickType
SDL_Keymod
SDL_LogPriority
SDL_MessageBoxButtonFlags
SDL_MessageBoxColorType
SDL_MessageBoxFlags
SDL_MouseWheelDirection
SDL_PowerState
SDL_RendererFlags
SDL_RendererFlip
SDL_SYSWM_TYPE
SDL_Scancode
SDL_SensorType
SDL_SystemCursor
SDL_TextureAccess
SDL_TextureModulate
SDL_ThreadPriority
SDL_WindowEventID
SDL_WindowFlags
SDL_YUV_CONVERSION_MODE
SDL_bool
SDL_errorcode
SDL_eventaction
WindowShapeMode
_bindgen_ty_1
_bindgen_ty_2
_bindgen_ty_3
_bindgen_ty_4
_bindgen_ty_5
_bindgen_ty_6
_bindgen_ty_7
_bindgen_ty_8

Structs

SDL_AssertData
SDL_AudioCVT
SDL_AudioDeviceEvent

\brief Audio device event structure (event.adevice.*)

SDL_AudioSpec

The calculated values in this structure are calculated by SDL_OpenAudio().

SDL_BlitMap

< Private

SDL_Color
SDL_CommonEvent

\brief Fields shared by every event

SDL_ControllerAxisEvent

\brief Game controller axis motion event structure (event.caxis.*)

SDL_ControllerButtonEvent

\brief Game controller button event structure (event.cbutton.*)

SDL_ControllerDeviceEvent

\brief Controller device event structure (event.cdevice.*)

SDL_Cursor
SDL_DisplayEvent

\brief Display state change event data (event.display.*)

SDL_DisplayMode

\brief The structure that defines a display mode

SDL_DollarGestureEvent

\brief Dollar Gesture Event (event.dgesture.*)

SDL_DropEvent

\brief An event used to request a file open by the system (event.drop.*) This event is enabled by default, you can disable it with SDL_EventState(). \note If this event is enabled, you must free the filename in the event.

SDL_Finger
SDL_GameControllerButtonBind

Get the SDL joystick layer binding for this controller button/axis mapping

SDL_GameControllerButtonBind__bindgen_ty_1__bindgen_ty_1
SDL_HapticCondition

\brief A structure containing a template for a Condition effect.

SDL_HapticConstant

\brief A structure containing a template for a Constant effect.

SDL_HapticCustom

\brief A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect.

SDL_HapticDirection

\brief Structure that represents a haptic direction.

SDL_HapticLeftRight

\brief A structure containing a template for a Left/Right effect.

SDL_HapticPeriodic

\brief A structure containing a template for a Periodic effect.

SDL_HapticRamp

\brief A structure containing a template for a Ramp effect.

SDL_JoyAxisEvent

\brief Joystick axis motion event structure (event.jaxis.*)

SDL_JoyBallEvent

\brief Joystick trackball motion event structure (event.jball.*)

SDL_JoyButtonEvent

\brief Joystick button event structure (event.jbutton.*)

SDL_JoyDeviceEvent

\brief Joystick device event structure (event.jdevice.*)

SDL_JoyHatEvent

\brief Joystick hat position change event structure (event.jhat.*)

SDL_JoystickGUID
SDL_KeyboardEvent

\brief Keyboard button event structure (event.key.*)

SDL_Keysym

\brief The SDL keysym structure, used in key events.

SDL_MessageBoxButtonData

\brief Individual button data.

SDL_MessageBoxColor

\brief RGB value used in a message box color scheme

SDL_MessageBoxColorScheme

\brief A set of colors to use for message box dialogs

SDL_MessageBoxData

\brief MessageBox structure containing title, text, window, etc.

SDL_MouseButtonEvent

\brief Mouse button event structure (event.button.*)

SDL_MouseMotionEvent

\brief Mouse motion event structure (event.motion.*)

SDL_MouseWheelEvent

\brief Mouse wheel event structure (event.wheel.*)

SDL_MultiGestureEvent

\brief Multiple Finger Gesture Event (event.mgesture.*)

SDL_OSEvent

\brief OS Specific event

SDL_Palette
SDL_PixelFormat

\note Everything in the pixel format structure is read-only.

SDL_Point

\brief The structure that defines a point

SDL_QuitEvent

\brief The "quit requested" event

SDL_RWops

This is the read/write operation structure -- very basic.

SDL_RWops__bindgen_ty_1__bindgen_ty_1
SDL_RWops__bindgen_ty_1__bindgen_ty_2
SDL_Rect

\brief A rectangle, with the origin at the upper left.

SDL_Renderer

\brief A structure representing rendering state

SDL_RendererInfo

\brief Information on the capabilities of a render driver or context.

SDL_SensorEvent

\brief Sensor event structure (event.sensor.*)

SDL_Surface

\brief A collection of pixels used in software blitting.

SDL_SysWMEvent

\brief A video driver dependent system event (event.syswm.*) This event is disabled by default, you can enable it with SDL_EventState()

SDL_SysWMinfo

The custom window manager information structure.

SDL_SysWMinfo__bindgen_ty_1__bindgen_ty_1
SDL_SysWMinfo__bindgen_ty_1__bindgen_ty_2
SDL_SysWMmsg

The custom event structure.

SDL_SysWMmsg__bindgen_ty_1__bindgen_ty_1
SDL_TextEditingEvent

\brief Keyboard text editing event structure (event.edit.*)

SDL_TextInputEvent

\brief Keyboard text input event structure (event.text.*)

SDL_Texture

\brief An efficient driver-specific representation of pixel data

SDL_Thread
SDL_TouchFingerEvent

\brief Touch finger event structure (event.tfinger.*)

SDL_UserEvent

\brief A user-defined event type (event.user.*)

SDL_Window
SDL_WindowEvent

\brief Window state change event data (event.window.*)

SDL_WindowShapeMode

\brief A struct that tags the SDL_WindowShapeParams union with an enum describing the type of its contents.

SDL_atomic_t

\brief A type representing an atomic integer value. It is a struct so people don't accidentally use numeric operations on it.

SDL_cond
SDL_mutex
SDL_semaphore
SDL_version

\brief Information the version of SDL in use.

VkInstance_T
VkSurfaceKHR_T
XAnyEvent
XButtonEvent
XCirculateEvent
XCirculateRequestEvent
XClientMessageEvent
XColormapEvent
XConfigureEvent
XConfigureRequestEvent
XCreateWindowEvent
XCrossingEvent
XDestroyWindowEvent
XErrorEvent
XExposeEvent
XFocusChangeEvent
XGenericEvent
XGenericEventCookie
XGraphicsExposeEvent
XGravityEvent
XKeyEvent
XKeymapEvent
XMapEvent
XMapRequestEvent
XMappingEvent
XMotionEvent
XNoExposeEvent
XPropertyEvent
XReparentEvent
XResizeRequestEvent
XSelectionClearEvent
XSelectionEvent
XSelectionRequestEvent
XUnmapEvent
XVisibilityEvent
_SDL_AudioStream
_SDL_GameController

The gamecontroller structure used to identify an SDL game controller

_SDL_Haptic

\typedef SDL_Haptic

_SDL_Joystick

The joystick structure used to identify an SDL joystick

_SDL_Sensor

\brief SDL_sensor.h

_SDL_iconv_t
_XDisplay
__va_list_tag
wl_display

< Wayland display

wl_shell_surface

< Wayland shell_surface (window manager handle)

wl_surface

< Wayland surface

Constants

AUDIO_F32LSB
AUDIO_F32MSB
AUDIO_F32
AUDIO_F32SYS
AUDIO_S8
AUDIO_S16LSB
AUDIO_S16MSB
AUDIO_S16
AUDIO_S16SYS
AUDIO_S32LSB
AUDIO_S32MSB
AUDIO_S32
AUDIO_S32SYS
AUDIO_U8
AUDIO_U16LSB
AUDIO_U16MSB
AUDIO_U16
AUDIO_U16SYS
SDLK_SCANCODE_MASK
SDL_ALPHA_OPAQUE
SDL_ALPHA_TRANSPARENT
SDL_ASSERT_LEVEL
SDL_AUDIOCVT_MAX_FILTERS
SDL_AUDIO_ALLOW_ANY_CHANGE
SDL_AUDIO_ALLOW_CHANNELS_CHANGE
SDL_AUDIO_ALLOW_FORMAT_CHANGE
SDL_AUDIO_ALLOW_FREQUENCY_CHANGE
SDL_AUDIO_ALLOW_SAMPLES_CHANGE
SDL_AUDIO_DRIVER_DUMMY
SDL_AUDIO_MASK_BITSIZE
SDL_AUDIO_MASK_DATATYPE
SDL_AUDIO_MASK_ENDIAN
SDL_AUDIO_MASK_SIGNED
SDL_BIG_ENDIAN
SDL_BUTTON_LEFT
SDL_BUTTON_MIDDLE
SDL_BUTTON_RIGHT
SDL_BUTTON_X1
SDL_BUTTON_X2
SDL_BYTEORDER
SDL_CACHELINE_SIZE
SDL_DISABLE
SDL_DONTFREE
SDL_ENABLE
SDL_FILESYSTEM_DUMMY
SDL_HAPTIC_AUTOCENTER
SDL_HAPTIC_CARTESIAN
SDL_HAPTIC_CONSTANT
SDL_HAPTIC_CUSTOM
SDL_HAPTIC_DAMPER
SDL_HAPTIC_DISABLED
SDL_HAPTIC_FRICTION
SDL_HAPTIC_GAIN
SDL_HAPTIC_INERTIA
SDL_HAPTIC_INFINITY
SDL_HAPTIC_LEFTRIGHT
SDL_HAPTIC_PAUSE
SDL_HAPTIC_POLAR
SDL_HAPTIC_RAMP
SDL_HAPTIC_SAWTOOTHDOWN
SDL_HAPTIC_SAWTOOTHUP
SDL_HAPTIC_SINE
SDL_HAPTIC_SPHERICAL
SDL_HAPTIC_SPRING
SDL_HAPTIC_STATUS
SDL_HAPTIC_TRIANGLE
SDL_HAT_CENTERED
SDL_HAT_DOWN
SDL_HAT_LEFT
SDL_HAT_LEFTDOWN
SDL_HAT_LEFTUP
SDL_HAT_RIGHT
SDL_HAT_RIGHTDOWN
SDL_HAT_RIGHTUP
SDL_HAT_UP
SDL_HINT_ACCELEROMETER_AS_JOYSTICK
SDL_HINT_ALLOW_TOPMOST
SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION
SDL_HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION
SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH
SDL_HINT_ANDROID_TRAP_BACK_BUTTON
SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS
SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION
SDL_HINT_AUDIO_CATEGORY
SDL_HINT_AUDIO_RESAMPLING_MODE
SDL_HINT_BMP_SAVE_LEGACY_FORMAT
SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT
SDL_HINT_ENABLE_STEAM_CONTROLLERS
SDL_HINT_FRAMEBUFFER_ACCELERATION
SDL_HINT_GAMECONTROLLERCONFIG
SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES
SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT
SDL_HINT_GRAB_KEYBOARD
SDL_HINT_IDLE_TIMER_DISABLED
SDL_HINT_IME_INTERNAL_EDITING
SDL_HINT_IOS_HIDE_HOME_INDICATOR
SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS
SDL_HINT_JOYSTICK_HIDAPI
SDL_HINT_JOYSTICK_HIDAPI_PS4
SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE
SDL_HINT_JOYSTICK_HIDAPI_STEAM
SDL_HINT_JOYSTICK_HIDAPI_SWITCH
SDL_HINT_JOYSTICK_HIDAPI_XBOX
SDL_HINT_MAC_BACKGROUND_APP
SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK
SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS
SDL_HINT_MOUSE_DOUBLE_CLICK_TIME
SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH
SDL_HINT_MOUSE_NORMAL_SPEED_SCALE
SDL_HINT_MOUSE_RELATIVE_MODE_WARP
SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE
SDL_HINT_NO_SIGNAL_HANDLERS
SDL_HINT_OPENGL_ES_DRIVER
SDL_HINT_ORIENTATIONS
SDL_HINT_QTWAYLAND_CONTENT_ORIENTATION
SDL_HINT_QTWAYLAND_WINDOW_FLAGS
SDL_HINT_RENDER_DIRECT3D_THREADSAFE
SDL_HINT_RENDER_DIRECT3D11_DEBUG
SDL_HINT_RENDER_DRIVER
SDL_HINT_RENDER_LOGICAL_SIZE_MODE
SDL_HINT_RENDER_OPENGL_SHADERS
SDL_HINT_RENDER_SCALE_QUALITY
SDL_HINT_RENDER_VSYNC
SDL_HINT_RETURN_KEY_HIDES_IME
SDL_HINT_RPI_VIDEO_LAYER
SDL_HINT_THREAD_STACK_SIZE
SDL_HINT_TIMER_RESOLUTION
SDL_HINT_TOUCH_MOUSE_EVENTS
SDL_HINT_TV_REMOTE_AS_JOYSTICK
SDL_HINT_VIDEO_ALLOW_SCREENSAVER
SDL_HINT_VIDEO_DOUBLE_BUFFER
SDL_HINT_VIDEO_HIGHDPI_DISABLED
SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES
SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS
SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT
SDL_HINT_VIDEO_WIN_D3DCOMPILER
SDL_HINT_VIDEO_X11_XVIDMODE
SDL_HINT_VIDEO_X11_XINERAMA
SDL_HINT_VIDEO_X11_XRANDR
SDL_HINT_VIDEO_X11_NET_WM_PING
SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR
SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING
SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP
SDL_HINT_WINDOWS_INTRESOURCE_ICON
SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL
SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4
SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN
SDL_HINT_WINRT_HANDLE_BACK_BUTTON
SDL_HINT_WINRT_PRIVACY_POLICY_LABEL
SDL_HINT_WINRT_PRIVACY_POLICY_URL
SDL_HINT_XINPUT_ENABLED
SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING
SDL_IGNORE
SDL_INIT_AUDIO
SDL_INIT_EVENTS
SDL_INIT_EVERYTHING
SDL_INIT_GAMECONTROLLER
SDL_INIT_HAPTIC
SDL_INIT_JOYSTICK
SDL_INIT_NOPARACHUTE
SDL_INIT_SENSOR
SDL_INIT_TIMER
SDL_INIT_VIDEO
SDL_INVALID_SHAPE_ARGUMENT
SDL_JOYSTICK_AXIS_MAX
SDL_JOYSTICK_AXIS_MIN
SDL_JOYSTICK_DISABLED
SDL_LIL_ENDIAN
SDL_LOADSO_DISABLED
SDL_MAJOR_VERSION
SDL_MAX_LOG_MESSAGE
SDL_MINOR_VERSION
SDL_MIX_MAXVOLUME
SDL_MUTEX_TIMEDOUT
SDL_NONSHAPEABLE_WINDOW
SDL_NULL_WHILE_LOOP_CONDITION
SDL_PATCHLEVEL
SDL_PREALLOC
SDL_PRESSED
SDL_PRIX64
SDL_PRIs64
SDL_PRIu64
SDL_PRIx64
SDL_QUERY
SDL_RELEASED
SDL_RLEACCEL
SDL_RWOPS_JNIFILE
SDL_RWOPS_MEMORY
SDL_RWOPS_MEMORY_RO
SDL_RWOPS_STDFILE
SDL_RWOPS_UNKNOWN
SDL_RWOPS_WINFILE
SDL_SENSOR_DISABLED
SDL_STANDARD_GRAVITY
SDL_SWSURFACE
SDL_TEXTEDITINGEVENT_TEXT_SIZE
SDL_TEXTINPUTEVENT_TEXT_SIZE
SDL_THREADS_DISABLED
SDL_TIMERS_DISABLED
SDL_TOUCH_MOUSEID

Used as the device ID for mouse events simulated with touch input

SDL_VIDEO_DRIVER_DUMMY
SDL_WINDOWPOS_CENTERED_MASK
SDL_WINDOWPOS_UNDEFINED_MASK
SDL_WINDOW_LACKS_SHAPE

Functions

SDL_AddEventWatch

Add a function which is called when an event is added to the queue.

SDL_AddHintCallback

\brief Add a function to watch a particular hint

SDL_AddTimer

\brief Add a new timer to the pool of timers already running.

SDL_AllocFormat

\brief Create an SDL_PixelFormat structure from a pixel format enum.

SDL_AllocPalette

\brief Create a palette structure with the specified number of color entries.

SDL_AllocRW
SDL_AtomicAdd

\brief Add to an atomic variable.

SDL_AtomicCAS

\brief Set an atomic variable to a new value if it is currently an old value.

SDL_AtomicCASPtr

\brief Set a pointer to a new value if it is currently an old value.

SDL_AtomicGet

\brief Get the value of an atomic variable

SDL_AtomicGetPtr

\brief Get the value of a pointer atomically.

SDL_AtomicLock

\brief Lock a spin lock by setting it to a non-zero value.

SDL_AtomicSet

\brief Set an atomic variable to a value.

SDL_AtomicSetPtr

\brief Set a pointer to a value atomically.

SDL_AtomicTryLock

\brief Try to lock a spin lock by setting it to a non-zero value.

SDL_AtomicUnlock

\brief Unlock a spin lock by setting it to 0. Always returns immediately

SDL_AudioInit
SDL_AudioQuit
SDL_AudioStreamAvailable

Get the number of converted/resampled bytes available. The stream may be buffering data behind the scenes until it has enough to resample correctly, so this number might be lower than what you expect, or even be zero. Add more data or flush the stream if you need the data now.

SDL_AudioStreamClear

Clear any pending data in the stream without converting it

SDL_AudioStreamFlush

Tell the stream that you're done sending data, and anything being buffered should be converted/resampled and made available immediately.

SDL_AudioStreamGet

Get converted/resampled data from the stream

SDL_AudioStreamPut

Add data to be converted/resampled to the stream

SDL_BuildAudioCVT

This function takes a source format and rate and a destination format and rate, and initializes the \c cvt structure with information needed by SDL_ConvertAudio() to convert a buffer of audio data from one format to the other. An unsupported format causes an error and -1 will be returned.

SDL_CalculateGammaRamp

\brief Calculate a 256 entry gamma ramp for a gamma value.

SDL_CaptureMouse

\brief Capture the mouse, to track input outside an SDL window.

SDL_ClearError
SDL_ClearHints

\brief Clear all hints

SDL_ClearQueuedAudio

Drop any queued audio data. For playback devices, this is any queued data still waiting to be submitted to the hardware. For capture devices, this is any data that was queued by the device that hasn't yet been dequeued by the application.

SDL_CloseAudio

This function shuts down audio processing and closes the audio device.

SDL_CloseAudioDevice
SDL_ComposeCustomBlendMode

\brief Create a custom blend mode, which may or may not be supported by a given renderer

SDL_CondBroadcast

Restart all threads that are waiting on the condition variable.

SDL_CondSignal

Restart one of the threads that are waiting on the condition variable.

SDL_CondWait

Wait on the condition variable, unlocking the provided mutex.

SDL_CondWaitTimeout

Waits for at most \c ms milliseconds, and returns 0 if the condition variable is signaled, ::SDL_MUTEX_TIMEDOUT if the condition is not signaled in the allotted time, and -1 on error.

SDL_ConvertAudio

Once you have initialized the \c cvt structure using SDL_BuildAudioCVT(), created an audio buffer \c cvt->buf, and filled it with \c cvt->len bytes of audio data in the source format, this function will convert it in-place to the desired format.

SDL_ConvertPixels

\brief Copy a block of pixels of one format to another format

SDL_ConvertSurface

Creates a new surface of the specified format, and then copies and maps the given surface to it so the blit of the converted surface will be as fast as possible. If this function fails, it returns NULL.

SDL_ConvertSurfaceFormat
SDL_CreateColorCursor

\brief Create a color cursor.

SDL_CreateCond

Create a condition variable.

SDL_CreateCursor

\brief Create a cursor, using the specified bitmap data and mask (in MSB format).

SDL_CreateMutex

Create a mutex, initialized unlocked.

SDL_CreateRGBSurface

Allocate and free an RGB surface.

SDL_CreateRGBSurfaceFrom
SDL_CreateRGBSurfaceWithFormat
SDL_CreateRGBSurfaceWithFormatFrom
SDL_CreateRenderer

\brief Create a 2D rendering context for a window.

SDL_CreateSemaphore

Create a semaphore, initialized with value, returns NULL on failure.

SDL_CreateShapedWindow

\brief Create a window that can be shaped with the specified position, dimensions, and flags.

SDL_CreateSoftwareRenderer

\brief Create a 2D software rendering context for a surface.

SDL_CreateSystemCursor

\brief Create a system cursor.

SDL_CreateTexture

\brief Create a texture for a rendering context.

SDL_CreateTextureFromSurface

\brief Create a texture from an existing surface.

SDL_CreateThread

Create a thread with a default stack size.

SDL_CreateThreadWithStackSize

Create a thread.

SDL_CreateWindow

\brief Create a window with the specified position, dimensions, and flags.

SDL_CreateWindowAndRenderer

\brief Create a window and default renderer

SDL_CreateWindowFrom

\brief Create an SDL window from an existing native window.

SDL_DelEventWatch

Remove an event watch function added with SDL_AddEventWatch()

SDL_DelHintCallback

\brief Remove a function watching a particular hint

SDL_Delay

\brief Wait a specified number of milliseconds before returning.

SDL_DequeueAudio

Dequeue more audio on non-callback devices.

SDL_DestroyCond

Destroy a condition variable.

SDL_DestroyMutex

Destroy a mutex.

SDL_DestroyRenderer

\brief Destroy the rendering context for a window and free associated textures.

SDL_DestroySemaphore

Destroy a semaphore.

SDL_DestroyTexture

\brief Destroy the specified texture.

SDL_DestroyWindow

\brief Destroy a window.

SDL_DetachThread

A thread may be "detached" to signify that it should not remain until another thread has called SDL_WaitThread() on it. Detaching a thread is useful for long-running threads that nothing needs to synchronize with or further manage. When a detached thread is done, it simply goes away.

SDL_DisableScreenSaver

\brief Prevent the screen from being blanked by a screensaver

SDL_DuplicateSurface
SDL_EnableScreenSaver

\brief Allow the screen to be blanked by a screensaver

SDL_EnclosePoints

\brief Calculate a minimal rectangle enclosing a set of points

SDL_Error
SDL_EventState

This function allows you to set the state of processing certain events.

SDL_FillRect

Performs a fast fill of the given rectangle with \c color.

SDL_FillRects
SDL_FilterEvents

Run the filter function on the current event queue, removing any events for which the filter returns 0.

SDL_FlushEvent

This function clears events from the event queue This function only affects currently queued events. If you want to make sure that all pending OS events are flushed, you can call SDL_PumpEvents() on the main thread immediately before the flush call.

SDL_FlushEvents
SDL_FreeAudioStream

Free an audio stream

SDL_FreeCursor

\brief Frees a cursor created with SDL_CreateCursor() or similar functions.

SDL_FreeFormat

\brief Free an SDL_PixelFormat structure.

SDL_FreePalette

\brief Free a palette created with SDL_AllocPalette().

SDL_FreeRW
SDL_FreeSurface
SDL_FreeWAV

This function frees data previously allocated with SDL_LoadWAV_RW()

SDL_GL_BindTexture

\brief Bind the texture to the current OpenGL/ES/ES2 context for use with OpenGL instructions.

SDL_GL_CreateContext

\brief Create an OpenGL context for use with an OpenGL window, and make it current.

SDL_GL_DeleteContext

\brief Delete an OpenGL context.

SDL_GL_ExtensionSupported

\brief Return true if an OpenGL extension is supported for the current context.

SDL_GL_GetAttribute

\brief Get the actual value for an attribute from the current context.

SDL_GL_GetCurrentContext

\brief Get the currently active OpenGL context.

SDL_GL_GetCurrentWindow

\brief Get the currently active OpenGL window.

SDL_GL_GetDrawableSize

\brief Get the size of a window's underlying drawable in pixels (for use with glViewport).

SDL_GL_GetProcAddress

\brief Get the address of an OpenGL function.

SDL_GL_GetSwapInterval

\brief Get the swap interval for the current OpenGL context.

SDL_GL_LoadLibrary

\brief Dynamically load an OpenGL library.

SDL_GL_MakeCurrent

\brief Set up an OpenGL context for rendering into an OpenGL window.

SDL_GL_ResetAttributes

\brief Reset all previously set OpenGL context attributes to their default values

SDL_GL_SetAttribute

\brief Set an OpenGL window attribute before window creation.

SDL_GL_SetSwapInterval

\brief Set the swap interval for the current OpenGL context.

SDL_GL_SwapWindow

\brief Swap the OpenGL buffers for a window, if double-buffering is supported.

SDL_GL_UnbindTexture

\brief Unbind a texture from the current OpenGL/ES/ES2 context.

SDL_GL_UnloadLibrary

\brief Unload the OpenGL library previously loaded by SDL_GL_LoadLibrary().

SDL_GameControllerAddMapping

Add or update an existing mapping configuration

SDL_GameControllerAddMappingsFromRW

Load a set of mappings from a seekable SDL data stream (memory or file), filtered by the current SDL_GetPlatform() A community sourced database of controllers is available at https://raw.github.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt

SDL_GameControllerClose

Close a controller previously opened with SDL_GameControllerOpen().

SDL_GameControllerEventState

Enable/disable controller event polling.

SDL_GameControllerFromInstanceID

Return the SDL_GameController associated with an instance id.

SDL_GameControllerGetAttached

Returns SDL_TRUE if the controller has been opened and currently connected, or SDL_FALSE if it has not.

SDL_GameControllerGetAxis

Get the current state of an axis control on a game controller.

SDL_GameControllerGetAxisFromString

turn this string into a axis mapping

SDL_GameControllerGetBindForAxis

Get the SDL joystick layer binding for this controller button mapping

SDL_GameControllerGetBindForButton

Get the SDL joystick layer binding for this controller button mapping

SDL_GameControllerGetButton

Get the current state of a button on a game controller.

SDL_GameControllerGetButtonFromString

turn this string into a button mapping

SDL_GameControllerGetJoystick

Get the underlying joystick object used by a controller

SDL_GameControllerGetPlayerIndex

Get the player index of an opened game controller, or -1 if it's not available

SDL_GameControllerGetProduct

Get the USB product ID of an opened controller, if available. If the product ID isn't available this function returns 0.

SDL_GameControllerGetProductVersion

Get the product version of an opened controller, if available. If the product version isn't available this function returns 0.

SDL_GameControllerGetStringForAxis

turn this axis enum into a string mapping

SDL_GameControllerGetStringForButton

turn this button enum into a string mapping

SDL_GameControllerGetVendor

Get the USB vendor ID of an opened controller, if available. If the vendor ID isn't available this function returns 0.

SDL_GameControllerMapping

Get a mapping string for an open GameController

SDL_GameControllerMappingForDeviceIndex

Get the mapping of a game controller. This can be called before any controllers are opened.

SDL_GameControllerMappingForGUID

Get a mapping string for a GUID

SDL_GameControllerMappingForIndex

Get the mapping at a particular index.

SDL_GameControllerName

Return the name for this currently opened controller

SDL_GameControllerNameForIndex

Get the implementation dependent name of a game controller. This can be called before any controllers are opened. If no name can be found, this function returns NULL.

SDL_GameControllerNumMappings

Get the number of mappings installed

SDL_GameControllerOpen

Open a game controller for use. The index passed as an argument refers to the N'th game controller on the system. This index is not the value which will identify this controller in future controller events. The joystick's instance id (::SDL_JoystickID) will be used there instead.

SDL_GameControllerRumble

Trigger a rumble effect Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling.

SDL_GameControllerUpdate

Update the current state of the open game controllers.

SDL_GetAssertionHandler

\brief Get the current assertion handler.

SDL_GetAssertionReport

\brief Get a list of all assertion failures.

SDL_GetAudioDeviceName

Get the human-readable name of a specific audio device. Must be a value between 0 and (number of audio devices-1). Only valid after a successfully initializing the audio subsystem. The values returned by this function reflect the latest call to SDL_GetNumAudioDevices(); recall that function to redetect available hardware.

SDL_GetAudioDeviceStatus
SDL_GetAudioDriver
SDL_GetAudioStatus
SDL_GetBasePath

\brief Get the path where the application resides.

SDL_GetCPUCacheLineSize

This function returns the L1 cache line size of the CPU

SDL_GetCPUCount

This function returns the number of CPU cores available.

SDL_GetClipRect

Gets the clipping rectangle for the destination surface in a blit.

SDL_GetClipboardText

\brief Get UTF-8 text from the clipboard, which must be freed with SDL_free()

SDL_GetClosestDisplayMode

\brief Get the closest match to the requested display mode.

SDL_GetColorKey

\brief Gets the color key (transparent pixel) in a blittable surface.

SDL_GetCurrentAudioDriver

This function returns the name of the current audio driver, or NULL if no driver has been initialized.

SDL_GetCurrentDisplayMode

\brief Fill in information about the current display mode.

SDL_GetCurrentVideoDriver

\brief Returns the name of the currently initialized video driver.

SDL_GetCursor

\brief Return the active cursor.

SDL_GetDefaultAssertionHandler

\brief Get the default assertion handler.

SDL_GetDefaultCursor

\brief Return the default cursor.

SDL_GetDesktopDisplayMode

\brief Fill in information about the desktop display mode.

SDL_GetDisplayBounds

\brief Get the desktop area represented by a display, with the primary display located at 0,0

SDL_GetDisplayDPI

\brief Get the dots/pixels-per-inch for a display

SDL_GetDisplayMode

\brief Fill in information about a specific display mode.

SDL_GetDisplayName

\brief Get the name of a display in UTF-8 encoding

SDL_GetDisplayOrientation

\brief Get the orientation of a display

SDL_GetDisplayUsableBounds

\brief Get the usable desktop area represented by a display, with the primary display located at 0,0

SDL_GetError
SDL_GetEventFilter

Return the current event filter - can be used to "chain" filters. If there is no event filter set, this function returns SDL_FALSE.

SDL_GetGlobalMouseState

\brief Get the current state of the mouse, in relation to the desktop

SDL_GetGrabbedWindow

\brief Get the window that currently has an input grab enabled.

SDL_GetHint

\brief Get a hint

SDL_GetHintBoolean

\brief Get a hint

SDL_GetKeyFromName

\brief Get a key code from a human-readable name

SDL_GetKeyFromScancode

\brief Get the key code corresponding to the given scancode according to the current keyboard layout.

SDL_GetKeyName

\brief Get a human-readable name for a key.

SDL_GetKeyboardFocus

\brief Get the window which currently has keyboard focus.

SDL_GetKeyboardState

\brief Get a snapshot of the current state of the keyboard.

SDL_GetMemoryFunctions

\brief Get the current set of SDL memory functions

SDL_GetModState

\brief Get the current key modifier state for the keyboard.

SDL_GetMouseFocus

\brief Get the window which currently has mouse focus.

SDL_GetMouseState

\brief Retrieve the current state of the mouse.

SDL_GetNumAllocations

\brief Get the number of outstanding (unfreed) allocations

SDL_GetNumAudioDevices

Get the number of available devices exposed by the current driver. Only valid after a successfully initializing the audio subsystem. Returns -1 if an explicit list of devices can't be determined; this is not an error. For example, if SDL is set up to talk to a remote audio server, it can't list every one available on the Internet, but it will still allow a specific host to be specified to SDL_OpenAudioDevice().

SDL_GetNumAudioDrivers
SDL_GetNumDisplayModes

\brief Returns the number of available display modes.

SDL_GetNumRenderDrivers

\brief Get the number of 2D rendering drivers available for the current display.

SDL_GetNumTouchDevices

\brief Get the number of registered touch devices.

SDL_GetNumTouchFingers

\brief Get the number of active fingers for a given touch device.

SDL_GetNumVideoDisplays

\brief Returns the number of available video displays.

SDL_GetNumVideoDrivers

\brief Get the number of video drivers compiled into SDL

SDL_GetPerformanceCounter

\brief Get the current value of the high resolution counter

SDL_GetPerformanceFrequency

\brief Get the count per second of the high resolution counter

SDL_GetPixelFormatName

\brief Get the human readable name of a pixel format

SDL_GetPlatform

\brief Gets the name of the platform.

SDL_GetPowerInfo

\brief Get the current power supply details.

SDL_GetPrefPath

\brief Get the user-and-app-specific path where files can be written.

SDL_GetQueuedAudioSize

Get the number of bytes of still-queued audio.

SDL_GetRGB

\brief Get the RGB components from a pixel of the specified format.

SDL_GetRGBA

\brief Get the RGBA components from a pixel of the specified format.

SDL_GetRelativeMouseMode

\brief Query whether relative mouse mode is enabled.

SDL_GetRelativeMouseState

\brief Retrieve the relative state of the mouse.

SDL_GetRenderDrawBlendMode

\brief Get the blend mode used for drawing operations.

SDL_GetRenderDrawColor

\brief Get the color used for drawing operations (Rect, Line and Clear).

SDL_GetRenderDriverInfo

\brief Get information about a specific 2D rendering driver for the current display.

SDL_GetRenderTarget

\brief Get the current render target or NULL for the default render target.

SDL_GetRenderer

\brief Get the renderer associated with a window.

SDL_GetRendererInfo

\brief Get information about a rendering context.

SDL_GetRendererOutputSize

\brief Get the output size in pixels of a rendering context.

SDL_GetRevision

\brief Get the code revision of SDL that is linked against your program.

SDL_GetRevisionNumber

\brief Get the revision number of SDL that is linked against your program.

SDL_GetScancodeFromKey

\brief Get the scancode corresponding to the given key code according to the current keyboard layout.

SDL_GetScancodeFromName

\brief Get a scancode from a human-readable name

SDL_GetScancodeName

\brief Get a human-readable name for a scancode.

SDL_GetShapedWindowMode

\brief Get the shape parameters of a shaped window.

SDL_GetSurfaceAlphaMod

\brief Get the additional alpha value used in blit operations.

SDL_GetSurfaceBlendMode

\brief Get the blend mode used for blit operations.

SDL_GetSurfaceColorMod

\brief Get the additional color value used in blit operations.

SDL_GetSystemRAM

This function returns the amount of RAM configured in the system, in MB.

SDL_GetTextureAlphaMod

\brief Get the additional alpha value used in render copy operations.

SDL_GetTextureBlendMode

\brief Get the blend mode used for texture copy operations.

SDL_GetTextureColorMod

\brief Get the additional color value used in render copy operations.

SDL_GetThreadID

Get the thread identifier for the specified thread.

SDL_GetThreadName

Get the thread name, as it was specified in SDL_CreateThread(). This function returns a pointer to a UTF-8 string that names the specified thread, or NULL if it doesn't have a name. This is internal memory, not to be free()'d by the caller, and remains valid until the specified thread is cleaned up by SDL_WaitThread().

SDL_GetTicks

\brief Get the number of milliseconds since the SDL library initialization.

SDL_GetTouchDevice

\brief Get the touch ID with the given index, or 0 if the index is invalid.

SDL_GetTouchFinger

\brief Get the finger object of the given touch, with the given index.

SDL_GetVersion

\brief Get the version of SDL that is linked against your program.

SDL_GetVideoDriver

\brief Get the name of a built in video driver.

SDL_GetWindowBordersSize

\brief Get the size of a window's borders (decorations) around the client area.

SDL_GetWindowBrightness

\brief Get the brightness (gamma correction) for a window.

SDL_GetWindowData

\brief Retrieve the data pointer associated with a window.

SDL_GetWindowDisplayIndex

\brief Get the display index associated with a window.

SDL_GetWindowDisplayMode

\brief Fill in information about the display mode used when a fullscreen window is visible.

SDL_GetWindowFlags

\brief Get the window flags.

SDL_GetWindowFromID

\brief Get a window from a stored ID, or NULL if it doesn't exist.

SDL_GetWindowGammaRamp

\brief Get the gamma ramp for a window.

SDL_GetWindowGrab

\brief Get a window's input grab mode.

SDL_GetWindowID

\brief Get the numeric ID of a window, for logging purposes.

SDL_GetWindowMaximumSize

\brief Get the maximum size of a window's client area.

SDL_GetWindowMinimumSize

\brief Get the minimum size of a window's client area.

SDL_GetWindowOpacity

\brief Get the opacity of a window.

SDL_GetWindowPixelFormat

\brief Get the pixel format associated with the window.

SDL_GetWindowPosition

\brief Get the position of a window.

SDL_GetWindowSize

\brief Get the size of a window's client area.

SDL_GetWindowSurface

\brief Get the SDL surface associated with the window.

SDL_GetWindowTitle

\brief Get the title of a window, in UTF-8 format.

SDL_GetWindowWMInfo

\brief This function allows access to driver-dependent window information.

SDL_GetYUVConversionMode

\brief Get the YUV conversion mode

SDL_GetYUVConversionModeForResolution

\brief Get the YUV conversion mode, returning the correct mode for the resolution when the current conversion mode is SDL_YUV_CONVERSION_AUTOMATIC

SDL_HapticClose

\brief Closes a haptic device previously opened with SDL_HapticOpen().

SDL_HapticDestroyEffect

\brief Destroys a haptic effect on the device.

SDL_HapticEffectSupported

\brief Checks to see if effect is supported by haptic.

SDL_HapticGetEffectStatus

\brief Gets the status of the current effect on the haptic device.

SDL_HapticIndex

\brief Gets the index of a haptic device.

SDL_HapticName

\brief Get the implementation dependent name of a haptic device.

SDL_HapticNewEffect

\brief Creates a new haptic effect on the device.

SDL_HapticNumAxes

\brief Gets the number of haptic axes the device has.

SDL_HapticNumEffects

\brief Returns the number of effects a haptic device can store.

SDL_HapticNumEffectsPlaying

\brief Returns the number of effects a haptic device can play at the same time.

SDL_HapticOpen

\brief Opens a haptic device for use.

SDL_HapticOpenFromJoystick

\brief Opens a haptic device for use from a joystick device.

SDL_HapticOpenFromMouse

\brief Tries to open a haptic device from the current mouse.

SDL_HapticOpened

\brief Checks if the haptic device at index has been opened.

SDL_HapticPause

\brief Pauses a haptic device.

SDL_HapticQuery

\brief Gets the haptic device's supported features in bitwise manner.

SDL_HapticRumbleInit

\brief Initializes the haptic device for simple rumble playback.

SDL_HapticRumblePlay

\brief Runs simple rumble on a haptic device

SDL_HapticRumbleStop

\brief Stops the simple rumble on a haptic device.

SDL_HapticRumbleSupported

\brief Checks to see if rumble is supported on a haptic device.

SDL_HapticRunEffect

\brief Runs the haptic effect on its associated haptic device.

SDL_HapticSetAutocenter

\brief Sets the global autocenter of the device.

SDL_HapticSetGain

\brief Sets the global gain of the device.

SDL_HapticStopAll

\brief Stops all the currently playing effects on a haptic device.

SDL_HapticStopEffect

\brief Stops the haptic effect on its associated haptic device.

SDL_HapticUnpause

\brief Unpauses a haptic device.

SDL_HapticUpdateEffect

\brief Updates the properties of an effect.

SDL_Has3DNow

This function returns true if the CPU has 3DNow! features.

SDL_HasAVX

This function returns true if the CPU has AVX features.

SDL_HasAVX2

This function returns true if the CPU has AVX2 features.

SDL_HasAVX512F

This function returns true if the CPU has AVX-512F (foundation) features.

SDL_HasAltiVec

This function returns true if the CPU has AltiVec features.

SDL_HasClipboardText

\brief Returns a flag indicating whether the clipboard exists and contains a text string that is non-empty

SDL_HasColorKey

\brief Returns whether the surface has a color key

SDL_HasEvent

Checks to see if certain event types are in the event queue.

SDL_HasEvents
SDL_HasIntersection

\brief Determine whether two rectangles intersect.

SDL_HasMMX

This function returns true if the CPU has MMX features.

SDL_HasNEON

This function returns true if the CPU has NEON (ARM SIMD) features.

SDL_HasRDTSC

This function returns true if the CPU has the RDTSC instruction.

SDL_HasSSE

This function returns true if the CPU has SSE features.

SDL_HasSSE2

This function returns true if the CPU has SSE2 features.

SDL_HasSSE3

This function returns true if the CPU has SSE3 features.

SDL_HasSSE41

This function returns true if the CPU has SSE4.1 features.

SDL_HasSSE42

This function returns true if the CPU has SSE4.2 features.

SDL_HasScreenKeyboardSupport

\brief Returns whether the platform has some screen keyboard support.

SDL_HideWindow

\brief Hide a window.

SDL_Init

This function initializes the subsystems specified by \c flags

SDL_InitSubSystem

This function initializes specific SDL subsystems

SDL_IntersectRect

\brief Calculate the intersection of two rectangles.

SDL_IntersectRectAndLine

\brief Calculate the intersection of a rectangle and line segment.

SDL_IsGameController

Is the joystick on this index supported by the game controller interface?

SDL_IsScreenKeyboardShown

\brief Returns whether the screen keyboard is shown for given window.

SDL_IsScreenSaverEnabled

\brief Returns whether the screensaver is currently enabled (default off).

SDL_IsShapedWindow

\brief Return whether the given window is a shaped window.

SDL_IsTablet

\brief Return true if the current device is a tablet.

SDL_IsTextInputActive

\brief Return whether or not Unicode text input events are enabled.

SDL_JoystickClose

Close a joystick previously opened with SDL_JoystickOpen().

SDL_JoystickCurrentPowerLevel

Return the battery level of this joystick

SDL_JoystickEventState

Enable/disable joystick event polling.

SDL_JoystickFromInstanceID

Return the SDL_Joystick associated with an instance id.

SDL_JoystickGetAttached

Returns SDL_TRUE if the joystick has been opened and currently connected, or SDL_FALSE if it has not.

SDL_JoystickGetAxis

Get the current state of an axis control on a joystick.

SDL_JoystickGetAxisInitialState

Get the initial state of an axis control on a joystick.

SDL_JoystickGetBall

Get the ball axis change since the last poll.

SDL_JoystickGetButton

Get the current state of a button on a joystick.

SDL_JoystickGetDeviceGUID

Return the GUID for the joystick at this index This can be called before any joysticks are opened.

SDL_JoystickGetDeviceInstanceID

Get the instance ID of a joystick. This can be called before any joysticks are opened. If the index is out of range, this function will return -1.

SDL_JoystickGetDevicePlayerIndex

Get the player index of a joystick, or -1 if it's not available This can be called before any joysticks are opened.

SDL_JoystickGetDeviceProduct

Get the USB product ID of a joystick, if available. This can be called before any joysticks are opened. If the product ID isn't available this function returns 0.

SDL_JoystickGetDeviceProductVersion

Get the product version of a joystick, if available. This can be called before any joysticks are opened. If the product version isn't available this function returns 0.

SDL_JoystickGetDeviceType

Get the type of a joystick, if available. This can be called before any joysticks are opened.

SDL_JoystickGetDeviceVendor

Get the USB vendor ID of a joystick, if available. This can be called before any joysticks are opened. If the vendor ID isn't available this function returns 0.

SDL_JoystickGetGUID

Return the GUID for this opened joystick

SDL_JoystickGetGUIDFromString

Convert a string into a joystick guid

SDL_JoystickGetGUIDString

Return a string representation for this guid. pszGUID must point to at least 33 bytes (32 for the string plus a NULL terminator).

SDL_JoystickGetHat

Get the current state of a POV hat on a joystick.

SDL_JoystickGetPlayerIndex

Get the player index of an opened joystick, or -1 if it's not available

SDL_JoystickGetProduct

Get the USB product ID of an opened joystick, if available. If the product ID isn't available this function returns 0.

SDL_JoystickGetProductVersion

Get the product version of an opened joystick, if available. If the product version isn't available this function returns 0.

SDL_JoystickGetType

Get the type of an opened joystick.

SDL_JoystickGetVendor

Get the USB vendor ID of an opened joystick, if available. If the vendor ID isn't available this function returns 0.

SDL_JoystickInstanceID

Get the instance ID of an opened joystick or -1 if the joystick is invalid.

SDL_JoystickIsHaptic

\brief Checks to see if a joystick has haptic features.

SDL_JoystickName

Return the name for this currently opened joystick. If no name can be found, this function returns NULL.

SDL_JoystickNameForIndex

Get the implementation dependent name of a joystick. This can be called before any joysticks are opened. If no name can be found, this function returns NULL.

SDL_JoystickNumAxes

Get the number of general axis controls on a joystick.

SDL_JoystickNumBalls

Get the number of trackballs on a joystick.

SDL_JoystickNumButtons

Get the number of buttons on a joystick.

SDL_JoystickNumHats

Get the number of POV hats on a joystick.

SDL_JoystickOpen

Open a joystick for use. The index passed as an argument refers to the N'th joystick on the system. This index is not the value which will identify this joystick in future joystick events. The joystick's instance id (::SDL_JoystickID) will be used there instead.

SDL_JoystickRumble

Trigger a rumble effect Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling.

SDL_JoystickUpdate

Update the current state of the open joysticks.

SDL_LinuxSetThreadPriority

\brief Sets the UNIX nice value for a thread, using setpriority() if possible, and RealtimeKit if available.

SDL_LoadBMP_RW

Load a surface from a seekable SDL data stream (memory or file).

SDL_LoadDollarTemplates

\brief Load Dollar Gesture templates from a file

SDL_LoadFile_RW

Load all the data from an SDL data stream.

SDL_LoadFunction

Given an object handle, this function looks up the address of the named function in the shared object and returns it. This address is no longer valid after calling SDL_UnloadObject().

SDL_LoadObject

This function dynamically loads a shared object and returns a pointer to the object handle (or NULL if there was an error). The 'sofile' parameter is a system dependent name of the object file.

SDL_LoadWAV_RW

This function loads a WAVE from the data source, automatically freeing that source if \c freesrc is non-zero. For example, to load a WAVE file, you could do: \code SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...); \endcode

SDL_LockAudio
SDL_LockAudioDevice
SDL_LockJoysticks

Locking for multi-threaded access to the joystick API

SDL_LockMutex
SDL_LockSurface

\brief Sets up a surface for directly accessing the pixels.

SDL_LockTexture

\brief Lock a portion of the texture for write-only pixel access.

SDL_Log

\brief Log a message with SDL_LOG_CATEGORY_APPLICATION and SDL_LOG_PRIORITY_INFO

SDL_LogCritical

\brief Log a message with SDL_LOG_PRIORITY_CRITICAL

SDL_LogDebug

\brief Log a message with SDL_LOG_PRIORITY_DEBUG

SDL_LogError

\brief Log a message with SDL_LOG_PRIORITY_ERROR

SDL_LogGetOutputFunction

\brief Get the current log output function.

SDL_LogGetPriority

\brief Get the priority of a particular log category

SDL_LogInfo

\brief Log a message with SDL_LOG_PRIORITY_INFO

SDL_LogMessage

\brief Log a message with the specified category and priority.

SDL_LogMessageV

\brief Log a message with the specified category and priority.

SDL_LogResetPriorities

\brief Reset all priorities to default.

SDL_LogSetAllPriority

\brief Set the priority of all log categories

SDL_LogSetOutputFunction

\brief This function allows you to replace the default log output function with one of your own.

SDL_LogSetPriority

\brief Set the priority of a particular log category

SDL_LogVerbose

\brief Log a message with SDL_LOG_PRIORITY_VERBOSE

SDL_LogWarn

\brief Log a message with SDL_LOG_PRIORITY_WARN

SDL_LowerBlit

This is a semi-private blit function and it performs low-level surface blitting only.

SDL_LowerBlitScaled

This is a semi-private blit function and it performs low-level surface scaled blitting only.

SDL_MapRGB

\brief Maps an RGB triple to an opaque pixel value for a given pixel format.

SDL_MapRGBA

\brief Maps an RGBA quadruple to a pixel value for a given pixel format.

SDL_MasksToPixelFormatEnum

\brief Convert a bpp and RGBA masks to an enumerated pixel format.

SDL_MaximizeWindow

\brief Make a window as large as possible.

SDL_MemoryBarrierAcquireFunction
SDL_MemoryBarrierReleaseFunction

Memory barriers are designed to prevent reads and writes from being reordered by the compiler and being seen out of order on multi-core CPUs.

SDL_MinimizeWindow

\brief Minimize a window to an iconic representation.

SDL_MixAudio

This takes two audio buffers of the playing audio format and mixes them, performing addition, volume adjustment, and overflow clipping. The volume ranges from 0 - 128, and should be set to ::SDL_MIX_MAXVOLUME for full audio volume. Note this does not change hardware volume. This is provided for convenience -- you can mix your own audio data.

SDL_MixAudioFormat

This works like SDL_MixAudio(), but you specify the audio format instead of using the format of audio device 1. Thus it can be used when no audio device is open at all.

SDL_MouseIsHaptic

\brief Gets whether or not the current mouse has haptic capabilities.

SDL_NewAudioStream

Create a new audio stream

SDL_NumHaptics

\brief Count the number of haptic devices attached to the system.

SDL_NumJoysticks

Count the number of joysticks attached to the system right now

SDL_NumSensors

\brief Count the number of sensors attached to the system right now

SDL_OpenAudio

This function opens the audio device with the desired parameters, and returns 0 if successful, placing the actual hardware parameters in the structure pointed to by \c obtained. If \c obtained is NULL, the audio data passed to the callback function will be guaranteed to be in the requested format, and will be automatically converted to the hardware audio format if necessary. This function returns -1 if it failed to open the audio device, or couldn't set up the audio thread.

SDL_OpenAudioDevice

Open a specific audio device. Passing in a device name of NULL requests the most reasonable default (and is equivalent to calling SDL_OpenAudio()).

SDL_PauseAudio
SDL_PauseAudioDevice
SDL_PeepEvents

Checks the event queue for messages and optionally returns them.

SDL_PixelFormatEnumToMasks

\brief Convert one of the enumerated pixel formats to a bpp and RGBA masks.

SDL_PollEvent

\brief Polls for currently pending events.

SDL_PumpEvents

Pumps the event loop, gathering events from the input devices.

SDL_PushEvent

\brief Add an event to the event queue.

SDL_QueryTexture

\brief Query the attributes of a texture

SDL_QueueAudio

Queue more audio on non-callback devices.

SDL_Quit

This function cleans up all initialized subsystems. You should call it upon all exit conditions.

SDL_QuitSubSystem

This function cleans up specific SDL subsystems

SDL_RWFromConstMem
SDL_RWFromFP
SDL_RWFromFile
SDL_RWFromMem
SDL_RaiseWindow

\brief Raise a window above other windows and set the input focus.

SDL_ReadBE16
SDL_ReadBE32
SDL_ReadBE64
SDL_ReadLE16
SDL_ReadLE32
SDL_ReadLE64
SDL_ReadU8
SDL_RecordGesture

\brief Begin Recording a gesture on the specified touch, or all touches (-1)

SDL_RegisterEvents

This function allocates a set of user-defined events, and returns the beginning event number for that set of events.

SDL_RemoveTimer

\brief Remove a timer knowing its ID.

SDL_RenderClear

\brief Clear the current rendering target with the drawing color

SDL_RenderCopy

\brief Copy a portion of the texture to the current rendering target.

SDL_RenderCopyEx

\brief Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center

SDL_RenderDrawLine

\brief Draw a line on the current rendering target.

SDL_RenderDrawLines

\brief Draw a series of connected lines on the current rendering target.

SDL_RenderDrawPoint

\brief Draw a point on the current rendering target.

SDL_RenderDrawPoints

\brief Draw multiple points on the current rendering target.

SDL_RenderDrawRect

\brief Draw a rectangle on the current rendering target.

SDL_RenderDrawRects

\brief Draw some number of rectangles on the current rendering target.

SDL_RenderFillRect

\brief Fill a rectangle on the current rendering target with the drawing color.

SDL_RenderFillRects

\brief Fill some number of rectangles on the current rendering target with the drawing color.

SDL_RenderGetClipRect

\brief Get the clip rectangle for the current target.

SDL_RenderGetIntegerScale

\brief Get whether integer scales are forced for resolution-independent rendering

SDL_RenderGetLogicalSize

\brief Get device independent resolution for rendering

SDL_RenderGetMetalCommandEncoder

\brief Get the Metal command encoder for the current frame

SDL_RenderGetMetalLayer

\brief Get the CAMetalLayer associated with the given Metal renderer

SDL_RenderGetScale

\brief Get the drawing scale for the current target.

SDL_RenderGetViewport

\brief Get the drawing area for the current target.

SDL_RenderIsClipEnabled

\brief Get whether clipping is enabled on the given renderer.

SDL_RenderPresent

\brief Update the screen with rendering performed.

SDL_RenderReadPixels

\brief Read pixels from the current rendering target.

SDL_RenderSetClipRect

\brief Set the clip rectangle for the current target.

SDL_RenderSetIntegerScale

\brief Set whether to force integer scales for resolution-independent rendering

SDL_RenderSetLogicalSize

\brief Set device independent resolution for rendering

SDL_RenderSetScale

\brief Set the drawing scale for rendering on the current target.

SDL_RenderSetViewport

\brief Set the drawing area for rendering on the current target.

SDL_RenderTargetSupported

\brief Determines whether a window supports the use of render targets

SDL_ReportAssertion
SDL_ResetAssertionReport

\brief Reset the list of all assertion failures.

SDL_RestoreWindow

\brief Restore the size and position of a minimized or maximized window.

SDL_SaveAllDollarTemplates

\brief Save all currently loaded Dollar Gesture templates

SDL_SaveBMP_RW

Save a surface to a seekable SDL data stream (memory or file).

SDL_SaveDollarTemplate

\brief Save a currently loaded Dollar Gesture template

SDL_SemPost

Atomically increases the semaphore's count (not blocking).

SDL_SemTryWait

Non-blocking variant of SDL_SemWait().

SDL_SemValue

Returns the current count of the semaphore.

SDL_SemWait

This function suspends the calling thread until the semaphore pointed to by \c sem has a positive count. It then atomically decreases the semaphore count.

SDL_SemWaitTimeout

Variant of SDL_SemWait() with a timeout in milliseconds.

SDL_SensorClose

Close a sensor previously opened with SDL_SensorOpen()

SDL_SensorFromInstanceID

Return the SDL_Sensor associated with an instance id.

SDL_SensorGetData

Get the current state of an opened sensor.

SDL_SensorGetDeviceInstanceID

\brief Get the instance ID of a sensor.

SDL_SensorGetDeviceName

\brief Get the implementation dependent name of a sensor.

SDL_SensorGetDeviceNonPortableType

\brief Get the platform dependent type of a sensor.

SDL_SensorGetDeviceType

\brief Get the type of a sensor.

SDL_SensorGetInstanceID

\brief Get the instance ID of a sensor.

SDL_SensorGetName

\brief Get the implementation dependent name of a sensor.

SDL_SensorGetNonPortableType

\brief Get the platform dependent type of a sensor.

SDL_SensorGetType

\brief Get the type of a sensor.

SDL_SensorOpen

\brief Open a sensor for use.

SDL_SensorUpdate

Update the current state of the open sensors.

SDL_SetAssertionHandler

\brief Set an application-defined assertion handler.

SDL_SetClipRect

Sets the clipping rectangle for the destination surface in a blit.

SDL_SetClipboardText

\brief Put UTF-8 text into the clipboard

SDL_SetColorKey

\brief Sets the color key (transparent pixel) in a blittable surface.

SDL_SetCursor

\brief Set the active cursor.

SDL_SetError
SDL_SetEventFilter

Sets up a filter to process all events before they change internal state and are posted to the internal event queue.

SDL_SetHint

\brief Set a hint with normal priority

SDL_SetHintWithPriority

\brief Set a hint with a specific priority

SDL_SetMainReady

This is called by the real SDL main function to let the rest of the library know that initialization was done properly.

SDL_SetMemoryFunctions

\brief Replace SDL's memory allocation functions with a custom set

SDL_SetModState

\brief Set the current key modifier state for the keyboard.

SDL_SetPaletteColors

\brief Set a range of colors in a palette.

SDL_SetPixelFormatPalette

\brief Set the palette for a pixel format structure.

SDL_SetRelativeMouseMode

\brief Set relative mouse mode.

SDL_SetRenderDrawBlendMode

\brief Set the blend mode used for drawing operations (Fill and Line).

SDL_SetRenderDrawColor

\brief Set the color used for drawing operations (Rect, Line and Clear).

SDL_SetRenderTarget

\brief Set a texture as the current rendering target.

SDL_SetSurfaceAlphaMod

\brief Set an additional alpha value used in blit operations.

SDL_SetSurfaceBlendMode

\brief Set the blend mode used for blit operations.

SDL_SetSurfaceColorMod

\brief Set an additional color value used in blit operations.

SDL_SetSurfacePalette

\brief Set the palette used by a surface.

SDL_SetSurfaceRLE

\brief Sets the RLE acceleration hint for a surface.

SDL_SetTextInputRect

\brief Set the rectangle used to type Unicode text inputs. This is used as a hint for IME and on-screen keyboard placement.

SDL_SetTextureAlphaMod

\brief Set an additional alpha value used in render copy operations.

SDL_SetTextureBlendMode

\brief Set the blend mode used for texture copy operations.

SDL_SetTextureColorMod

\brief Set an additional color value used in render copy operations.

SDL_SetThreadPriority

Set the priority for the current thread

SDL_SetWindowBordered

\brief Set the border state of a window.

SDL_SetWindowBrightness

\brief Set the brightness (gamma correction) for a window.

SDL_SetWindowData

\brief Associate an arbitrary named pointer with a window.

SDL_SetWindowDisplayMode

\brief Set the display mode used when a fullscreen window is visible.

SDL_SetWindowFullscreen

\brief Set a window's fullscreen state.

SDL_SetWindowGammaRamp

\brief Set the gamma ramp for a window.

SDL_SetWindowGrab

\brief Set a window's input grab mode.

SDL_SetWindowHitTest

\brief Provide a callback that decides if a window region has special properties.

SDL_SetWindowIcon

\brief Set the icon for a window.

SDL_SetWindowInputFocus

\brief Explicitly sets input focus to the window.

SDL_SetWindowMaximumSize

\brief Set the maximum size of a window's client area.

SDL_SetWindowMinimumSize

\brief Set the minimum size of a window's client area.

SDL_SetWindowModalFor

\brief Sets the window as a modal for another window (TODO: reconsider this function and/or its name)

SDL_SetWindowOpacity

\brief Set the opacity for a window

SDL_SetWindowPosition

\brief Set the position of a window.

SDL_SetWindowResizable

\brief Set the user-resizable state of a window.

SDL_SetWindowShape

\brief Set the shape and parameters of a shaped window.

SDL_SetWindowSize

\brief Set the size of a window's client area.

SDL_SetWindowTitle

\brief Set the title of a window, in UTF-8 format.

SDL_SetYUVConversionMode

\brief Set the YUV conversion mode

SDL_ShowCursor

\brief Toggle whether or not the cursor is shown.

SDL_ShowMessageBox

\brief Create a modal message box.

SDL_ShowSimpleMessageBox

\brief Create a simple modal message box

SDL_ShowWindow

\brief Show a window.

SDL_SoftStretch

\brief Perform a fast, low quality, stretch blit between two surfaces of the same pixel format.

SDL_StartTextInput

\brief Start accepting Unicode text input events. This function will show the on-screen keyboard if supported.

SDL_StopTextInput

\brief Stop receiving any text input events. This function will hide the on-screen keyboard if supported.

SDL_TLSCreate

\brief Create an identifier that is globally visible to all threads but refers to data that is thread-specific.

SDL_TLSGet

\brief Get the value associated with a thread local storage ID for the current thread.

SDL_TLSSet

\brief Set the value associated with a thread local storage ID for the current thread.

SDL_ThreadID

Get the thread identifier for the current thread.

SDL_TryLockMutex

Try to lock the mutex

SDL_UnionRect

\brief Calculate the union of two rectangles.

SDL_UnloadObject

Unload a shared object from memory.

SDL_UnlockAudio
SDL_UnlockAudioDevice
SDL_UnlockJoysticks
SDL_UnlockMutex
SDL_UnlockSurface

\sa SDL_LockSurface()

SDL_UnlockTexture

\brief Unlock a texture, uploading the changes to video memory, if needed.

SDL_UpdateTexture

\brief Update the given texture rectangle with new pixel data.

SDL_UpdateWindowSurface

\brief Copy the window surface to the screen.

SDL_UpdateWindowSurfaceRects

\brief Copy a number of rectangles on the window surface to the screen.

SDL_UpdateYUVTexture

\brief Update a rectangle within a planar YV12 or IYUV texture with new pixel data.

SDL_UpperBlit

This is the public blit function, SDL_BlitSurface(), and it performs rectangle validation and clipping before passing it to SDL_LowerBlit()

SDL_UpperBlitScaled

This is the public scaled blit function, SDL_BlitScaled(), and it performs rectangle validation and clipping before passing it to SDL_LowerBlitScaled()

SDL_VideoInit

\brief Initialize the video subsystem, optionally specifying a video driver.

SDL_VideoQuit

\brief Shuts down the video subsystem.

SDL_Vulkan_CreateSurface

\brief Create a Vulkan rendering surface for a window.

SDL_Vulkan_GetDrawableSize

\brief Get the size of a window's underlying drawable in pixels (for use with setting viewport, scissor & etc).

SDL_Vulkan_GetInstanceExtensions

\brief Get the names of the Vulkan instance extensions needed to create a surface with \c SDL_Vulkan_CreateSurface().

SDL_Vulkan_GetVkGetInstanceProcAddr

\brief Get the address of the \c vkGetInstanceProcAddr function.

SDL_Vulkan_LoadLibrary

\brief Dynamically load a Vulkan loader library.

SDL_Vulkan_UnloadLibrary

\brief Unload the Vulkan loader library previously loaded by \c SDL_Vulkan_LoadLibrary().

SDL_WaitEvent

\brief Waits indefinitely for the next available event.

SDL_WaitEventTimeout

\brief Waits until the specified timeout (in milliseconds) for the next available event.

SDL_WaitThread

Wait for a thread to finish. Threads that haven't been detached will remain (as a "zombie") until this function cleans them up. Not doing so is a resource leak.

SDL_WarpMouseGlobal

\brief Moves the mouse to the given position in global screen space.

SDL_WarpMouseInWindow

\brief Moves the mouse to the given position within the window.

SDL_WasInit

This function returns a mask of the specified subsystems which have previously been initialized.

SDL_WriteBE16
SDL_WriteBE32
SDL_WriteBE64
SDL_WriteLE16
SDL_WriteLE32
SDL_WriteLE64
SDL_WriteU8
SDL_abs
SDL_acos
SDL_acosf
SDL_asin
SDL_asinf
SDL_atan
SDL_atan2
SDL_atan2f
SDL_atanf
SDL_atof
SDL_atoi
SDL_calloc
SDL_ceil
SDL_ceilf
SDL_copysign
SDL_copysignf
SDL_cos
SDL_cosf
SDL_exp
SDL_expf
SDL_fabs
SDL_fabsf
SDL_floor
SDL_floorf
SDL_fmod
SDL_fmodf
SDL_free
SDL_getenv
SDL_iconv
SDL_iconv_close
SDL_iconv_open
SDL_iconv_string

This function converts a string between encodings in one pass, returning a string that must be freed with SDL_free() or NULL on error.

SDL_isdigit
SDL_isspace
SDL_itoa
SDL_lltoa
SDL_log
SDL_log10
SDL_log10f
SDL_logf
SDL_ltoa
SDL_main

The prototype for the application's main() function

SDL_malloc
SDL_memcmp
SDL_memcpy
SDL_memmove
SDL_memset
SDL_pow
SDL_powf
SDL_qsort
SDL_realloc
SDL_scalbn
SDL_scalbnf
SDL_setenv
SDL_sin
SDL_sinf
SDL_snprintf
SDL_sqrt
SDL_sqrtf
SDL_sscanf
SDL_strcasecmp
SDL_strchr
SDL_strcmp
SDL_strdup
SDL_strlcat
SDL_strlcpy
SDL_strlen
SDL_strlwr
SDL_strncasecmp
SDL_strncmp
SDL_strrchr
SDL_strrev
SDL_strstr
SDL_strtod
SDL_strtol
SDL_strtoll
SDL_strtoul
SDL_strtoull
SDL_strupr
SDL_tan
SDL_tanf
SDL_tolower
SDL_toupper
SDL_uitoa
SDL_ulltoa
SDL_ultoa
SDL_utf8strlcpy
SDL_utf8strlen
SDL_vsnprintf
SDL_vsscanf
SDL_wcscmp
SDL_wcsdup
SDL_wcslcat
SDL_wcslcpy
SDL_wcslen

Type Definitions

Atom
Colormap
Display
Drawable
SDL_AssertionHandler
SDL_AudioCallback

This function is called when the audio device needs more data.

SDL_AudioDeviceID

SDL Audio Device IDs.

SDL_AudioFilter
SDL_AudioFormat

\brief Audio format flags.

SDL_AudioStream
SDL_EventFilter
SDL_FingerID
SDL_GLContext

\brief An opaque handle to an OpenGL context.

SDL_GameController
SDL_GestureID
SDL_Haptic
SDL_HintCallback

\brief type definition of the hint callback function.

SDL_HitTest

\brief Callback used for hit-testing.

SDL_Joystick
SDL_JoystickID

This is a unique ID for a joystick for the time it is connected to the system, and is never reused for the lifetime of the application. If the joystick is disconnected and reconnected, it will get a new ID.

SDL_Keycode

\brief The SDL virtual key representation.

SDL_LogOutputFunction

\brief The prototype for the log output function

SDL_Sensor
SDL_SensorID

This is a unique ID for a sensor for the time it is connected to the system, and is never reused for the lifetime of the application.

SDL_SpinLock
SDL_TLSID
SDL_ThreadFunction

The function passed to SDL_CreateThread(). It is passed a void* user context parameter and returns an int.

SDL_TimerCallback

Function prototype for the timer callback function.

SDL_TimerID

Definition of the timer ID type.

SDL_TouchID
SDL_blit

\brief The type of function used for surface blitting functions.

SDL_calloc_func
SDL_compile_time_assert_enum
SDL_compile_time_assert_sint8
SDL_compile_time_assert_sint16
SDL_compile_time_assert_sint32
SDL_compile_time_assert_sint64
SDL_compile_time_assert_uint8
SDL_compile_time_assert_uint16
SDL_compile_time_assert_uint32
SDL_compile_time_assert_uint64
SDL_free_func
SDL_iconv_t
SDL_malloc_func
SDL_realloc_func
SDL_sem
SDL_threadID
SDL_vulkanInstance
SDL_vulkanSurface
Sint16
Sint32
Sint64
Time
Uint8
Uint16
Uint32
Uint64
VkInstance
VkSurfaceKHR
XEvent
XID
__builtin_va_list
va_list
wchar_t

Unions

SDL_Event

\brief General event structure

SDL_GameControllerButtonBind__bindgen_ty_1
SDL_HapticEffect

\brief The generic template for any haptic effect.

SDL_RWops__bindgen_ty_1
SDL_SysWMinfo__bindgen_ty_1
SDL_SysWMmsg__bindgen_ty_1
SDL_WindowShapeParams

\brief A union containing parameters for shaped windows.

XClientMessageEvent__bindgen_ty_1
_XEvent