Go to file
Ryan C. Gordon 525919b315
rwops: Reworked RWops for SDL3.
- SDL_RWops is now an opaque struct.
- SDL_AllocRW is gone. If an app is creating a custom RWops, they pass the
  function pointers to SDL_CreateRW(), which are stored internally.
- SDL_RWclose is gone, there is only SDL_DestroyRW(), which calls the
  implementation's `->close` method before freeing other things.
- There is only one path to create and use RWops now, so we don't have to
  worry about whether `->close` will call SDL_DestroyRW, or if this will
  risk any Properties not being released, etc.
- SDL_RWFrom* still works as expected, for getting a RWops without having
  to supply your own implementation. Objects from these functions are also
  destroyed with SDL_DestroyRW.
- Lots of other cleanup and SDL3ization of the library code.
2024-03-14 19:36:08 -04:00
.github Fix SDL_LEAN_AND_MEAN build 2024-03-11 13:46:16 -07:00
VisualC Add file dialogs 2024-03-14 15:40:25 -07:00
VisualC-GDK GDK: Remove old shader sources, unify shader compilation .bats 2024-03-02 10:30:29 -08:00
VisualC-WinRT camera: Add sources to Xcode and Visual Studio projects. 2024-02-20 15:56:26 -05:00
Xcode cmake: fix empty framework prefix on MacOS 2024-03-09 08:18:47 -08:00
android-project Add flag to registerReceiver on Android 2024-03-10 09:01:07 -07:00
build-scripts Missed SDL_NumJoystickBalls() rename in SDL_migration.cocci 2024-03-10 21:31:19 -07:00
cmake cmake: we only need a C++ compiler for Android, Haiku and UWP 2024-03-11 00:27:54 +01:00
docs rwops: Reworked RWops for SDL3. 2024-03-14 19:36:08 -04:00
include rwops: Reworked RWops for SDL3. 2024-03-14 19:36:08 -04:00
mingw/pkg-support/cmake build: don't add SDL3 subfolder to include path for external projects 2022-11-27 14:33:13 -08:00
src rwops: Reworked RWops for SDL3. 2024-03-14 19:36:08 -04:00
test rwops: Reworked RWops for SDL3. 2024-03-14 19:36:08 -04:00
wayland-protocols wayland: Add cursor-shape-v1 protocol support 2024-03-12 20:54:55 -04:00
.clang-format Add 'wl_list_for_each_safe' to the clang-format macro list 2024-03-14 10:22:23 -04:00
.clang-tidy Fix size of memcpy in SDL_AudioDeviceFormatChangedAlreadyLocked 2023-08-05 14:14:45 -04:00
.editorconfig Fixed formatting for Haiku cc files 2023-01-25 03:03:41 -08:00
.gitignore GDK: Remove old shader sources, unify shader compilation .bats 2024-03-02 10:30:29 -08:00
.wikiheaders-options sdlwiki: SDL3 advises users to include through 'SDL3/SDL.h' 2023-03-21 02:19:19 +01:00
Android.mk camera: Rewrote Android support. 2024-02-20 15:56:26 -05:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05:00
CMakeLists.txt Add file dialogs 2024-03-14 15:40:25 -07:00
CREDITS.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
INSTALL.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
LICENSE.txt Updated copyright for 2024 2024-01-01 13:15:26 -08:00
README-SDL.txt More HTTPS changes in the documentation. 2017-02-16 16:52:03 -05:00
README.md docs: Convert everything to Unix-style endlines. 2023-11-29 11:29:57 -05:00
WhatsNew.txt Added the environment variable SDL_LOGGING to control default log output 2024-01-27 19:30:22 -08:00

README.md

Simple DirectMedia Layer (SDL) Version 3.0

https://www.libsdl.org/

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 and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

More extensive documentation is available in the docs directory, starting with README.md. If you are migrating to SDL 3.0 from SDL 2.0, the changes are extensively documented in README-migration.md.

Enjoy!

Sam Lantinga (slouken@libsdl.org)