Simple Directmedia Layer
Go to file
Cameron Gutman 9c95c2491c x11: Use XCheckIfEvent() instead of XNextEvent() for thread-safety
A racing reader could read from our fd between SDL_IOReady()/X11_Pending()
and our call to XNextEvent() which will cause XNextEvent() to block for
more data. Avoid this by using XCheckIfEvent() which will never block.

This also fixes a bug where we could poll() for data, even when events were
already read and pending in the queue. Unlike the Wayland implementation,
this isn't totally thread-safe because nothing prevents a racing reader
from reading events into the queue between our XCheckIfEvent() and
SDL_IOReady() calls, but I think this is the best we can do with Xlib.
2021-11-08 19:17:18 -08:00
.github CI: disable fail-fast to avoid aborting build when one platform fails 2021-11-08 20:14:08 -06:00
VisualC Build hidapi code into SDL as a new public API 2021-11-07 23:00:59 -08:00
VisualC-WinRT Build hidapi code into SDL as a new public API 2021-11-07 23:00:59 -08:00
Xcode Build hidapi code into SDL as a new public API 2021-11-07 23:00:59 -08:00
Xcode-iOS Xcode-iOS Demos: Add CFBundleShortVersionString to Info.plist 2021-09-29 16:39:31 -07:00
acinclude acinclude/libtool.m4: Apply macos11 patch from libtool bug #44605 2021-01-09 00:11:20 +03:00
android-project Fixed whitespace 2021-11-07 13:17:54 -08:00
android-project-ant Added the old ant Android build project structure 2017-10-28 12:11:25 -07:00
build-scripts fnsince.pl: Don't print out the version numbers if updating the wiki. 2021-10-26 21:01:05 -04:00
cmake video: Add SDL_SetWindowMouseRect. 2021-11-08 14:16:54 -08:00
debian Updated to version 2.0.17 for development 2021-08-10 15:02:36 -07:00
docs docs: List the required Fedora packages in README-linux.md 2021-11-05 17:45:25 -07:00
include video: Add SDL_SetWindowMouseRect. 2021-11-08 14:16:54 -08:00
src x11: Use XCheckIfEvent() instead of XNextEvent() for thread-safety 2021-11-08 19:17:18 -08:00
test Added a test case for snprintf of 0.0 2021-11-07 09:39:57 -08:00
visualtest fix permissions of a few files 2021-02-22 15:44:32 +03:00
wayland-protocols wayland: Add support for text-input-unstable-v3 2021-07-29 14:43:46 -07:00
.gitignore testsurround: Add surround sound channel tester 2021-10-30 21:26:03 -07:00
Android.mk Build hidapi code into SDL as a new public API 2021-11-07 23:00:59 -08:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05:00
CMakeLists.txt video: Add SDL_SetWindowMouseRect. 2021-11-08 14:16:54 -08:00
CREDITS.txt Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
INSTALL.txt development list has moved to forum 2021-06-01 16:49:13 -07:00
LICENSE.txt license: Fixing the license file to be correctly scooped up by Github automation 2021-02-17 13:08:13 -05:00
Makefile.in configure: Fixes to make SDL link as C++ on Haiku. 2021-08-06 14:08:50 -04:00
Makefile.minimal Added a dummy sensor driver 2018-08-21 13:29:21 -07:00
Makefile.os2 os2: remove SDL_hidapi duplications in makefile, disable it in config. 2021-11-08 17:00:28 +03:00
Makefile.pandora Added a dummy sensor driver 2018-08-21 13:29:21 -07:00
Makefile.psp PSP: fixed build 2021-10-04 21:56:42 +02:00
Makefile.wiz Added a dummy sensor driver 2018-08-21 13:29:21 -07:00
README-SDL.txt More HTTPS changes in the documentation. 2017-02-16 16:52:03 -05:00
README.md Update and rename README.txt to README.md 2021-03-20 18:46:37 -04:00
SDL2.spec.in license: Fixed references to COPYING.txt that are now LICENSE.txt. 2021-02-18 11:07:26 -05:00
SDL2Config.cmake Fix Debug-only builds with CMake 2021-10-05 18:45:53 -07:00
TODO.txt Fixed up legacy MoinMoin URLs at wiki.libsdl.org 2021-04-01 12:20:33 -04:00
WhatsNew.txt Enable AAUDIO driver for Android 2021-08-10 14:50:43 -07:00
autogen.sh bump minimum required autoconf version and revise autogen.sh 2021-04-14 23:20:40 +03:00
cmake_uninstall.cmake.in Fixed bug 3867 - Can't find install_manifest.txt when running 'uninstall' target 2017-10-12 08:44:45 -07:00
configure regenerated configure script. 2021-11-09 02:30:28 +03:00
configure.ac regenerated configure script. 2021-11-09 02:30:28 +03:00
sdl2-config-version.cmake.in cmake: Forgot to add this file to revision control. 2020-02-25 14:52:03 -05:00
sdl2-config.cmake.in sdl2-config.cmake.in: Make SDL2::SDL2 work with MinGW, fixes #3665 2021-07-08 14:55:33 -07:00
sdl2-config.in build: Don't duplicate Libs in Libs.private in pkg-config file 2020-04-12 13:24:36 +01:00
sdl2.m4 acinclude & sdl2.m4 updates: 2020-12-22 17:00:28 +03:00
sdl2.pc.in rename PKG_CONFIG_LIBS_PRIV to PKGCONFIG_LIBS_PRIV 2021-04-14 21:40:50 +03:00

README.md

Simple DirectMedia Layer (SDL) Version 2.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

Enjoy!

Sam Lantinga (slouken@libsdl.org)