= Simple DirectMedia Layer 2.0 =

This is the SDL2 wiki. SDL3 is [[/SDL3|over here]]!

== What is it? ==
Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL/Direct3D/Metal/Vulkan. It is used by video playback software, emulators, and popular games including [http://valvesoftware.com Valve]'s award winning catalog and many [https://www.humblebundle.com Humble Bundle] games.

SDL officially supports Windows, macOS, Linux, iOS, and Android. Support for other platforms may be found in the source code.

SDL is written in C, works natively with C++, and there are bindings available for several other languages, including C# and Python.

SDL 2.0 is distributed under the [https://www.libsdl.org/license.php zlib license]. This license allows you to use SDL freely in any software.

This is the SDL wiki; SDL's main website is [https://libsdl.org/ libsdl.org].

This wiki is your portal to documentation and other resources for SDL 2.0.

== Using the SDL documentation Wiki ==

* [[Introduction]]
*: An introduction to the features in SDL 2.0.<br/>Includes a Migration Guide from 1.2 to 2.0!
* [[SourceCode|Source Code]]
*: How to download the source code to SDL.
* [[Installation]]
*: How to install SDL on your platform of choice and link your program against it.
* API reference by name ([[CategoryAPI|Functions]], [[CategoryAPIStruct|Structures]], and [[CategoryAPIEnum|Enumerations]]) or [[APIByCategory|by Category]]
*: The official documentation for the API.  Look here to find detailed information about the functions, structures, and enumerations.
* [[Tutorials]]
*: Want to learn about a feature in SDL you haven't used before?  Here's a great place to get started!
* [[Articles]]
*: A sampling of the articles that have been written about SDL.
* [[Libraries]]
*: Additional libraries to extend SDL functionality.
* [[Books]]
*: Looking for more information than you can get online?  Check out the books listed here.
* [[FAQs]]
*: A few of the most commonly asked questions about using SDL are answered here.
* [https://discord.gg/BwpFGBWsv8 Discord Server]
*: Feel free to ask questions and talk with other developers using SDL2 via discord.
* [https://discourse.libsdl.org/ Forums]
*: A great place to keep up with the latest news, help other users out, and ask questions.
* [[Contributing]]
*: Users wishing to contribute content to the wiki should follow the guidelines provided in this guide.

== API References ==
* [[APIByCategory| API by category]]
* [[CategoryAPI| Complete API index]]
* [[CategoryAPIFunction| All functions]]
* [[CategoryAPIStruct| All structures/unions]]
* [[CategoryAPIEnum| All enums]]
* [[CategoryAPIMacro| All macros]]

We hope you find everything you are looking for and enjoy using SDL.  If anything is not addressed somewhere here, feel free to [https://github.com/libsdl-org/SDL/issues open an issue] or [https://github.com/libsdl-org/SDL/pulls submit a pull request].

'''Enjoy!'''