Go to file
Daniel Gibson 28b93451dc Make WinRT's SDL_main header-only
As the implementation requires C++, the user will have to include
SDL_main.h in a C++ source file (that needs to be compiled with /ZW).
It's ok to keep the standard main() implementation in plain C and use
an otherwise empty C++ source file for the SDL_main implementation part,
if both source files #include <SDL3/SDL_main.h>

Including SDL_main.h in a C source file will print a message at
compilation (when building for WinRT or possibly other not yet implemented
platforms that require C++ for main), to remind the user of also
including it in a .cpp source file. This message/warning can be disabled
with #define SDL_MAIN_NOIMPL before including SDL_main.h in the C file.
When including it in a .cpp file, there will be a compiler error with
helpful message if it's not compiled with /ZW

For this I renamend _SDL_MAIN_NOIMPL to SDL_MAIN_NOIMPL, because now it's
not for internal use only anymore, but also useful for users (that want
their main() function in a different file than the SDL_main implementation)

Add a project for the testdraw2.c test to the WinRT solution to at least
get some minimal testing on WinRT.
I won't add all tests because it's a lot of manual clicking per test,
but this should be better than nothing :)
2022-12-15 08:01:01 -08:00
.github Cancel current CI actions when a PR is updated 2022-12-04 10:05:54 -08:00
VisualC fix (hopefully) MSVC builds after gesture removal. 2022-12-14 00:50:20 +03:00
VisualC-GDK Make GDK's SDL_main header-only 2022-12-15 08:01:01 -08:00
VisualC-WinRT Make WinRT's SDL_main header-only 2022-12-15 08:01:01 -08:00
Xcode gesture: Removed the gesture API from SDL3. 2022-12-13 14:54:37 -05:00
Xcode-iOS/Demos Make iOS/tvOS (uikit) SDL_main header-only 2022-12-15 08:01:01 -08:00
android-project Removed balls from the joystick API 2022-12-05 13:17:18 -08:00
build-scripts Update for SDL3 coding style (#6717) 2022-11-30 12:51:59 -08:00
cmake Add SDL_main.h includes to tests 2022-12-15 08:01:01 -08:00
docs Make WinRT's SDL_main header-only 2022-12-15 08:01:01 -08:00
include Make WinRT's SDL_main header-only 2022-12-15 08:01:01 -08: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 Make WinRT's SDL_main header-only 2022-12-15 08:01:01 -08:00
test Make WinRT's SDL_main header-only 2022-12-15 08:01:01 -08:00
wayland-protocols wayland: Add high-resolution event timestamp support 2022-12-04 16:56:26 -08:00
.clang-format Commented out syntax that causes Visual Studio 2019 to complain on every edit 2022-12-02 00:43:01 -08:00
.editorconfig Remove sdl3.m4 and sdl3-config, and document pkg-config as the recommended replacement 2022-11-27 14:11:06 -08:00
.gitignore .gitignore: Replace all SDL2 with SDL3 2022-12-13 09:02:28 -05:00
.wikiheaders-options .wikiheaders-options: Add a warning that SDL3 is WIP. 2022-11-22 13:49:03 -05:00
Android.mk build: add symbol versioning for SDL 2022-12-02 13:05:37 -08:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05:00
CMakeLists.txt cmake: use FindALSA.cmake to find ALSA libraries 2022-12-12 01:37:01 +01:00
CREDITS.txt Use Apple's nomenclature for macOS and iOS 2022-11-25 16:00:06 -08:00
INSTALL.txt Use Apple's nomenclature for macOS and iOS 2022-11-25 16:00:06 -08:00
LICENSE.txt Updated copyright for 2022 2022-01-03 09:40:21 -08:00
Makefile.minimal First pass at changing SDL 2.0 to SDL 3.0 2022-11-21 20:28:58 -08:00
README-SDL.txt More HTTPS changes in the documentation. 2017-02-16 16:52:03 -05:00
README.md First pass at changing SDL 2.0 to SDL 3.0 2022-11-21 20:28:58 -08:00
SDL3Config.cmake.in cmake: Fix detection of ALSA::ALSA for static linking 2022-12-13 09:03:48 -05:00
TODO.txt Fixed up legacy MoinMoin URLs at wiki.libsdl.org 2021-04-01 12:20:33 -04:00
WhatsNew.txt Renamed AUDIODRIVER and VIDEODRIVER hint/env to AUDIO_DRIVER and VIDEO_DRIVER 2022-12-08 09:50:09 -05: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
sdl3.pc.in cmake: use FindALSA.cmake to find ALSA libraries 2022-12-12 01:37:01 +01: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

Enjoy!

Sam Lantinga (slouken@libsdl.org)