# SDL 3.0 API by Category

## Basics

| **View information and functions related to...** | **View the header**                                                                           |
| ------------------------------------------------ | --------------------------------------------------------------------------------------------- |
| [Application entry points](CategoryMain)         | [SDL_main.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_main.h)             |
| [Initialization and Shutdown](CategoryInit)      | [SDL_init.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_init.h)             |
| [Configuration Variables](CategoryHints)         | [SDL_hints.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_hints.h)           |
| [Object Properties](CategoryProperties)          | [SDL_properties.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_properties.h) |
| [Error Handling](CategoryError)                  | [SDL_error.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_error.h)           |
| [Log Handling](CategoryLog)                      | [SDL_log.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_log.h)               |
| [Assertions](CategoryAssert)                     | [SDL_assert.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_assert.h)         |
| [Querying SDL Version](CategoryVersion)          | [SDL_version.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_version.h)       |


## Video

| **View information and functions related to...**        | **View the header**                                                                         |
| ------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| [Display and Window Management](CategoryVideo)          | [SDL_video.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_video.h)         |
| [2D Accelerated Rendering](CategoryRender)              | [SDL_render.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_render.h)       |
| [Pixel Formats and Conversion Routines](CategoryPixels) | [SDL_pixels.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_pixels.h)       |
| [Blend modes](CategoryBlendmode)                        | [SDL_blendmode.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_blendmode.h) |
| [Rectangle Functions](CategoryRect)                     | [SDL_rect.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_rect.h)           |
| [Surface Creation and Simple Drawing](CategorySurface)  | [SDL_surface.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_surface.h)     |
| [Clipboard Handling](CategoryClipboard)                 | [SDL_clipboard.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_clipboard.h) |
| [Vulkan Support](CategoryVulkan)                        | [SDL_vulkan.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_vulkan.h)       |
| [Metal Support](CategoryMetal)                          | [SDL_metal.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL_metal.h)              |
| [Camera Support](CategoryCamera)                        | [SDL_camera.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL_camera.h)            |


## Input Events

| **View information and functions related to...** | **View the header**                                                                       |
| ------------------------------------------------ | ----------------------------------------------------------------------------------------- |
| [Event Handling](CategoryEvents)                 | [SDL_events.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_events.h)     |
| [Keyboard Support](CategoryKeyboard)             | [SDL_keyboard.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_keyboard.h) |
| [Keyboard Keycodes](CategoryKeycode)             | [SDL_keycode.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_keycode.h)   |
| [Keyboard Scancodes](CategoryScancode)           | [SDL_scancode.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_scancode.h) |
| [Mouse Support](CategoryMouse)                   | [SDL_mouse.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_mouse.h)       |
| [Joystick Support](CategoryJoystick)             | [SDL_joystick.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_joystick.h) |
| [Gamepad Support](CategoryGamepad)               | [SDL_gamepad.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_gamepad.h)   |
| [Touch Support](CategoryTouch)                   | [SDL_touch.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_touch.h)       |
| [Pen Support](CategoryPen)                       | [SDL_pen.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_pen.h)           |
| [Sensors](CategorySensor)                        | [SDL_sensor.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_sensor.h)     |
| [HIDAPI](CategoryHIDAPI)                         | [SDL_hidapi.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_hidapi.h)     |


## Force Feedback ("Haptic")

| **View information and functions related to...** | **View the header**                                                                     |
| ------------------------------------------------ | --------------------------------------------------------------------------------------- |
| [Force Feedback Support](CategoryHaptic)  | [SDL_haptic.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_haptic.h)          |


## Audio

| **View information and functions related to...**       | **View the header**                                                                     |
| ------------------------------------------------------ | --------------------------------------------------------------------------------------- |
| [Audio Playback, Recording, and Mixing](CategoryAudio) | [SDL_audio.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_audio.h)     |


## GPU

| **View information and functions related to...**  | **View the header**                                                                     |
| ------------------------------------------------- | --------------------------------------------------------------------------------------- |
| [3D Rendering and GPU Compute](CategoryGPU)       | [SDL_gpu.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_gpu.h)         |


## Threads

| **View information and functions related to...**   | **View the header**                                                                     |
| -------------------------------------------------- | --------------------------------------------------------------------------------------- |
| [Thread Management](CategoryThread)                | [SDL_thread.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_thread.h)   |
| [Thread Synchronization Primitives](CategoryMutex) | [SDL_mutex.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_mutex.h)     |
| [Atomic Operations](CategoryAtomic)                | [SDL_atomic.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_atomic.h)   |


## Time

| **View information and functions related to...** | **View the header**                                                                     |
| ------------------------------------------------ | --------------------------------------------------------------------------------------- |
| [Timer Support](CategoryTimer)                   | [SDL_timer.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_timer.h)     |
| [Date and Time](CategoryTime)                    | [SDL_time.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_time.h)       |


## File and I/O Abstractions

| **View information and functions related to...** | **View the header**                                                                           |
| ------------------------------------------------ | --------------------------------------------------------------------------------------------- |
| [Filesystem Access](CategoryFilesystem)          | [SDL_filesystem.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_filesystem.h) |
| [Storage Abstraction](CategoryStorage)           | [SDL_storage.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_storage.h)       |
| [I/O Streams](CategoryIOStream)                  | [SDL_iostream.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_iostream.h)     |
| [Async I/O](CategoryAsyncIO)                     | [SDL_asyncio.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_asyncio.h)       |


## Platform and CPU Information

| **View information and functions related to...**    | **View the header**                                                                       |
| --------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| [Platform Detection](CategoryPlatform)              | [SDL_platform.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_platform.h) |
| [CPU Feature Detection](CategoryCPUInfo)            | [SDL_cpuinfo.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_cpuinfo.h)   |
| [Compiler Intrinsics Detection](CategoryIntrinsics) | [SDL_intrin.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_intrin.h)   |
| [Byte Order and Byte Swapping](CategoryEndian)      | [SDL_endian.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_endian.h)     |
| [Bit Manipulation](CategoryBits)                    | [SDL_bits.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_bits.h)         |


## Additional Functionality

| **View information and functions related to...**     | **View the header**                                                                           |
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| [Shared Object/DLL Management](CategorySharedObject) | [SDL_loadso.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_loadso.h)         |
| [Process Control](CategoryProcess)                   | [SDL_process.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_process.h)       |
| [Power Management Status](CategoryPower)             | [SDL_power.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_power.h)           |
| [Message Boxes](CategoryMessagebox)                  | [SDL_messagebox.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_messagebox.h) |
| [File Dialogs](CategoryDialog)                       | [SDL_dialog.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_dialog.h)         |
| [System Tray](CategoryTray)                          | [SDL_tray.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_tray.h)         |
| [Locale Info](CategoryLocale)                        | [SDL_locale.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_locale.h)         |
| [Platform-specific Functionality](CategorySystem)    | [SDL_system.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_system.h)         |
| [Standard Library Functionality](CategoryStdinc)     | [SDL_stdinc.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_stdinc.h)         |
| [GUIDs](CategoryGUID)                                | [SDL_guid.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_guid.h)             |
| [Miscellaneous](CategoryMisc)                        | [SDL_misc.h](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_misc.h)             |