# 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) | | [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) |