├── .clang-format ├── .clang-tidy ├── .editorconfig ├── .github ├── PULL_REQUEST_TEMPLATE.md ├── actions │ ├── setup-gdk-desktop │ │ └── action.yml │ ├── setup-loongarch64-toolchain │ │ └── action.yml │ ├── setup-msvc-libusb │ │ └── action.yml │ ├── setup-ngage-sdk │ │ └── action.yml │ ├── setup-ninja │ │ └── action.yml │ └── setup-vita-gles │ │ └── action.yml ├── cmake │ └── CMakeLists.txt └── workflows │ ├── build.yml │ ├── create-test-plan.py │ ├── generic.yml │ └── release.yml ├── .gitignore ├── .wikiheaders-options ├── Android.mk ├── BUGS.txt ├── CMakeLists.txt ├── CREDITS.md ├── INSTALL.md ├── LICENSE.txt ├── README.md ├── VisualC-GDK ├── SDL.sln ├── SDL │ ├── SDL.vcxproj │ └── SDL.vcxproj.filters ├── SDL_test │ └── SDL_test.vcxproj ├── clean.sh ├── logos │ ├── Logo100x100.png │ ├── Logo150x150.png │ ├── Logo44x44.png │ ├── Logo480x480.png │ └── SplashScreenImage.png └── tests │ ├── testcontroller │ ├── PackageLayout.xml │ ├── testcontroller.vcxproj │ ├── testcontroller.vcxproj.filters │ ├── wingdk │ │ └── MicrosoftGame.config │ ├── xboxone │ │ └── MicrosoftGame.config │ └── xboxseries │ │ └── MicrosoftGame.config │ ├── testgdk │ ├── PackageLayout.xml │ ├── src │ │ └── testgdk.cpp │ ├── testgdk.vcxproj │ ├── testgdk.vcxproj.filters │ ├── wingdk │ │ └── MicrosoftGame.config │ ├── xboxone │ │ └── MicrosoftGame.config │ └── xboxseries │ │ └── MicrosoftGame.config │ └── testsprite │ ├── PackageLayout.xml │ ├── testsprite.vcxproj │ ├── testsprite.vcxproj.filters │ ├── wingdk │ └── MicrosoftGame.config │ ├── xboxone │ └── MicrosoftGame.config │ └── xboxseries │ └── MicrosoftGame.config ├── VisualC ├── SDL.sln ├── SDL │ ├── Directory.Build.props │ ├── SDL.vcxproj │ └── SDL.vcxproj.filters ├── SDL_test │ ├── Directory.Build.props │ └── SDL_test.vcxproj ├── VisualC │ └── examples │ │ ├── audio │ │ ├── 01-simple-playback │ │ │ └── 01-simple-playback.vcxproj │ │ ├── 02-simple-playback-callback │ │ │ └── 02-simple-playback-callback.vcxproj │ │ └── 03-load-wav │ │ │ └── 03-load-wav.vcxproj │ │ ├── camera │ │ └── 01-read-and-draw │ │ │ └── 01-read-and-draw.vcxproj │ │ ├── game │ │ └── 01-snake │ │ │ └── 01-snake.vcxproj │ │ ├── pen │ │ └── 01-drawing-lines │ │ │ └── 01-drawing-lines.vcxproj │ │ └── renderer │ │ ├── 01-clear │ │ └── 01-clear.vcxproj │ │ ├── 02-primitives │ │ └── 02-primitives.vcxproj │ │ ├── 03-lines │ │ └── 03-lines.vcxproj │ │ ├── 04-points │ │ └── 04-points.vcxproj │ │ ├── 05-rectangles │ │ └── 05-rectangles.vcxproj │ │ ├── 06-textures │ │ └── 06-textures.vcxproj │ │ ├── 07-streaming-textures │ │ └── 07-streaming-textures.vcxproj │ │ ├── 08-rotating-textures │ │ └── 08-rotating-textures.vcxproj │ │ ├── 09-scaling-textures │ │ └── 09-scaling-textures.vcxproj │ │ ├── 10-geometry │ │ └── 10-geometry.vcxproj │ │ ├── 11-color-mods │ │ └── 11-color-mods.vcxproj │ │ ├── 14-viewport │ │ └── 14-viewport.vcxproj │ │ ├── 15-cliprect │ │ └── 15-cliprect.vcxproj │ │ ├── 17-read-pixels │ │ └── 17-read-pixels.vcxproj │ │ └── 18-debug-text │ │ └── 18-debug-text.vcxproj ├── clean.sh ├── examples │ ├── Directory.Build.props │ ├── asyncio │ │ └── 01-load-bitmaps │ │ │ └── 01-load-bitmaps.vcxproj │ ├── audio │ │ ├── 01-simple-playback │ │ │ └── 01-simple-playback.vcxproj │ │ ├── 02-simple-playback-callback │ │ │ └── 02-simple-playback-callback.vcxproj │ │ ├── 03-load-wav │ │ │ └── 03-load-wav.vcxproj │ │ └── 04-multiple-streams │ │ │ └── 04-multiple-streams.vcxproj │ ├── camera │ │ └── 01-read-and-draw │ │ │ └── 01-read-and-draw.vcxproj │ ├── demo │ │ ├── 01-snake │ │ │ └── 01-snake.vcxproj │ │ ├── 02-woodeneye-008 │ │ │ └── 02-woodeneye-008.vcxproj │ │ ├── 03-infinite-monkeys │ │ │ └── 03-infinite-monkeys.vcxproj │ │ └── 04-bytepusher │ │ │ └── 04-bytepusher.vcxproj │ ├── generate.py │ ├── input │ │ ├── 01-joystick-polling │ │ │ └── 01-joystick-polling.vcxproj │ │ └── 02-joystick-events │ │ │ └── 02-joystick-events.vcxproj │ ├── pen │ │ └── 01-drawing-lines │ │ │ └── 01-drawing-lines.vcxproj │ └── renderer │ │ ├── 01-clear │ │ └── 01-clear.vcxproj │ │ ├── 02-primitives │ │ └── 02-primitives.vcxproj │ │ ├── 03-lines │ │ └── 03-lines.vcxproj │ │ ├── 04-points │ │ └── 04-points.vcxproj │ │ ├── 05-rectangles │ │ └── 05-rectangles.vcxproj │ │ ├── 06-textures │ │ └── 06-textures.vcxproj │ │ ├── 07-streaming-textures │ │ └── 07-streaming-textures.vcxproj │ │ ├── 08-rotating-textures │ │ └── 08-rotating-textures.vcxproj │ │ ├── 09-scaling-textures │ │ └── 09-scaling-textures.vcxproj │ │ ├── 10-geometry │ │ └── 10-geometry.vcxproj │ │ ├── 11-color-mods │ │ └── 11-color-mods.vcxproj │ │ ├── 14-viewport │ │ └── 14-viewport.vcxproj │ │ ├── 15-cliprect │ │ └── 15-cliprect.vcxproj │ │ ├── 17-read-pixels │ │ └── 17-read-pixels.vcxproj │ │ ├── 18-debug-text │ │ └── 18-debug-text.vcxproj │ │ └── 19-affine-textures │ │ └── 19-affine-textures.vcxproj └── tests │ ├── checkkeys │ └── checkkeys.vcxproj │ ├── loopwave │ └── loopwave.vcxproj │ ├── testatomic │ └── testatomic.vcxproj │ ├── testautomation │ └── testautomation.vcxproj │ ├── testcontroller │ └── testcontroller.vcxproj │ ├── testdialog │ └── testdialog.vcxproj │ ├── testdraw │ └── testdraw.vcxproj │ ├── testfile │ └── testfile.vcxproj │ ├── testgl │ └── testgl.vcxproj │ ├── testgles2 │ └── testgles2.vcxproj │ ├── testoverlay │ └── testoverlay.vcxproj │ ├── testpen │ └── testpen.vcxproj │ ├── testplatform │ └── testplatform.vcxproj │ ├── testpower │ └── testpower.vcxproj │ ├── testrendertarget │ └── testrendertarget.vcxproj │ ├── testrumble │ └── testrumble.vcxproj │ ├── testscale │ └── testscale.vcxproj │ ├── testsensor │ └── testsensor.vcxproj │ ├── testshape │ └── testshape.vcxproj │ ├── testsprite │ └── testsprite.vcxproj │ ├── testsurround │ └── testsurround.vcxproj │ ├── testvulkan │ └── testvulkan.vcxproj │ ├── testwm │ └── testwm.vcxproj │ └── testyuv │ └── testyuv.vcxproj ├── WhatsNew.txt ├── Xcode ├── SDL │ ├── Info-Framework.plist │ ├── SDL.xcodeproj │ │ └── project.pbxproj │ ├── SDL3 │ │ └── Info.plist │ ├── config.xcconfig │ └── pkg-support │ │ ├── SDL.info │ │ ├── build.xcconfig │ │ ├── resources │ │ ├── CMake │ │ │ ├── SDL3Config.cmake │ │ │ └── SDL3ConfigVersion.cmake │ │ ├── INSTALL.md │ │ ├── SDL_DS_Store │ │ └── framework │ │ │ └── INSTALL.md │ │ ├── sdl_logo.pdf │ │ └── share │ │ └── cmake │ │ └── SDL3 │ │ ├── SDL3Config.cmake │ │ └── SDL3ConfigVersion.cmake ├── SDLTest │ ├── SDLTest.xcodeproj │ │ └── project.pbxproj │ └── config.xcconfig └── XcodeDocSet │ └── Doxyfile ├── android-project ├── app │ ├── build.gradle │ ├── jni │ │ ├── Android.mk │ │ ├── Application.mk │ │ ├── CMakeLists.txt │ │ └── src │ │ │ ├── Android.mk │ │ │ ├── CMakeLists.txt │ │ │ └── YourSourceHere.c │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── org │ │ │ └── libsdl │ │ │ └── app │ │ │ ├── HIDDevice.java │ │ │ ├── HIDDeviceBLESteamController.java │ │ │ ├── HIDDeviceManager.java │ │ │ ├── HIDDeviceUSB.java │ │ │ ├── SDL.java │ │ │ ├── SDLActivity.java │ │ │ ├── SDLAudioManager.java │ │ │ ├── SDLControllerManager.java │ │ │ ├── SDLDummyEdit.java │ │ │ ├── SDLInputConnection.java │ │ │ └── SDLSurface.java │ │ └── res │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── build-scripts ├── SDL_migration.cocci ├── add-source-to-projects.pl ├── androidbuildlibs.sh ├── build-release.py ├── build-web-examples.pl ├── casefolding.txt ├── check_android_jni.py ├── check_stdlib_usage.py ├── clang-format-src.sh ├── cmake-toolchain-mingw64-i686.cmake ├── cmake-toolchain-mingw64-x86_64.cmake ├── cmake-toolchain-qnx-aarch64le.cmake ├── cmake-toolchain-qnx-x86_64.cmake ├── codechecker-buildbot.sh ├── create-android-project.py ├── create-release.py ├── fnsince.pl ├── gen_audio_channel_conversion.c ├── git-pre-push-hook.pl ├── makecasefoldhashtable.pl ├── mkinstalldirs ├── pkg-support │ ├── android │ │ ├── INSTALL.md.in │ │ └── aar │ │ │ ├── __main__.py.in │ │ │ ├── cmake │ │ │ ├── SDL3Config.cmake │ │ │ └── SDL3ConfigVersion.cmake.in │ │ │ └── description.json.in │ ├── mingw │ │ ├── INSTALL.md.in │ │ ├── Makefile │ │ └── cmake │ │ │ ├── SDL3Config.cmake │ │ │ └── SDL3ConfigVersion.cmake │ ├── msvc │ │ ├── Directory.Build.props │ │ ├── INSTALL.md.in │ │ ├── arm64 │ │ │ └── INSTALL.md.in │ │ ├── cmake │ │ │ ├── SDL3Config.cmake.in │ │ │ └── SDL3ConfigVersion.cmake.in │ │ ├── x64 │ │ │ └── INSTALL.md.in │ │ └── x86 │ │ │ └── INSTALL.md.in │ └── source │ │ ├── SDL_revision.h.cmake.in │ │ └── SDL_revision.h.in ├── release-info.json ├── rename_api.py ├── rename_headers.py ├── rename_macros.py ├── rename_symbols.py ├── rename_types.py ├── setup-gdk-desktop.py ├── showrev.sh ├── strip_fPIC.sh ├── test-versioning.sh ├── update-copyright.sh ├── update-version.sh ├── updaterev.sh └── wikiheaders.pl ├── cmake ├── 3rdparty.cmake ├── CPackProjectConfig.cmake.in ├── FindFFmpeg.cmake ├── FindLibUSB.cmake ├── GetGitRevisionDescription.cmake ├── GetGitRevisionDescription.cmake.in ├── PkgConfigHelper.cmake ├── PreseedEmscriptenCache.cmake ├── PreseedMSVCCache.cmake ├── PreseedNokiaNGageCache.cmake ├── SDL3Config.cmake.in ├── SDL3jarTargets.cmake.in ├── android │ ├── FindSdlAndroid.cmake │ ├── FindSdlAndroidBuildTools.cmake │ ├── FindSdlAndroidPlatform.cmake │ ├── SdlAndroidFunctions.cmake │ └── SdlAndroidScript.cmake ├── cmake_uninstall.cmake.in ├── macros.cmake ├── sdl3.pc.in ├── sdlchecks.cmake ├── sdlcommands.cmake ├── sdlcompilers.cmake ├── sdlcpu.cmake ├── sdlmanpages.cmake ├── sdlplatform.cmake ├── test │ ├── CMakeLists.txt │ ├── inc_sdl_slash.c │ ├── main.swift │ ├── main_cli.c │ ├── main_gui.c │ ├── main_lib.c │ ├── sdltest.c │ ├── swift │ │ ├── module.modulemap │ │ └── shim.h │ └── test_pkgconfig.sh └── xxd.py ├── docs ├── INTRO-androidstudio.md ├── INTRO-cmake.md ├── INTRO-emscripten.md ├── INTRO-mingw.md ├── INTRO-visualstudio.md ├── INTRO-xcode.md ├── README-android.md ├── README-bsd.md ├── README-cmake.md ├── README-contributing.md ├── README-documentation-rules.md ├── README-dynapi.md ├── README-emscripten.md ├── README-gdk.md ├── README-haiku.md ├── README-highdpi.md ├── README-ios.md ├── README-kmsbsd.md ├── README-linux.md ├── README-macos.md ├── README-main-functions.md ├── README-migration.md ├── README-n3ds.md ├── README-ngage.md ├── README-platforms.md ├── README-porting.md ├── README-ps2.md ├── README-ps4.md ├── README-ps5.md ├── README-psp.md ├── README-riscos.md ├── README-steamos.md ├── README-strings.md ├── README-switch.md ├── README-touch.md ├── README-versions.md ├── README-vita.md ├── README-wayland.md ├── README-windows.md ├── README.md ├── doxyfile ├── hello.c └── release_checklist.md ├── examples ├── CMakeLists.txt ├── README.md ├── asyncio │ ├── 01-load-bitmaps │ │ ├── README.txt │ │ ├── load-bitmaps.c │ │ └── thumbnail.png │ └── description.txt ├── audio │ ├── 01-simple-playback │ │ ├── README.txt │ │ └── simple-playback.c │ ├── 02-simple-playback-callback │ │ ├── README.txt │ │ └── simple-playback-callback.c │ ├── 03-load-wav │ │ ├── README.txt │ │ └── load-wav.c │ ├── 04-multiple-streams │ │ ├── README.txt │ │ └── multiple-streams.c │ ├── 05-planar-data │ │ ├── README.txt │ │ ├── onmouseover.webp │ │ ├── planar-data.c │ │ └── thumbnail.png │ ├── onmouseover.webp │ └── thumbnail.png ├── camera │ └── 01-read-and-draw │ │ ├── README.txt │ │ ├── onmouseover.webp │ │ ├── read-and-draw.c │ │ └── thumbnail.png ├── categories.txt ├── demo │ ├── 01-snake │ │ ├── README.txt │ │ ├── onmouseover.webp │ │ ├── snake.c │ │ └── thumbnail.png │ ├── 02-woodeneye-008 │ │ ├── README.txt │ │ ├── onmouseover.webp │ │ ├── thumbnail.png │ │ └── woodeneye-008.c │ ├── 03-infinite-monkeys │ │ ├── README.txt │ │ ├── infinite-monkeys.c │ │ ├── onmouseover.webp │ │ └── thumbnail.png │ ├── 04-bytepusher │ │ ├── README.txt │ │ ├── bytepusher.c │ │ ├── onmouseover.webp │ │ └── thumbnail.png │ └── description.txt ├── highlight-plugin.lua ├── input │ ├── 01-joystick-polling │ │ ├── README.txt │ │ ├── joystick-polling.c │ │ ├── onmouseover.webp │ │ └── thumbnail.png │ └── 02-joystick-events │ │ ├── README.txt │ │ ├── joystick-events.c │ │ ├── onmouseover.webp │ │ └── thumbnail.png ├── pen │ └── 01-drawing-lines │ │ ├── README.txt │ │ ├── drawing-lines.c │ │ ├── onmouseover.webp │ │ └── thumbnail.png ├── renderer │ ├── 01-clear │ │ ├── README.txt │ │ ├── clear.c │ │ ├── onmouseover.webp │ │ └── thumbnail.png │ ├── 02-primitives │ │ ├── README.txt │ │ ├── primitives.c │ │ └── thumbnail.png │ ├── 03-lines │ │ ├── README.txt │ │ ├── lines.c │ │ ├── onmouseover.webp │ │ └── thumbnail.png │ ├── 04-points │ │ ├── README.txt │ │ ├── onmouseover.webp │ │ ├── points.c │ │ └── thumbnail.png │ ├── 05-rectangles │ │ ├── README.txt │ │ ├── onmouseover.webp │ │ ├── rectangles.c │ │ └── thumbnail.png │ ├── 06-textures │ │ ├── README.txt │ │ ├── onmouseover.webp │ │ ├── textures.c │ │ └── thumbnail.png │ ├── 07-streaming-textures │ │ ├── README.txt │ │ ├── onmouseover.webp │ │ ├── streaming-textures.c │ │ └── thumbnail.png │ ├── 08-rotating-textures │ │ ├── README.txt │ │ ├── onmouseover.webp │ │ ├── rotating-textures.c │ │ └── thumbnail.png │ ├── 09-scaling-textures │ │ ├── README.txt │ │ ├── onmouseover.webp │ │ ├── scaling-textures.c │ │ └── thumbnail.png │ ├── 10-geometry │ │ ├── README.txt │ │ ├── geometry.c │ │ ├── onmouseover.webp │ │ └── thumbnail.png │ ├── 11-color-mods │ │ ├── README.txt │ │ ├── color-mods.c │ │ ├── onmouseover.webp │ │ └── thumbnail.png │ ├── 14-viewport │ │ ├── README.txt │ │ ├── thumbnail.png │ │ └── viewport.c │ ├── 15-cliprect │ │ ├── README.txt │ │ ├── cliprect.c │ │ ├── onmouseover.webp │ │ └── thumbnail.png │ ├── 17-read-pixels │ │ ├── README.txt │ │ ├── onmouseover.webp │ │ ├── read-pixels.c │ │ └── thumbnail.png │ ├── 18-debug-text │ │ ├── README.txt │ │ ├── debug-text.c │ │ └── thumbnail.png │ └── 19-affine-textures │ │ ├── README.txt │ │ ├── affine-textures.c │ │ ├── onmouseover.webp │ │ └── thumbnail.png ├── template-category.html ├── template-homepage.html ├── template-placeholder.png ├── template.c ├── template.css └── template.html ├── include ├── SDL3 │ ├── SDL.h │ ├── SDL_assert.h │ ├── SDL_asyncio.h │ ├── SDL_atomic.h │ ├── SDL_audio.h │ ├── SDL_begin_code.h │ ├── SDL_bits.h │ ├── SDL_blendmode.h │ ├── SDL_camera.h │ ├── SDL_clipboard.h │ ├── SDL_close_code.h │ ├── SDL_copying.h │ ├── SDL_cpuinfo.h │ ├── SDL_dialog.h │ ├── SDL_egl.h │ ├── SDL_endian.h │ ├── SDL_error.h │ ├── SDL_events.h │ ├── SDL_filesystem.h │ ├── SDL_gamepad.h │ ├── SDL_gpu.h │ ├── SDL_guid.h │ ├── SDL_haptic.h │ ├── SDL_hidapi.h │ ├── SDL_hints.h │ ├── SDL_init.h │ ├── SDL_intrin.h │ ├── SDL_iostream.h │ ├── SDL_joystick.h │ ├── SDL_keyboard.h │ ├── SDL_keycode.h │ ├── SDL_loadso.h │ ├── SDL_locale.h │ ├── SDL_log.h │ ├── SDL_main.h │ ├── SDL_main_impl.h │ ├── SDL_messagebox.h │ ├── SDL_metal.h │ ├── SDL_misc.h │ ├── SDL_mouse.h │ ├── SDL_mutex.h │ ├── SDL_oldnames.h │ ├── SDL_opengl.h │ ├── SDL_opengl_glext.h │ ├── SDL_opengles.h │ ├── SDL_opengles2.h │ ├── SDL_opengles2_gl2.h │ ├── SDL_opengles2_gl2ext.h │ ├── SDL_opengles2_gl2platform.h │ ├── SDL_opengles2_khrplatform.h │ ├── SDL_pen.h │ ├── SDL_pixels.h │ ├── SDL_platform.h │ ├── SDL_platform_defines.h │ ├── SDL_power.h │ ├── SDL_process.h │ ├── SDL_properties.h │ ├── SDL_rect.h │ ├── SDL_render.h │ ├── SDL_revision.h │ ├── SDL_scancode.h │ ├── SDL_sensor.h │ ├── SDL_stdinc.h │ ├── SDL_storage.h │ ├── SDL_surface.h │ ├── SDL_system.h │ ├── SDL_test.h │ ├── SDL_test_assert.h │ ├── SDL_test_common.h │ ├── SDL_test_compare.h │ ├── SDL_test_crc32.h │ ├── SDL_test_font.h │ ├── SDL_test_fuzzer.h │ ├── SDL_test_harness.h │ ├── SDL_test_log.h │ ├── SDL_test_md5.h │ ├── SDL_test_memory.h │ ├── SDL_thread.h │ ├── SDL_time.h │ ├── SDL_timer.h │ ├── SDL_touch.h │ ├── SDL_tray.h │ ├── SDL_version.h │ ├── SDL_video.h │ └── SDL_vulkan.h └── build_config │ ├── SDL_build_config.h │ ├── SDL_build_config.h.cmake │ ├── SDL_build_config_android.h │ ├── SDL_build_config_ios.h │ ├── SDL_build_config_macos.h │ ├── SDL_build_config_minimal.h │ ├── SDL_build_config_windows.h │ ├── SDL_build_config_wingdk.h │ ├── SDL_build_config_xbox.h │ └── SDL_revision.h.cmake ├── src ├── SDL.c ├── SDL_assert.c ├── SDL_assert_c.h ├── SDL_error.c ├── SDL_error_c.h ├── SDL_guid.c ├── SDL_hashtable.c ├── SDL_hashtable.h ├── SDL_hints.c ├── SDL_hints_c.h ├── SDL_internal.h ├── SDL_list.c ├── SDL_list.h ├── SDL_log.c ├── SDL_log_c.h ├── SDL_properties.c ├── SDL_properties_c.h ├── SDL_utils.c ├── SDL_utils_c.h ├── atomic │ ├── SDL_atomic.c │ └── SDL_spinlock.c ├── audio │ ├── SDL_audio.c │ ├── SDL_audio_c.h │ ├── SDL_audio_channel_converters.h │ ├── SDL_audiocvt.c │ ├── SDL_audiodev.c │ ├── SDL_audiodev_c.h │ ├── SDL_audioqueue.c │ ├── SDL_audioqueue.h │ ├── SDL_audioresample.c │ ├── SDL_audioresample.h │ ├── SDL_audiotypecvt.c │ ├── SDL_mixer.c │ ├── SDL_sysaudio.h │ ├── SDL_wave.c │ ├── SDL_wave.h │ ├── aaudio │ │ ├── SDL_aaudio.c │ │ ├── SDL_aaudio.h │ │ └── SDL_aaudiofuncs.h │ ├── alsa │ │ ├── SDL_alsa_audio.c │ │ └── SDL_alsa_audio.h │ ├── coreaudio │ │ ├── SDL_coreaudio.h │ │ └── SDL_coreaudio.m │ ├── directsound │ │ ├── SDL_directsound.c │ │ └── SDL_directsound.h │ ├── disk │ │ ├── SDL_diskaudio.c │ │ └── SDL_diskaudio.h │ ├── dsp │ │ ├── SDL_dspaudio.c │ │ └── SDL_dspaudio.h │ ├── dummy │ │ ├── SDL_dummyaudio.c │ │ └── SDL_dummyaudio.h │ ├── emscripten │ │ ├── SDL_emscriptenaudio.c │ │ └── SDL_emscriptenaudio.h │ ├── haiku │ │ ├── SDL_haikuaudio.cc │ │ └── SDL_haikuaudio.h │ ├── jack │ │ ├── SDL_jackaudio.c │ │ └── SDL_jackaudio.h │ ├── n3ds │ │ ├── SDL_n3dsaudio.c │ │ └── SDL_n3dsaudio.h │ ├── netbsd │ │ ├── SDL_netbsdaudio.c │ │ └── SDL_netbsdaudio.h │ ├── ngage │ │ ├── SDL_ngageaudio.c │ │ ├── SDL_ngageaudio.cpp │ │ ├── SDL_ngageaudio.h │ │ └── SDL_ngageaudio.hpp │ ├── openslES │ │ ├── SDL_openslES.c │ │ └── SDL_openslES.h │ ├── pipewire │ │ ├── SDL_pipewire.c │ │ └── SDL_pipewire.h │ ├── ps2 │ │ ├── SDL_ps2audio.c │ │ └── SDL_ps2audio.h │ ├── psp │ │ ├── SDL_pspaudio.c │ │ └── SDL_pspaudio.h │ ├── pulseaudio │ │ ├── SDL_pulseaudio.c │ │ └── SDL_pulseaudio.h │ ├── qnx │ │ ├── SDL_qsa_audio.c │ │ └── SDL_qsa_audio.h │ ├── sndio │ │ ├── SDL_sndioaudio.c │ │ └── SDL_sndioaudio.h │ ├── vita │ │ ├── SDL_vitaaudio.c │ │ └── SDL_vitaaudio.h │ └── wasapi │ │ ├── SDL_wasapi.c │ │ └── SDL_wasapi.h ├── camera │ ├── SDL_camera.c │ ├── SDL_camera_c.h │ ├── SDL_syscamera.h │ ├── android │ │ └── SDL_camera_android.c │ ├── coremedia │ │ └── SDL_camera_coremedia.m │ ├── dummy │ │ └── SDL_camera_dummy.c │ ├── emscripten │ │ └── SDL_camera_emscripten.c │ ├── mediafoundation │ │ └── SDL_camera_mediafoundation.c │ ├── pipewire │ │ └── SDL_camera_pipewire.c │ ├── v4l2 │ │ └── SDL_camera_v4l2.c │ └── vita │ │ └── SDL_camera_vita.c ├── core │ ├── SDL_core_unsupported.c │ ├── android │ │ ├── SDL_android.c │ │ └── SDL_android.h │ ├── freebsd │ │ ├── SDL_evdev_kbd_default_keyaccmap.h │ │ └── SDL_evdev_kbd_freebsd.c │ ├── gdk │ │ ├── SDL_gdk.cpp │ │ └── SDL_gdk.h │ ├── haiku │ │ ├── SDL_BApp.h │ │ ├── SDL_BeApp.cc │ │ └── SDL_BeApp.h │ ├── linux │ │ ├── SDL_dbus.c │ │ ├── SDL_dbus.h │ │ ├── SDL_evdev.c │ │ ├── SDL_evdev.h │ │ ├── SDL_evdev_capabilities.c │ │ ├── SDL_evdev_capabilities.h │ │ ├── SDL_evdev_kbd.c │ │ ├── SDL_evdev_kbd.h │ │ ├── SDL_evdev_kbd_default_accents.h │ │ ├── SDL_evdev_kbd_default_keymap.h │ │ ├── SDL_fcitx.c │ │ ├── SDL_fcitx.h │ │ ├── SDL_ibus.c │ │ ├── SDL_ibus.h │ │ ├── SDL_ime.c │ │ ├── SDL_ime.h │ │ ├── SDL_progressbar.c │ │ ├── SDL_progressbar.h │ │ ├── SDL_system_theme.c │ │ ├── SDL_system_theme.h │ │ ├── SDL_threadprio.c │ │ ├── SDL_udev.c │ │ └── SDL_udev.h │ ├── ngage │ │ ├── SDL_ngage.cpp │ │ └── SDL_ngage.h │ ├── openbsd │ │ ├── SDL_wscons.h │ │ ├── SDL_wscons_kbd.c │ │ └── SDL_wscons_mouse.c │ ├── unix │ │ ├── SDL_appid.c │ │ ├── SDL_appid.h │ │ ├── SDL_poll.c │ │ └── SDL_poll.h │ └── windows │ │ ├── SDL_directx.h │ │ ├── SDL_gameinput.cpp │ │ ├── SDL_gameinput.h │ │ ├── SDL_hid.c │ │ ├── SDL_hid.h │ │ ├── SDL_immdevice.c │ │ ├── SDL_immdevice.h │ │ ├── SDL_windows.c │ │ ├── SDL_windows.h │ │ ├── SDL_xinput.c │ │ ├── SDL_xinput.h │ │ ├── pch.c │ │ ├── pch_cpp.cpp │ │ └── version.rc ├── cpuinfo │ ├── SDL_cpuinfo.c │ └── SDL_cpuinfo_c.h ├── dialog │ ├── SDL_dialog.c │ ├── SDL_dialog.h │ ├── SDL_dialog_utils.c │ ├── SDL_dialog_utils.h │ ├── android │ │ └── SDL_androiddialog.c │ ├── cocoa │ │ └── SDL_cocoadialog.m │ ├── dummy │ │ └── SDL_dummydialog.c │ ├── haiku │ │ └── SDL_haikudialog.cc │ ├── unix │ │ ├── SDL_portaldialog.c │ │ ├── SDL_portaldialog.h │ │ ├── SDL_unixdialog.c │ │ ├── SDL_zenitydialog.c │ │ └── SDL_zenitydialog.h │ └── windows │ │ └── SDL_windowsdialog.c ├── dynapi │ ├── SDL_dynapi.c │ ├── SDL_dynapi.h │ ├── SDL_dynapi.sym │ ├── SDL_dynapi_overrides.h │ ├── SDL_dynapi_procs.h │ ├── SDL_dynapi_unsupported.h │ └── gendynapi.py ├── events │ ├── SDL_categories.c │ ├── SDL_categories_c.h │ ├── SDL_clipboardevents.c │ ├── SDL_clipboardevents_c.h │ ├── SDL_displayevents.c │ ├── SDL_displayevents_c.h │ ├── SDL_dropevents.c │ ├── SDL_dropevents_c.h │ ├── SDL_events.c │ ├── SDL_events_c.h │ ├── SDL_eventwatch.c │ ├── SDL_eventwatch_c.h │ ├── SDL_keyboard.c │ ├── SDL_keyboard_c.h │ ├── SDL_keymap.c │ ├── SDL_keymap_c.h │ ├── SDL_keysym_to_keycode.c │ ├── SDL_keysym_to_keycode_c.h │ ├── SDL_keysym_to_scancode.c │ ├── SDL_keysym_to_scancode_c.h │ ├── SDL_mouse.c │ ├── SDL_mouse_c.h │ ├── SDL_pen.c │ ├── SDL_pen_c.h │ ├── SDL_quit.c │ ├── SDL_scancode_tables.c │ ├── SDL_scancode_tables_c.h │ ├── SDL_touch.c │ ├── SDL_touch_c.h │ ├── SDL_windowevents.c │ ├── SDL_windowevents_c.h │ ├── blank_cursor.h │ ├── default_cursor.h │ ├── imKStoUCS.c │ ├── imKStoUCS.h │ ├── scancodes_darwin.h │ ├── scancodes_linux.h │ ├── scancodes_windows.h │ └── scancodes_xfree86.h ├── filesystem │ ├── SDL_filesystem.c │ ├── SDL_filesystem_c.h │ ├── SDL_sysfilesystem.h │ ├── android │ │ └── SDL_sysfilesystem.c │ ├── cocoa │ │ └── SDL_sysfilesystem.m │ ├── dummy │ │ ├── SDL_sysfilesystem.c │ │ └── SDL_sysfsops.c │ ├── emscripten │ │ └── SDL_sysfilesystem.c │ ├── gdk │ │ └── SDL_sysfilesystem.cpp │ ├── haiku │ │ └── SDL_sysfilesystem.cc │ ├── n3ds │ │ └── SDL_sysfilesystem.c │ ├── ngage │ │ ├── SDL_sysfilesystem.c │ │ └── SDL_sysfilesystem.cpp │ ├── posix │ │ └── SDL_sysfsops.c │ ├── ps2 │ │ └── SDL_sysfilesystem.c │ ├── psp │ │ └── SDL_sysfilesystem.c │ ├── riscos │ │ └── SDL_sysfilesystem.c │ ├── unix │ │ └── SDL_sysfilesystem.c │ ├── vita │ │ └── SDL_sysfilesystem.c │ └── windows │ │ ├── SDL_sysfilesystem.c │ │ └── SDL_sysfsops.c ├── gpu │ ├── SDL_gpu.c │ ├── SDL_sysgpu.h │ ├── d3d12 │ │ ├── D3D12_Blit.h │ │ ├── D3D_Blit.hlsl │ │ ├── SDL_gpu_d3d12.c │ │ ├── compile_shaders.bat │ │ └── compile_shaders_xbox.bat │ ├── metal │ │ ├── Metal_Blit.h │ │ ├── Metal_Blit.metal │ │ ├── SDL_gpu_metal.m │ │ └── compile_shaders.sh │ └── vulkan │ │ ├── SDL_gpu_vulkan.c │ │ └── SDL_gpu_vulkan_vkfuncs.h ├── haptic │ ├── SDL_haptic.c │ ├── SDL_haptic_c.h │ ├── SDL_syshaptic.h │ ├── android │ │ ├── SDL_syshaptic.c │ │ └── SDL_syshaptic_c.h │ ├── darwin │ │ ├── SDL_syshaptic.c │ │ └── SDL_syshaptic_c.h │ ├── dummy │ │ └── SDL_syshaptic.c │ ├── hidapi │ │ ├── SDL_hidapihaptic.c │ │ ├── SDL_hidapihaptic.h │ │ ├── SDL_hidapihaptic_c.h │ │ └── SDL_hidapihaptic_lg4ff.c │ ├── linux │ │ └── SDL_syshaptic.c │ └── windows │ │ ├── SDL_dinputhaptic.c │ │ ├── SDL_dinputhaptic_c.h │ │ ├── SDL_windowshaptic.c │ │ └── SDL_windowshaptic_c.h ├── hidapi │ ├── AUTHORS.txt │ ├── BUILD.autotools.md │ ├── BUILD.cmake.md │ ├── BUILD.md │ ├── CMakeLists.txt │ ├── HACKING.txt │ ├── LICENSE-bsd.txt │ ├── LICENSE-gpl3.txt │ ├── LICENSE-orig.txt │ ├── LICENSE.txt │ ├── Makefile.am │ ├── README.md │ ├── SDL_hidapi.c │ ├── SDL_hidapi_android.h │ ├── SDL_hidapi_c.h │ ├── SDL_hidapi_ios.h │ ├── SDL_hidapi_libusb.h │ ├── SDL_hidapi_linux.h │ ├── SDL_hidapi_mac.h │ ├── SDL_hidapi_netbsd.h │ ├── SDL_hidapi_steamxbox.h │ ├── SDL_hidapi_windows.h │ ├── VERSION │ ├── android │ │ ├── hid.cpp │ │ └── hid.h │ ├── bootstrap │ ├── configure.ac │ ├── dist │ │ └── hidapi.podspec │ ├── documentation │ │ ├── cmake-gui-drop-down.png │ │ └── cmake-gui-highlights.png │ ├── doxygen │ │ ├── Doxyfile │ │ └── main_page.md │ ├── hidapi │ │ └── hidapi.h │ ├── hidtest │ │ ├── CMakeLists.txt │ │ ├── Makefile.am │ │ └── test.c │ ├── ios │ │ └── hid.m │ ├── libusb │ │ ├── CMakeLists.txt │ │ ├── Makefile-manual │ │ ├── Makefile.am │ │ ├── Makefile.freebsd │ │ ├── Makefile.haiku │ │ ├── Makefile.linux │ │ ├── hid.c │ │ ├── hidapi_libusb.h │ │ ├── hidapi_thread_pthread.h │ │ └── hidapi_thread_sdl.h │ ├── linux │ │ ├── CMakeLists.txt │ │ ├── Makefile-manual │ │ ├── Makefile.am │ │ └── hid.c │ ├── m4 │ │ ├── ax_pthread.m4 │ │ └── pkg.m4 │ ├── mac │ │ ├── CMakeLists.txt │ │ ├── Makefile-manual │ │ ├── Makefile.am │ │ ├── hid.c │ │ └── hidapi_darwin.h │ ├── meson.build │ ├── netbsd │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── hid.c │ ├── pc │ │ ├── hidapi-hidraw.pc.in │ │ ├── hidapi-libusb.pc.in │ │ ├── hidapi-netbsd.pc.in │ │ └── hidapi.pc.in │ ├── src │ │ ├── CMakeLists.txt │ │ └── cmake │ │ │ └── hidapi-config.cmake.in │ ├── subprojects │ │ ├── README.md │ │ └── hidapi_build_cmake │ │ │ └── CMakeLists.txt │ ├── testgui │ │ ├── Makefile-manual │ │ ├── Makefile.am │ │ ├── Makefile.freebsd │ │ ├── Makefile.linux │ │ ├── Makefile.mac │ │ ├── Makefile.mingw │ │ ├── TestGUI.app.in │ │ │ └── Contents │ │ │ │ ├── Info.plist │ │ │ │ ├── PkgInfo │ │ │ │ └── Resources │ │ │ │ ├── English.lproj │ │ │ │ └── InfoPlist.strings │ │ │ │ └── Signal11.icns │ │ ├── copy_to_bundle.sh │ │ ├── mac_support.h │ │ ├── mac_support_cocoa.m │ │ ├── test.cpp │ │ ├── testgui.sln │ │ └── testgui.vcproj │ ├── udev │ │ └── 69-hid.rules │ └── windows │ │ ├── CMakeLists.txt │ │ ├── Makefile-manual │ │ ├── Makefile.am │ │ ├── Makefile.mingw │ │ ├── hid.c │ │ ├── hidapi.rc │ │ ├── hidapi.sln │ │ ├── hidapi.vcproj │ │ ├── hidapi.vcxproj │ │ ├── hidapi_cfgmgr32.h │ │ ├── hidapi_descriptor_reconstruct.c │ │ ├── hidapi_descriptor_reconstruct.h │ │ ├── hidapi_hidclass.h │ │ ├── hidapi_hidpi.h │ │ ├── hidapi_hidsdi.h │ │ ├── hidapi_winapi.h │ │ ├── hidtest.vcproj │ │ ├── hidtest.vcxproj │ │ ├── pp_data_dump │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── pp_data_dump.c │ │ └── test │ │ ├── CMakeLists.txt │ │ ├── data │ │ ├── 045E_02FF_0005_0001.pp_data │ │ ├── 045E_02FF_0005_0001_expected.rpt_desc │ │ ├── 045E_02FF_0005_0001_real.rpt_desc │ │ ├── 046A_0011_0006_0001.pp_data │ │ ├── 046A_0011_0006_0001_expected.rpt_desc │ │ ├── 046A_0011_0006_0001_real.rpt_desc │ │ ├── 046D_0A37_0001_000C.pp_data │ │ ├── 046D_0A37_0001_000C_expected.rpt_desc │ │ ├── 046D_0A37_0001_000C_real.rpt_desc │ │ ├── 046D_B010_0001_000C.pp_data │ │ ├── 046D_B010_0001_000C_expected.rpt_desc │ │ ├── 046D_B010_0001_000C_real.rpt_desc │ │ ├── 046D_B010_0001_FF00.pp_data │ │ ├── 046D_B010_0001_FF00_expected.rpt_desc │ │ ├── 046D_B010_0001_FF00_real.rpt_desc │ │ ├── 046D_B010_0002_0001.pp_data │ │ ├── 046D_B010_0002_0001_expected.rpt_desc │ │ ├── 046D_B010_0002_0001_real.rpt_desc │ │ ├── 046D_B010_0002_FF00.pp_data │ │ ├── 046D_B010_0002_FF00_expected.rpt_desc │ │ ├── 046D_B010_0002_FF00_real.rpt_desc │ │ ├── 046D_B010_0006_0001.pp_data │ │ ├── 046D_B010_0006_0001_expected.rpt_desc │ │ ├── 046D_B010_0006_0001_real.rpt_desc │ │ ├── 046D_C077_0002_0001.pp_data │ │ ├── 046D_C077_0002_0001_expected.rpt_desc │ │ ├── 046D_C077_0002_0001_real.rpt_desc │ │ ├── 046D_C283_0004_0001.pp_data │ │ ├── 046D_C283_0004_0001_expected.rpt_desc │ │ ├── 046D_C283_0004_0001_real.rpt_desc │ │ ├── 046D_C52F_0001_000C.pp_data │ │ ├── 046D_C52F_0001_000C_expected.rpt_desc │ │ ├── 046D_C52F_0001_000C_real.rpt_desc │ │ ├── 046D_C52F_0001_FF00.pp_data │ │ ├── 046D_C52F_0001_FF00_expected.rpt_desc │ │ ├── 046D_C52F_0001_FF00_real.rpt_desc │ │ ├── 046D_C52F_0002_0001.pp_data │ │ ├── 046D_C52F_0002_0001_expected.rpt_desc │ │ ├── 046D_C52F_0002_0001_real.rpt_desc │ │ ├── 046D_C52F_0002_FF00.pp_data │ │ ├── 046D_C52F_0002_FF00_expected.rpt_desc │ │ ├── 046D_C52F_0002_FF00_real.rpt_desc │ │ ├── 046D_C534_0001_000C.pp_data │ │ ├── 046D_C534_0001_000C_expected.rpt_desc │ │ ├── 046D_C534_0001_000C_real.rpt_desc │ │ ├── 046D_C534_0001_FF00.pp_data │ │ ├── 046D_C534_0001_FF00_expected.rpt_desc │ │ ├── 046D_C534_0001_FF00_real.rpt_desc │ │ ├── 046D_C534_0002_0001.pp_data │ │ ├── 046D_C534_0002_0001_expected.rpt_desc │ │ ├── 046D_C534_0002_0001_real.rpt_desc │ │ ├── 046D_C534_0002_FF00.pp_data │ │ ├── 046D_C534_0002_FF00_expected.rpt_desc │ │ ├── 046D_C534_0002_FF00_real.rpt_desc │ │ ├── 046D_C534_0006_0001.pp_data │ │ ├── 046D_C534_0006_0001_expected.rpt_desc │ │ ├── 046D_C534_0006_0001_real.rpt_desc │ │ ├── 046D_C534_0080_0001.pp_data │ │ ├── 046D_C534_0080_0001_expected.rpt_desc │ │ ├── 046D_C534_0080_0001_real.rpt_desc │ │ ├── 047F_C056_0001_000C.pp_data │ │ ├── 047F_C056_0001_000C_expected.rpt_desc │ │ ├── 047F_C056_0001_000C_real.rpt_desc │ │ ├── 047F_C056_0003_FFA0.pp_data │ │ ├── 047F_C056_0003_FFA0_expected.rpt_desc │ │ ├── 047F_C056_0003_FFA0_real.rpt_desc │ │ ├── 047F_C056_0005_000B.pp_data │ │ ├── 047F_C056_0005_000B_expected.rpt_desc │ │ ├── 047F_C056_0005_000B_real.rpt_desc │ │ ├── 17CC_1130_0000_FF01.pp_data │ │ ├── 17CC_1130_0000_FF01_expected.rpt_desc │ │ └── 17CC_1130_0000_FF01_real.rpt_desc │ │ └── hid_report_reconstructor_test.c ├── io │ ├── SDL_asyncio.c │ ├── SDL_asyncio_c.h │ ├── SDL_iostream.c │ ├── SDL_iostream_c.h │ ├── SDL_sysasyncio.h │ ├── generic │ │ └── SDL_asyncio_generic.c │ ├── io_uring │ │ └── SDL_asyncio_liburing.c │ ├── n3ds │ │ ├── SDL_iostreamromfs.c │ │ └── SDL_iostreamromfs.h │ └── windows │ │ └── SDL_asyncio_windows_ioring.c ├── joystick │ ├── SDL_gamepad.c │ ├── SDL_gamepad_c.h │ ├── SDL_gamepad_db.h │ ├── SDL_joystick.c │ ├── SDL_joystick_c.h │ ├── SDL_steam_virtual_gamepad.c │ ├── SDL_steam_virtual_gamepad.h │ ├── SDL_sysjoystick.h │ ├── android │ │ ├── SDL_sysjoystick.c │ │ └── SDL_sysjoystick_c.h │ ├── apple │ │ ├── SDL_mfijoystick.m │ │ └── SDL_mfijoystick_c.h │ ├── bsd │ │ └── SDL_bsdjoystick.c │ ├── check_8bitdo.sh │ ├── controller_list.h │ ├── controller_type.c │ ├── controller_type.h │ ├── darwin │ │ ├── SDL_iokitjoystick.c │ │ └── SDL_iokitjoystick_c.h │ ├── dummy │ │ └── SDL_sysjoystick.c │ ├── emscripten │ │ ├── SDL_sysjoystick.c │ │ └── SDL_sysjoystick_c.h │ ├── gdk │ │ └── SDL_gameinputjoystick.cpp │ ├── haiku │ │ └── SDL_haikujoystick.cc │ ├── hidapi │ │ ├── SDL_hidapi_8bitdo.c │ │ ├── SDL_hidapi_combined.c │ │ ├── SDL_hidapi_flydigi.c │ │ ├── SDL_hidapi_gamecube.c │ │ ├── SDL_hidapi_gip.c │ │ ├── SDL_hidapi_lg4ff.c │ │ ├── SDL_hidapi_luna.c │ │ ├── SDL_hidapi_nintendo.h │ │ ├── SDL_hidapi_ps3.c │ │ ├── SDL_hidapi_ps4.c │ │ ├── SDL_hidapi_ps5.c │ │ ├── SDL_hidapi_rumble.c │ │ ├── SDL_hidapi_rumble.h │ │ ├── SDL_hidapi_shield.c │ │ ├── SDL_hidapi_stadia.c │ │ ├── SDL_hidapi_steam.c │ │ ├── SDL_hidapi_steam_hori.c │ │ ├── SDL_hidapi_steamdeck.c │ │ ├── SDL_hidapi_switch.c │ │ ├── SDL_hidapi_wii.c │ │ ├── SDL_hidapi_xbox360.c │ │ ├── SDL_hidapi_xbox360w.c │ │ ├── SDL_hidapi_xboxone.c │ │ ├── SDL_hidapijoystick.c │ │ ├── SDL_hidapijoystick_c.h │ │ └── steam │ │ │ ├── controller_constants.h │ │ │ └── controller_structs.h │ ├── linux │ │ ├── SDL_sysjoystick.c │ │ └── SDL_sysjoystick_c.h │ ├── n3ds │ │ └── SDL_sysjoystick.c │ ├── ps2 │ │ └── SDL_sysjoystick.c │ ├── psp │ │ └── SDL_sysjoystick.c │ ├── sort_controllers.py │ ├── usb_ids.h │ ├── virtual │ │ ├── SDL_virtualjoystick.c │ │ └── SDL_virtualjoystick_c.h │ ├── vita │ │ └── SDL_sysjoystick.c │ └── windows │ │ ├── SDL_dinputjoystick.c │ │ ├── SDL_dinputjoystick_c.h │ │ ├── SDL_rawinputjoystick.c │ │ ├── SDL_rawinputjoystick_c.h │ │ ├── SDL_windows_gaming_input.c │ │ ├── SDL_windowsjoystick.c │ │ ├── SDL_windowsjoystick_c.h │ │ ├── SDL_xinputjoystick.c │ │ └── SDL_xinputjoystick_c.h ├── libm │ ├── e_atan2.c │ ├── e_exp.c │ ├── e_fmod.c │ ├── e_log.c │ ├── e_log10.c │ ├── e_pow.c │ ├── e_rem_pio2.c │ ├── e_sqrt.c │ ├── k_cos.c │ ├── k_rem_pio2.c │ ├── k_sin.c │ ├── k_tan.c │ ├── math_libm.h │ ├── math_private.h │ ├── s_atan.c │ ├── s_copysign.c │ ├── s_cos.c │ ├── s_fabs.c │ ├── s_floor.c │ ├── s_isinf.c │ ├── s_isinff.c │ ├── s_isnan.c │ ├── s_isnanf.c │ ├── s_modf.c │ ├── s_scalbn.c │ ├── s_sin.c │ └── s_tan.c ├── loadso │ ├── dlopen │ │ └── SDL_sysloadso.c │ ├── dummy │ │ └── SDL_sysloadso.c │ └── windows │ │ └── SDL_sysloadso.c ├── locale │ ├── SDL_locale.c │ ├── SDL_syslocale.h │ ├── android │ │ └── SDL_syslocale.c │ ├── dummy │ │ └── SDL_syslocale.c │ ├── emscripten │ │ └── SDL_syslocale.c │ ├── haiku │ │ └── SDL_syslocale.cc │ ├── macos │ │ └── SDL_syslocale.m │ ├── n3ds │ │ └── SDL_syslocale.c │ ├── ngage │ │ └── SDL_syslocale.cpp │ ├── psp │ │ └── SDL_syslocale.c │ ├── unix │ │ └── SDL_syslocale.c │ ├── vita │ │ └── SDL_syslocale.c │ └── windows │ │ └── SDL_syslocale.c ├── main │ ├── SDL_main_callbacks.c │ ├── SDL_main_callbacks.h │ ├── SDL_runapp.c │ ├── emscripten │ │ ├── SDL_sysmain_callbacks.c │ │ └── SDL_sysmain_runapp.c │ ├── gdk │ │ └── SDL_sysmain_runapp.cpp │ ├── generic │ │ └── SDL_sysmain_callbacks.c │ ├── ios │ │ └── SDL_sysmain_callbacks.m │ ├── n3ds │ │ └── SDL_sysmain_runapp.c │ ├── ngage │ │ ├── SDL_sysmain_callbacks.c │ │ ├── SDL_sysmain_main.cpp │ │ └── SDL_sysmain_main.hpp │ ├── ps2 │ │ └── SDL_sysmain_runapp.c │ ├── psp │ │ └── SDL_sysmain_runapp.c │ └── windows │ │ └── SDL_sysmain_runapp.c ├── misc │ ├── SDL_sysurl.h │ ├── SDL_url.c │ ├── android │ │ └── SDL_sysurl.c │ ├── dummy │ │ └── SDL_sysurl.c │ ├── emscripten │ │ └── SDL_sysurl.c │ ├── haiku │ │ └── SDL_sysurl.cc │ ├── ios │ │ └── SDL_sysurl.m │ ├── macos │ │ └── SDL_sysurl.m │ ├── riscos │ │ └── SDL_sysurl.c │ ├── unix │ │ └── SDL_sysurl.c │ ├── vita │ │ └── SDL_sysurl.c │ └── windows │ │ └── SDL_sysurl.c ├── power │ ├── SDL_power.c │ ├── SDL_syspower.h │ ├── android │ │ └── SDL_syspower.c │ ├── emscripten │ │ └── SDL_syspower.c │ ├── haiku │ │ └── SDL_syspower.c │ ├── linux │ │ └── SDL_syspower.c │ ├── macos │ │ └── SDL_syspower.c │ ├── n3ds │ │ └── SDL_syspower.c │ ├── psp │ │ └── SDL_syspower.c │ ├── uikit │ │ ├── SDL_syspower.h │ │ └── SDL_syspower.m │ ├── vita │ │ └── SDL_syspower.c │ └── windows │ │ └── SDL_syspower.c ├── process │ ├── SDL_process.c │ ├── SDL_sysprocess.h │ ├── dummy │ │ └── SDL_dummyprocess.c │ ├── posix │ │ └── SDL_posixprocess.c │ └── windows │ │ └── SDL_windowsprocess.c ├── render │ ├── SDL_d3dmath.c │ ├── SDL_d3dmath.h │ ├── SDL_render.c │ ├── SDL_render_debug_font.h │ ├── SDL_render_unsupported.c │ ├── SDL_sysrender.h │ ├── SDL_yuv_sw.c │ ├── SDL_yuv_sw_c.h │ ├── direct3d │ │ ├── D3D9_PixelShader_YUV.h │ │ ├── D3D9_PixelShader_YUV.hlsl │ │ ├── SDL_render_d3d.c │ │ ├── SDL_shaders_d3d.c │ │ ├── SDL_shaders_d3d.h │ │ └── compile_shaders.bat │ ├── direct3d11 │ │ ├── D3D11_PixelShader_Advanced.h │ │ ├── D3D11_PixelShader_Advanced.hlsl │ │ ├── D3D11_PixelShader_Colors.h │ │ ├── D3D11_PixelShader_Colors.hlsl │ │ ├── D3D11_PixelShader_Common.hlsli │ │ ├── D3D11_PixelShader_Textures.h │ │ ├── D3D11_PixelShader_Textures.hlsl │ │ ├── D3D11_VertexShader.h │ │ ├── D3D11_VertexShader.hlsl │ │ ├── SDL_render_d3d11.c │ │ ├── SDL_shaders_d3d11.c │ │ ├── SDL_shaders_d3d11.h │ │ └── compile_shaders.bat │ ├── direct3d12 │ │ ├── D3D12_PixelShader_Advanced.h │ │ ├── D3D12_PixelShader_Advanced.hlsl │ │ ├── D3D12_PixelShader_Colors.h │ │ ├── D3D12_PixelShader_Colors.hlsl │ │ ├── D3D12_PixelShader_Common.hlsli │ │ ├── D3D12_PixelShader_Textures.h │ │ ├── D3D12_PixelShader_Textures.hlsl │ │ ├── D3D12_RootSig_Advanced.h │ │ ├── D3D12_RootSig_Color.h │ │ ├── D3D12_RootSig_Texture.h │ │ ├── D3D12_Shader_Common.hlsli │ │ ├── D3D12_VertexShader.hlsl │ │ ├── D3D12_VertexShader_Advanced.h │ │ ├── D3D12_VertexShader_Color.h │ │ ├── D3D12_VertexShader_Texture.h │ │ ├── SDL_render_d3d12.c │ │ ├── SDL_render_d3d12_xbox.cpp │ │ ├── SDL_render_d3d12_xbox.h │ │ ├── SDL_shaders_d3d12.c │ │ ├── SDL_shaders_d3d12.h │ │ ├── SDL_shaders_d3d12_xboxone.cpp │ │ ├── SDL_shaders_d3d12_xboxseries.cpp │ │ ├── compile_shaders.bat │ │ └── compile_shaders_xbox.bat │ ├── gpu │ │ ├── SDL_gpu_util.h │ │ ├── SDL_pipeline_gpu.c │ │ ├── SDL_pipeline_gpu.h │ │ ├── SDL_render_gpu.c │ │ ├── SDL_shaders_gpu.c │ │ ├── SDL_shaders_gpu.h │ │ └── shaders │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ ├── build-shaders.sh │ │ │ ├── color.frag.dxil.h │ │ │ ├── color.frag.hlsl │ │ │ ├── color.frag.msl.h │ │ │ ├── color.frag.spv.h │ │ │ ├── dxil.h │ │ │ ├── linepoint.vert.dxil.h │ │ │ ├── linepoint.vert.hlsl │ │ │ ├── linepoint.vert.msl.h │ │ │ ├── linepoint.vert.spv.h │ │ │ ├── msl.h │ │ │ ├── spir-v.h │ │ │ ├── texture_pixelart.frag.hlsli │ │ │ ├── texture_rgb.frag.dxil.h │ │ │ ├── texture_rgb.frag.hlsl │ │ │ ├── texture_rgb.frag.msl.h │ │ │ ├── texture_rgb.frag.spv.h │ │ │ ├── texture_rgb_pixelart.frag.dxil.h │ │ │ ├── texture_rgb_pixelart.frag.hlsl │ │ │ ├── texture_rgb_pixelart.frag.msl.h │ │ │ ├── texture_rgb_pixelart.frag.spv.h │ │ │ ├── texture_rgba.frag.dxil.h │ │ │ ├── texture_rgba.frag.hlsl │ │ │ ├── texture_rgba.frag.msl.h │ │ │ ├── texture_rgba.frag.spv.h │ │ │ ├── texture_rgba_pixelart.frag.dxil.h │ │ │ ├── texture_rgba_pixelart.frag.hlsl │ │ │ ├── texture_rgba_pixelart.frag.msl.h │ │ │ ├── texture_rgba_pixelart.frag.spv.h │ │ │ ├── tri_color.vert.dxil.h │ │ │ ├── tri_color.vert.hlsl │ │ │ ├── tri_color.vert.msl.h │ │ │ ├── tri_color.vert.spv.h │ │ │ ├── tri_texture.vert.dxil.h │ │ │ ├── tri_texture.vert.hlsl │ │ │ ├── tri_texture.vert.msl.h │ │ │ └── tri_texture.vert.spv.h │ ├── metal │ │ ├── SDL_render_metal.m │ │ ├── SDL_shaders_metal.metal │ │ ├── SDL_shaders_metal_ios.h │ │ ├── SDL_shaders_metal_iphonesimulator.h │ │ ├── SDL_shaders_metal_macos.h │ │ ├── SDL_shaders_metal_tvos.h │ │ ├── SDL_shaders_metal_tvsimulator.h │ │ └── build-metal-shaders.sh │ ├── ngage │ │ ├── SDL_render_ngage.c │ │ ├── SDL_render_ngage.cpp │ │ ├── SDL_render_ngage_c.h │ │ ├── SDL_render_ngage_c.hpp │ │ ├── SDL_render_ops.cpp │ │ └── SDL_render_ops.hpp │ ├── opengl │ │ ├── SDL_glfuncs.h │ │ ├── SDL_render_gl.c │ │ ├── SDL_shaders_gl.c │ │ └── SDL_shaders_gl.h │ ├── opengles2 │ │ ├── SDL_gles2funcs.h │ │ ├── SDL_render_gles2.c │ │ ├── SDL_shaders_gles2.c │ │ └── SDL_shaders_gles2.h │ ├── ps2 │ │ └── SDL_render_ps2.c │ ├── psp │ │ ├── SDL_render_psp.c │ │ └── SDL_render_psp_c.h │ ├── software │ │ ├── SDL_blendfillrect.c │ │ ├── SDL_blendfillrect.h │ │ ├── SDL_blendline.c │ │ ├── SDL_blendline.h │ │ ├── SDL_blendpoint.c │ │ ├── SDL_blendpoint.h │ │ ├── SDL_draw.h │ │ ├── SDL_drawline.c │ │ ├── SDL_drawline.h │ │ ├── SDL_drawpoint.c │ │ ├── SDL_drawpoint.h │ │ ├── SDL_render_sw.c │ │ ├── SDL_render_sw_c.h │ │ ├── SDL_rotate.c │ │ ├── SDL_rotate.h │ │ ├── SDL_triangle.c │ │ └── SDL_triangle.h │ ├── vitagxm │ │ ├── SDL_render_vita_gxm.c │ │ ├── SDL_render_vita_gxm_memory.c │ │ ├── SDL_render_vita_gxm_memory.h │ │ ├── SDL_render_vita_gxm_shaders.h │ │ ├── SDL_render_vita_gxm_tools.c │ │ ├── SDL_render_vita_gxm_tools.h │ │ ├── SDL_render_vita_gxm_types.h │ │ └── shader_src │ │ │ ├── clear_f.cg │ │ │ ├── clear_v.cg │ │ │ ├── color_f.cg │ │ │ ├── color_v.cg │ │ │ ├── texture_f.cg │ │ │ └── texture_v.cg │ └── vulkan │ │ ├── SDL_render_vulkan.c │ │ ├── SDL_shaders_vulkan.c │ │ ├── SDL_shaders_vulkan.h │ │ ├── VULKAN_PixelShader_Advanced.h │ │ ├── VULKAN_PixelShader_Advanced.hlsl │ │ ├── VULKAN_PixelShader_Colors.h │ │ ├── VULKAN_PixelShader_Colors.hlsl │ │ ├── VULKAN_PixelShader_Common.hlsli │ │ ├── VULKAN_PixelShader_Textures.h │ │ ├── VULKAN_PixelShader_Textures.hlsl │ │ ├── VULKAN_VertexShader.h │ │ ├── VULKAN_VertexShader.hlsl │ │ └── compile_shaders.bat ├── sensor │ ├── SDL_sensor.c │ ├── SDL_sensor_c.h │ ├── SDL_syssensor.h │ ├── android │ │ ├── SDL_androidsensor.c │ │ └── SDL_androidsensor.h │ ├── coremotion │ │ ├── SDL_coremotionsensor.h │ │ └── SDL_coremotionsensor.m │ ├── dummy │ │ ├── SDL_dummysensor.c │ │ └── SDL_dummysensor.h │ ├── n3ds │ │ └── SDL_n3dssensor.c │ ├── vita │ │ ├── SDL_vitasensor.c │ │ └── SDL_vitasensor.h │ └── windows │ │ ├── SDL_windowssensor.c │ │ └── SDL_windowssensor.h ├── stdlib │ ├── SDL_casefolding.h │ ├── SDL_crc16.c │ ├── SDL_crc32.c │ ├── SDL_getenv.c │ ├── SDL_getenv_c.h │ ├── SDL_iconv.c │ ├── SDL_malloc.c │ ├── SDL_memcpy.c │ ├── SDL_memmove.c │ ├── SDL_memset.c │ ├── SDL_mslibc.c │ ├── SDL_mslibc_arm64.masm │ ├── SDL_mslibc_x64.masm │ ├── SDL_murmur3.c │ ├── SDL_qsort.c │ ├── SDL_random.c │ ├── SDL_stdlib.c │ ├── SDL_string.c │ ├── SDL_strtokr.c │ ├── SDL_sysstdlib.h │ └── SDL_vacopy.h ├── storage │ ├── SDL_storage.c │ ├── SDL_sysstorage.h │ ├── generic │ │ └── SDL_genericstorage.c │ └── steam │ │ ├── SDL_steamstorage.c │ │ └── SDL_steamstorage_proc.h ├── test │ ├── SDL_test_assert.c │ ├── SDL_test_common.c │ ├── SDL_test_compare.c │ ├── SDL_test_crc32.c │ ├── SDL_test_font.c │ ├── SDL_test_fuzzer.c │ ├── SDL_test_harness.c │ ├── SDL_test_log.c │ ├── SDL_test_md5.c │ └── SDL_test_memory.c ├── thread │ ├── SDL_systhread.h │ ├── SDL_thread.c │ ├── SDL_thread_c.h │ ├── generic │ │ ├── SDL_syscond.c │ │ ├── SDL_syscond_c.h │ │ ├── SDL_sysmutex.c │ │ ├── SDL_sysmutex_c.h │ │ ├── SDL_sysrwlock.c │ │ ├── SDL_sysrwlock_c.h │ │ ├── SDL_syssem.c │ │ ├── SDL_systhread.c │ │ ├── SDL_systhread_c.h │ │ └── SDL_systls.c │ ├── n3ds │ │ ├── SDL_sysmutex.c │ │ ├── SDL_sysmutex_c.h │ │ ├── SDL_syssem.c │ │ ├── SDL_systhread.c │ │ └── SDL_systhread_c.h │ ├── ps2 │ │ ├── SDL_syssem.c │ │ ├── SDL_systhread.c │ │ └── SDL_systhread_c.h │ ├── psp │ │ ├── SDL_sysmutex.c │ │ ├── SDL_sysmutex_c.h │ │ ├── SDL_syssem.c │ │ ├── SDL_systhread.c │ │ └── SDL_systhread_c.h │ ├── pthread │ │ ├── SDL_syscond.c │ │ ├── SDL_sysmutex.c │ │ ├── SDL_sysmutex_c.h │ │ ├── SDL_sysrwlock.c │ │ ├── SDL_syssem.c │ │ ├── SDL_systhread.c │ │ ├── SDL_systhread_c.h │ │ └── SDL_systls.c │ ├── vita │ │ ├── SDL_sysmutex.c │ │ ├── SDL_sysmutex_c.h │ │ ├── SDL_syssem.c │ │ ├── SDL_systhread.c │ │ └── SDL_systhread_c.h │ └── windows │ │ ├── SDL_syscond_cv.c │ │ ├── SDL_sysmutex.c │ │ ├── SDL_sysmutex_c.h │ │ ├── SDL_sysrwlock_srw.c │ │ ├── SDL_syssem.c │ │ ├── SDL_systhread.c │ │ ├── SDL_systhread_c.h │ │ └── SDL_systls.c ├── time │ ├── SDL_time.c │ ├── SDL_time_c.h │ ├── n3ds │ │ └── SDL_systime.c │ ├── ngage │ │ └── SDL_systime.cpp │ ├── ps2 │ │ └── SDL_systime.c │ ├── psp │ │ └── SDL_systime.c │ ├── unix │ │ └── SDL_systime.c │ ├── vita │ │ └── SDL_systime.c │ └── windows │ │ └── SDL_systime.c ├── timer │ ├── SDL_timer.c │ ├── SDL_timer_c.h │ ├── haiku │ │ └── SDL_systimer.c │ ├── n3ds │ │ └── SDL_systimer.c │ ├── ngage │ │ └── SDL_systimer.cpp │ ├── ps2 │ │ └── SDL_systimer.c │ ├── psp │ │ └── SDL_systimer.c │ ├── unix │ │ └── SDL_systimer.c │ ├── vita │ │ └── SDL_systimer.c │ └── windows │ │ └── SDL_systimer.c ├── tray │ ├── SDL_tray_utils.c │ ├── SDL_tray_utils.h │ ├── cocoa │ │ └── SDL_tray.m │ ├── dummy │ │ └── SDL_tray.c │ ├── unix │ │ └── SDL_tray.c │ └── windows │ │ └── SDL_tray.c └── video │ ├── SDL_RLEaccel.c │ ├── SDL_RLEaccel_c.h │ ├── SDL_blit.c │ ├── SDL_blit.h │ ├── SDL_blit_0.c │ ├── SDL_blit_1.c │ ├── SDL_blit_A.c │ ├── SDL_blit_N.c │ ├── SDL_blit_auto.c │ ├── SDL_blit_auto.h │ ├── SDL_blit_copy.c │ ├── SDL_blit_copy.h │ ├── SDL_blit_slow.c │ ├── SDL_blit_slow.h │ ├── SDL_bmp.c │ ├── SDL_clipboard.c │ ├── SDL_clipboard_c.h │ ├── SDL_egl.c │ ├── SDL_egl_c.h │ ├── SDL_fillrect.c │ ├── SDL_pixels.c │ ├── SDL_pixels_c.h │ ├── SDL_rect.c │ ├── SDL_rect_c.h │ ├── SDL_rect_impl.h │ ├── SDL_stb.c │ ├── SDL_stb_c.h │ ├── SDL_stretch.c │ ├── SDL_surface.c │ ├── SDL_surface_c.h │ ├── SDL_sysvideo.h │ ├── SDL_video.c │ ├── SDL_video_c.h │ ├── SDL_video_unsupported.c │ ├── SDL_vulkan_internal.h │ ├── SDL_vulkan_utils.c │ ├── SDL_yuv.c │ ├── SDL_yuv_c.h │ ├── android │ ├── SDL_androidclipboard.c │ ├── SDL_androidclipboard.h │ ├── SDL_androidevents.c │ ├── SDL_androidevents.h │ ├── SDL_androidgl.c │ ├── SDL_androidgl.h │ ├── SDL_androidkeyboard.c │ ├── SDL_androidkeyboard.h │ ├── SDL_androidmessagebox.c │ ├── SDL_androidmessagebox.h │ ├── SDL_androidmouse.c │ ├── SDL_androidmouse.h │ ├── SDL_androidpen.c │ ├── SDL_androidpen.h │ ├── SDL_androidtouch.c │ ├── SDL_androidtouch.h │ ├── SDL_androidvideo.c │ ├── SDL_androidvideo.h │ ├── SDL_androidvulkan.c │ ├── SDL_androidvulkan.h │ ├── SDL_androidwindow.c │ └── SDL_androidwindow.h │ ├── cocoa │ ├── SDL_cocoaclipboard.h │ ├── SDL_cocoaclipboard.m │ ├── SDL_cocoaevents.h │ ├── SDL_cocoaevents.m │ ├── SDL_cocoakeyboard.h │ ├── SDL_cocoakeyboard.m │ ├── SDL_cocoamessagebox.h │ ├── SDL_cocoamessagebox.m │ ├── SDL_cocoametalview.h │ ├── SDL_cocoametalview.m │ ├── SDL_cocoamodes.h │ ├── SDL_cocoamodes.m │ ├── SDL_cocoamouse.h │ ├── SDL_cocoamouse.m │ ├── SDL_cocoaopengl.h │ ├── SDL_cocoaopengl.m │ ├── SDL_cocoaopengles.h │ ├── SDL_cocoaopengles.m │ ├── SDL_cocoapen.h │ ├── SDL_cocoapen.m │ ├── SDL_cocoashape.h │ ├── SDL_cocoashape.m │ ├── SDL_cocoavideo.h │ ├── SDL_cocoavideo.m │ ├── SDL_cocoavulkan.h │ ├── SDL_cocoavulkan.m │ ├── SDL_cocoawindow.h │ └── SDL_cocoawindow.m │ ├── directx │ ├── SDL_d3d12.h │ ├── SDL_d3d12_xbox_cmacros.h │ ├── d3d12.h │ ├── d3d12sdklayers.h │ └── gen_xbox_cmacros.cs │ ├── dummy │ ├── SDL_nullevents.c │ ├── SDL_nullevents_c.h │ ├── SDL_nullframebuffer.c │ ├── SDL_nullframebuffer_c.h │ ├── SDL_nullvideo.c │ └── SDL_nullvideo.h │ ├── emscripten │ ├── SDL_emscriptenevents.c │ ├── SDL_emscriptenevents.h │ ├── SDL_emscriptenframebuffer.c │ ├── SDL_emscriptenframebuffer.h │ ├── SDL_emscriptenmouse.c │ ├── SDL_emscriptenmouse.h │ ├── SDL_emscriptenopengles.c │ ├── SDL_emscriptenopengles.h │ ├── SDL_emscriptenvideo.c │ └── SDL_emscriptenvideo.h │ ├── gdk │ ├── SDL_gdktextinput.cpp │ └── SDL_gdktextinput.h │ ├── haiku │ ├── SDL_BWin.h │ ├── SDL_bclipboard.cc │ ├── SDL_bclipboard.h │ ├── SDL_bevents.cc │ ├── SDL_bevents.h │ ├── SDL_bframebuffer.cc │ ├── SDL_bframebuffer.h │ ├── SDL_bkeyboard.cc │ ├── SDL_bkeyboard.h │ ├── SDL_bmessagebox.cc │ ├── SDL_bmessagebox.h │ ├── SDL_bmodes.cc │ ├── SDL_bmodes.h │ ├── SDL_bopengl.cc │ ├── SDL_bopengl.h │ ├── SDL_bvideo.cc │ ├── SDL_bvideo.h │ ├── SDL_bwindow.cc │ └── SDL_bwindow.h │ ├── khronos │ ├── EGL │ │ ├── egl.h │ │ ├── eglext.h │ │ └── eglplatform.h │ ├── GLES2 │ │ ├── gl2.h │ │ ├── gl2ext.h │ │ └── gl2platform.h │ ├── GLES3 │ │ ├── gl3.h │ │ ├── gl31.h │ │ ├── gl32.h │ │ └── gl3platform.h │ ├── KHR │ │ └── khrplatform.h │ ├── vk_video │ │ ├── vulkan_video_codec_av1std.h │ │ ├── vulkan_video_codec_av1std_decode.h │ │ ├── vulkan_video_codec_h264std.h │ │ ├── vulkan_video_codec_h264std_decode.h │ │ ├── vulkan_video_codec_h264std_encode.h │ │ ├── vulkan_video_codec_h265std.h │ │ ├── vulkan_video_codec_h265std_decode.h │ │ ├── vulkan_video_codec_h265std_encode.h │ │ └── vulkan_video_codecs_common.h │ └── vulkan │ │ ├── vk_icd.h │ │ ├── vk_layer.h │ │ ├── vk_platform.h │ │ ├── vulkan.h │ │ ├── vulkan_android.h │ │ ├── vulkan_beta.h │ │ ├── vulkan_core.h │ │ ├── vulkan_directfb.h │ │ ├── vulkan_fuchsia.h │ │ ├── vulkan_ggp.h │ │ ├── vulkan_ios.h │ │ ├── vulkan_macos.h │ │ ├── vulkan_metal.h │ │ ├── vulkan_screen.h │ │ ├── vulkan_vi.h │ │ ├── vulkan_wayland.h │ │ ├── vulkan_win32.h │ │ ├── vulkan_xcb.h │ │ ├── vulkan_xlib.h │ │ └── vulkan_xlib_xrandr.h │ ├── kmsdrm │ ├── SDL_kmsdrmdyn.c │ ├── SDL_kmsdrmdyn.h │ ├── SDL_kmsdrmevents.c │ ├── SDL_kmsdrmevents.h │ ├── SDL_kmsdrmmouse.c │ ├── SDL_kmsdrmmouse.h │ ├── SDL_kmsdrmopengles.c │ ├── SDL_kmsdrmopengles.h │ ├── SDL_kmsdrmsym.h │ ├── SDL_kmsdrmvideo.c │ ├── SDL_kmsdrmvideo.h │ ├── SDL_kmsdrmvulkan.c │ └── SDL_kmsdrmvulkan.h │ ├── n3ds │ ├── SDL_n3dsevents.c │ ├── SDL_n3dsevents_c.h │ ├── SDL_n3dsframebuffer.c │ ├── SDL_n3dsframebuffer_c.h │ ├── SDL_n3dsswkb.c │ ├── SDL_n3dsswkb.h │ ├── SDL_n3dstouch.c │ ├── SDL_n3dstouch.h │ ├── SDL_n3dsvideo.c │ └── SDL_n3dsvideo.h │ ├── ngage │ ├── SDL_ngagevideo.c │ └── SDL_ngagevideo.h │ ├── offscreen │ ├── SDL_offscreenevents.c │ ├── SDL_offscreenevents_c.h │ ├── SDL_offscreenframebuffer.c │ ├── SDL_offscreenframebuffer_c.h │ ├── SDL_offscreenopengles.c │ ├── SDL_offscreenopengles.h │ ├── SDL_offscreenvideo.c │ ├── SDL_offscreenvideo.h │ ├── SDL_offscreenvulkan.c │ ├── SDL_offscreenvulkan.h │ ├── SDL_offscreenwindow.c │ └── SDL_offscreenwindow.h │ ├── openvr │ ├── SDL_openvrvideo.c │ ├── SDL_openvrvideo.h │ └── openvr_capi.h │ ├── ps2 │ ├── SDL_ps2video.c │ └── SDL_ps2video.h │ ├── psp │ ├── SDL_pspevents.c │ ├── SDL_pspevents_c.h │ ├── SDL_pspgl.c │ ├── SDL_pspgl_c.h │ ├── SDL_pspmouse.c │ ├── SDL_pspmouse_c.h │ ├── SDL_pspvideo.c │ └── SDL_pspvideo.h │ ├── qnx │ ├── SDL_qnx.h │ ├── SDL_qnxgl.c │ ├── SDL_qnxkeyboard.c │ └── SDL_qnxvideo.c │ ├── raspberry │ ├── SDL_rpievents.c │ ├── SDL_rpievents_c.h │ ├── SDL_rpimouse.c │ ├── SDL_rpimouse.h │ ├── SDL_rpiopengles.c │ ├── SDL_rpiopengles.h │ ├── SDL_rpivideo.c │ └── SDL_rpivideo.h │ ├── riscos │ ├── SDL_riscosdefs.h │ ├── SDL_riscosevents.c │ ├── SDL_riscosevents_c.h │ ├── SDL_riscosframebuffer.c │ ├── SDL_riscosframebuffer_c.h │ ├── SDL_riscosmessagebox.c │ ├── SDL_riscosmessagebox.h │ ├── SDL_riscosmodes.c │ ├── SDL_riscosmodes.h │ ├── SDL_riscosmouse.c │ ├── SDL_riscosmouse.h │ ├── SDL_riscosvideo.c │ ├── SDL_riscosvideo.h │ ├── SDL_riscoswindow.c │ ├── SDL_riscoswindow.h │ └── scancodes_riscos.h │ ├── sdlgenblit.pl │ ├── stb_image.h │ ├── uikit │ ├── SDL_uikitappdelegate.h │ ├── SDL_uikitappdelegate.m │ ├── SDL_uikitclipboard.h │ ├── SDL_uikitclipboard.m │ ├── SDL_uikitevents.h │ ├── SDL_uikitevents.m │ ├── SDL_uikitmessagebox.h │ ├── SDL_uikitmessagebox.m │ ├── SDL_uikitmetalview.h │ ├── SDL_uikitmetalview.m │ ├── SDL_uikitmodes.h │ ├── SDL_uikitmodes.m │ ├── SDL_uikitopengles.h │ ├── SDL_uikitopengles.m │ ├── SDL_uikitopenglview.h │ ├── SDL_uikitopenglview.m │ ├── SDL_uikitpen.h │ ├── SDL_uikitpen.m │ ├── SDL_uikitvideo.h │ ├── SDL_uikitvideo.m │ ├── SDL_uikitview.h │ ├── SDL_uikitview.m │ ├── SDL_uikitviewcontroller.h │ ├── SDL_uikitviewcontroller.m │ ├── SDL_uikitvulkan.h │ ├── SDL_uikitvulkan.m │ ├── SDL_uikitwindow.h │ └── SDL_uikitwindow.m │ ├── vita │ ├── SDL_vitaframebuffer.c │ ├── SDL_vitaframebuffer.h │ ├── SDL_vitagl_pvr.c │ ├── SDL_vitagles.c │ ├── SDL_vitagles_pvr.c │ ├── SDL_vitakeyboard.c │ ├── SDL_vitakeyboard.h │ ├── SDL_vitamessagebox.c │ ├── SDL_vitamessagebox.h │ ├── SDL_vitamouse.c │ ├── SDL_vitamouse_c.h │ ├── SDL_vitatouch.c │ ├── SDL_vitatouch.h │ ├── SDL_vitavideo.c │ └── SDL_vitavideo.h │ ├── vivante │ ├── SDL_vivanteopengles.c │ ├── SDL_vivanteopengles.h │ ├── SDL_vivanteplatform.c │ ├── SDL_vivanteplatform.h │ ├── SDL_vivantevideo.c │ ├── SDL_vivantevideo.h │ ├── SDL_vivantevulkan.c │ └── SDL_vivantevulkan.h │ ├── wayland │ ├── SDL_waylandclipboard.c │ ├── SDL_waylandclipboard.h │ ├── SDL_waylandcolor.c │ ├── SDL_waylandcolor.h │ ├── SDL_waylanddatamanager.c │ ├── SDL_waylanddatamanager.h │ ├── SDL_waylanddyn.c │ ├── SDL_waylanddyn.h │ ├── SDL_waylandevents.c │ ├── SDL_waylandevents_c.h │ ├── SDL_waylandkeyboard.c │ ├── SDL_waylandkeyboard.h │ ├── SDL_waylandmessagebox.c │ ├── SDL_waylandmessagebox.h │ ├── SDL_waylandmouse.c │ ├── SDL_waylandmouse.h │ ├── SDL_waylandopengles.c │ ├── SDL_waylandopengles.h │ ├── SDL_waylandshmbuffer.c │ ├── SDL_waylandshmbuffer.h │ ├── SDL_waylandsym.h │ ├── SDL_waylandvideo.c │ ├── SDL_waylandvideo.h │ ├── SDL_waylandvulkan.c │ ├── SDL_waylandvulkan.h │ ├── SDL_waylandwindow.c │ └── SDL_waylandwindow.h │ ├── windows │ ├── SDL_msctf.h │ ├── SDL_surface_utils.c │ ├── SDL_surface_utils.h │ ├── SDL_windowsclipboard.c │ ├── SDL_windowsclipboard.h │ ├── SDL_windowsevents.c │ ├── SDL_windowsevents.h │ ├── SDL_windowsframebuffer.c │ ├── SDL_windowsframebuffer.h │ ├── SDL_windowsgameinput.cpp │ ├── SDL_windowsgameinput.h │ ├── SDL_windowskeyboard.c │ ├── SDL_windowskeyboard.h │ ├── SDL_windowsmessagebox.c │ ├── SDL_windowsmessagebox.h │ ├── SDL_windowsmodes.c │ ├── SDL_windowsmodes.h │ ├── SDL_windowsmouse.c │ ├── SDL_windowsmouse.h │ ├── SDL_windowsopengl.c │ ├── SDL_windowsopengl.h │ ├── SDL_windowsopengles.c │ ├── SDL_windowsopengles.h │ ├── SDL_windowsrawinput.c │ ├── SDL_windowsrawinput.h │ ├── SDL_windowsshape.c │ ├── SDL_windowsshape.h │ ├── SDL_windowsvideo.c │ ├── SDL_windowsvideo.h │ ├── SDL_windowsvulkan.c │ ├── SDL_windowsvulkan.h │ ├── SDL_windowswindow.c │ ├── SDL_windowswindow.h │ └── wmmsg.h │ ├── x11 │ ├── SDL_x11clipboard.c │ ├── SDL_x11clipboard.h │ ├── SDL_x11dyn.c │ ├── SDL_x11dyn.h │ ├── SDL_x11events.c │ ├── SDL_x11events.h │ ├── SDL_x11framebuffer.c │ ├── SDL_x11framebuffer.h │ ├── SDL_x11keyboard.c │ ├── SDL_x11keyboard.h │ ├── SDL_x11messagebox.c │ ├── SDL_x11messagebox.h │ ├── SDL_x11modes.c │ ├── SDL_x11modes.h │ ├── SDL_x11mouse.c │ ├── SDL_x11mouse.h │ ├── SDL_x11opengl.c │ ├── SDL_x11opengl.h │ ├── SDL_x11opengles.c │ ├── SDL_x11opengles.h │ ├── SDL_x11pen.c │ ├── SDL_x11pen.h │ ├── SDL_x11settings.c │ ├── SDL_x11settings.h │ ├── SDL_x11shape.c │ ├── SDL_x11shape.h │ ├── SDL_x11sym.h │ ├── SDL_x11touch.c │ ├── SDL_x11touch.h │ ├── SDL_x11video.c │ ├── SDL_x11video.h │ ├── SDL_x11vulkan.c │ ├── SDL_x11vulkan.h │ ├── SDL_x11window.c │ ├── SDL_x11window.h │ ├── SDL_x11xfixes.c │ ├── SDL_x11xfixes.h │ ├── SDL_x11xinput2.c │ ├── SDL_x11xinput2.h │ ├── SDL_x11xsync.c │ ├── SDL_x11xsync.h │ ├── SDL_x11xtest.c │ ├── SDL_x11xtest.h │ ├── edid-parse.c │ ├── edid.h │ ├── xsettings-client.c │ └── xsettings-client.h │ └── yuv2rgb │ ├── LICENSE │ ├── README.md │ ├── yuv_rgb.h │ ├── yuv_rgb_common.h │ ├── yuv_rgb_internal.h │ ├── yuv_rgb_lsx.c │ ├── yuv_rgb_lsx.h │ ├── yuv_rgb_lsx_func.h │ ├── yuv_rgb_sse.c │ ├── yuv_rgb_sse.h │ ├── yuv_rgb_sse_func.h │ ├── yuv_rgb_std.c │ ├── yuv_rgb_std.h │ └── yuv_rgb_std_func.h ├── test ├── CMakeLists.txt ├── COPYING ├── LICENSE.txt ├── android │ ├── cmake │ │ ├── AndroidManifest.xml.cmake │ │ ├── SDLEntryTestActivity.java.cmake │ │ ├── SDLTestActivity.java.cmake │ │ └── res │ │ │ ├── values │ │ │ └── strings.xml.cmake │ │ │ └── xml │ │ │ └── shortcuts.xml.cmake │ └── res │ │ ├── drawable │ │ └── sdl-test_foreground.xml │ │ ├── layout │ │ └── arguments_layout.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── sdl-test.xml │ │ └── sdl-test_round.xml │ │ ├── mipmap-hdpi │ │ ├── sdl-test.png │ │ └── sdl-test_round.png │ │ ├── mipmap-mdpi │ │ ├── sdl-test.png │ │ └── sdl-test_round.png │ │ ├── mipmap-xhdpi │ │ ├── sdl-test.png │ │ └── sdl-test_round.png │ │ ├── mipmap-xxhdpi │ │ ├── sdl-test.png │ │ └── sdl-test_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── sdl-test.png │ │ └── sdl-test_round.png │ │ └── values │ │ ├── arg_strings.xml │ │ ├── sdl-test_background.xml │ │ └── styles.xml ├── audiofile.bmp ├── build-shaders.sh ├── checkkeys.c ├── childprocess.c ├── emscripten │ ├── driver.py │ ├── joystick-pre.js │ ├── pre.js │ └── server.py ├── gamepad_axis.bmp ├── gamepad_axis.h ├── gamepad_axis_arrow.bmp ├── gamepad_axis_arrow.h ├── gamepad_back.bmp ├── gamepad_back.h ├── gamepad_battery.bmp ├── gamepad_battery.h ├── gamepad_battery_unknown.bmp ├── gamepad_battery_unknown.h ├── gamepad_battery_wired.bmp ├── gamepad_battery_wired.h ├── gamepad_button.bmp ├── gamepad_button.h ├── gamepad_button_background.bmp ├── gamepad_button_background.h ├── gamepad_button_small.bmp ├── gamepad_button_small.h ├── gamepad_face_abxy.bmp ├── gamepad_face_abxy.h ├── gamepad_face_axby.bmp ├── gamepad_face_axby.h ├── gamepad_face_bayx.bmp ├── gamepad_face_bayx.h ├── gamepad_face_sony.bmp ├── gamepad_face_sony.h ├── gamepad_front.bmp ├── gamepad_front.h ├── gamepad_touchpad.bmp ├── gamepad_touchpad.h ├── gamepad_wired.bmp ├── gamepad_wired.h ├── gamepad_wireless.bmp ├── gamepad_wireless.h ├── gamepadutils.c ├── gamepadutils.h ├── glass.bmp ├── glass.h ├── icon.bmp ├── icon.h ├── icon2x.bmp ├── logaudiodev.bmp ├── loopwave.c ├── main.cpp ├── moose.dat ├── msdf_font.bmp ├── msdf_font.csv ├── n3ds │ └── logo48x48.png ├── physaudiodev.bmp ├── picture.xbm ├── pretest.c ├── relative_mode.markdown ├── sample.bmp ├── sample.wav ├── sdl-test_round.bmp ├── soundboard.bmp ├── soundboard_levels.bmp ├── speaker.bmp ├── sword.wav ├── template.test.in ├── testasyncio.c ├── testatomic.c ├── testaudio.c ├── testaudiohotplug.c ├── testaudioinfo.c ├── testaudiorecording.c ├── testaudiostreamdynamicresample.c ├── testautomation.c ├── testautomation_audio.c ├── testautomation_blit.c ├── testautomation_clipboard.c ├── testautomation_events.c ├── testautomation_guid.c ├── testautomation_hints.c ├── testautomation_images.c ├── testautomation_images.h ├── testautomation_intrinsics.c ├── testautomation_iostream.c ├── testautomation_joystick.c ├── testautomation_keyboard.c ├── testautomation_log.c ├── testautomation_main.c ├── testautomation_math.c ├── testautomation_mouse.c ├── testautomation_pixels.c ├── testautomation_platform.c ├── testautomation_properties.c ├── testautomation_rect.c ├── testautomation_render.c ├── testautomation_sdltest.c ├── testautomation_stdlib.c ├── testautomation_subsystems.c ├── testautomation_suites.h ├── testautomation_surface.c ├── testautomation_time.c ├── testautomation_timer.c ├── testautomation_video.c ├── testbounds.c ├── testcamera.c ├── testclipboard.c ├── testcolorspace.c ├── testcontroller.c ├── testcustomcursor.c ├── testdialog.c ├── testdisplayinfo.c ├── testdraw.c ├── testdrawchessboard.c ├── testdropfile.c ├── testerror.c ├── testevdev.c ├── testffmpeg.c ├── testffmpeg_vulkan.c ├── testffmpeg_vulkan.h ├── testfile.c ├── testfilesystem.c ├── testgeometry.c ├── testgl.c ├── testgles.c ├── testgles2.c ├── testgpu │ ├── build-shaders.sh │ ├── cube.glsl │ ├── cube.hlsl │ ├── cube.metal │ ├── testgpu_dxil.h │ ├── testgpu_metallib.h │ └── testgpu_spirv.h ├── testgpu_simple_clear.c ├── testgpu_spinning_cube.c ├── testgpurender_effects.c ├── testgpurender_effects_CRT.frag.dxil.h ├── testgpurender_effects_CRT.frag.hlsl ├── testgpurender_effects_CRT.frag.msl.h ├── testgpurender_effects_CRT.frag.spv.h ├── testgpurender_effects_grayscale.frag.dxil.h ├── testgpurender_effects_grayscale.frag.hlsl ├── testgpurender_effects_grayscale.frag.msl.h ├── testgpurender_effects_grayscale.frag.spv.h ├── testgpurender_msdf.c ├── testgpurender_msdf.frag.dxil.h ├── testgpurender_msdf.frag.hlsl ├── testgpurender_msdf.frag.msl.h ├── testgpurender_msdf.frag.spv.h ├── testhaptic.c ├── testhittesting.c ├── testhotplug.c ├── testiconv.c ├── testime.c ├── testintersections.c ├── testkeys.c ├── testloadso.c ├── testlocale.c ├── testlock.c ├── testmanymouse.c ├── testmessage.c ├── testmodal.c ├── testmouse.c ├── testmultiaudio.c ├── testnative.c ├── testnative.h ├── testnativecocoa.m ├── testnativew32.c ├── testnativewayland.c ├── testnativex11.c ├── testoffscreen.c ├── testoverlay.c ├── testpen.c ├── testplatform.c ├── testpopup.c ├── testpower.c ├── testprocess.c ├── testqsort.c ├── testrelative.c ├── testrendercopyex.c ├── testrendertarget.c ├── testresample.c ├── testrumble.c ├── testrwlock.c ├── testscale.c ├── testsem.c ├── testsensor.c ├── testshader.c ├── testshape.c ├── testsprite.c ├── testspriteminimal.c ├── testspritesurface.c ├── teststreaming.c ├── testsurround.c ├── testthread.c ├── testtime.c ├── testtimer.c ├── testtray.c ├── testurl.c ├── testutils.c ├── testutils.h ├── testver.c ├── testviewport.c ├── testvulkan.c ├── testwaylandcustom.c ├── testwm.c ├── testyuv.bmp ├── testyuv.c ├── testyuv_cvt.c ├── testyuv_cvt.h ├── torturethread.c ├── trashcan.bmp ├── unifont-15.1.05-license.txt ├── unifont-15.1.05.hex ├── utf8.txt └── win32 │ └── sdlprocdump.c └── wayland-protocols ├── alpha-modifier-v1.xml ├── color-management-v1.xml ├── cursor-shape-v1.xml ├── fractional-scale-v1.xml ├── frog-color-management-v1.xml ├── idle-inhibit-unstable-v1.xml ├── input-timestamps-unstable-v1.xml ├── keyboard-shortcuts-inhibit-unstable-v1.xml ├── pointer-constraints-unstable-v1.xml ├── pointer-warp-v1.xml ├── primary-selection-unstable-v1.xml ├── relative-pointer-unstable-v1.xml ├── tablet-v2.xml ├── text-input-unstable-v3.xml ├── viewporter.xml ├── wayland.xml ├── xdg-activation-v1.xml ├── xdg-decoration-unstable-v1.xml ├── xdg-dialog-v1.xml ├── xdg-foreign-unstable-v2.xml ├── xdg-output-unstable-v1.xml ├── xdg-shell.xml └── xdg-toplevel-icon-v1.xml /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | <!--- Provide a general summary of your changes in the Title above --> 2 | 3 | ## Description 4 | <!--- Describe your changes in detail --> 5 | 6 | ## Existing Issue(s) 7 | <!--- If it fixes an open issue, please link to the issue here. --> 8 | -------------------------------------------------------------------------------- /.github/cmake/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0...3.5) 2 | project(ci_utils C CXX) 3 | 4 | set(txt "CC=${CMAKE_C_COMPILER} 5 | CXX=${CMAKE_CXX_COMPILER} 6 | CFLAGS=${CMAKE_C_FLAGS} 7 | CXXFLAGS=${CMAKE_CXX_FLAGS} 8 | LDFLAGS=${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_C_STANDARD_LIBRARIES} 9 | ") 10 | 11 | message("${txt}") 12 | 13 | set(VAR_PATH "/tmp/env.txt" CACHE PATH "Where to write environment file") 14 | message(STATUS "Writing CC/CXX/CFLAGS/CXXFLAGS/LDFLAGS environment to ${VAR_PATH}") 15 | 16 | file(WRITE "${VAR_PATH}" "${txt}") 17 | -------------------------------------------------------------------------------- /BUGS.txt: -------------------------------------------------------------------------------- 1 | 2 | Bugs are now managed in the SDL issue tracker, here: 3 | 4 | https://github.com/libsdl-org/SDL/issues 5 | 6 | You may report bugs there, and search to see if a given issue has already 7 | been reported, discussed, and maybe even fixed. 8 | 9 | 10 | You may also find help at the SDL forums/mailing list: 11 | 12 | https://discourse.libsdl.org/ 13 | 14 | or on Discord: 15 | 16 | https://discord.com/invite/BwpFGBWsv8 17 | 18 | Bug reports are welcome here, but we really appreciate if you use the issue tracker, as bugs discussed on the mailing list or Discord may be forgotten or missed. 19 | 20 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org> 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution. 18 | 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | Simple DirectMedia Layer (SDL for short) is a cross-platform library 3 | designed to make it easy to write multi-media software, such as games 4 | and emulators. 5 | 6 | You can find the latest release and additional information at: 7 | https://www.libsdl.org/ 8 | 9 | Installation instructions and a quick introduction is available in 10 | [INSTALL.md](INSTALL.md) 11 | 12 | This library is distributed under the terms of the zlib license, 13 | available in [LICENSE.txt](LICENSE.txt). 14 | 15 | Enjoy! 16 | 17 | Sam Lantinga (slouken@libsdl.org) 18 | -------------------------------------------------------------------------------- /VisualC-GDK/clean.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | find . -type f \( -name '*.user' -o -name '*.sdf' -o -name '*.ncb' -o -name '*.suo' \) -print -delete 3 | find . -type f \( -name '*.bmp' -o -name '*.wav' -o -name '*.dat' \) -print -delete 4 | find . -depth -type d \( -name Gaming.Desktop.x64 \) -exec rm -rv {} \; 5 | find . -depth -type d \( -name Gaming.Xbox.Scarlett.x64 \) -exec rm -rv {} \; 6 | find . -depth -type d \( -name Gaming.Xbox.XboxOne.x64 \) -exec rm -rv {} \; 7 | rm shaders/*.h 8 | -------------------------------------------------------------------------------- /VisualC-GDK/logos/Logo100x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/VisualC-GDK/logos/Logo100x100.png -------------------------------------------------------------------------------- /VisualC-GDK/logos/Logo150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/VisualC-GDK/logos/Logo150x150.png -------------------------------------------------------------------------------- /VisualC-GDK/logos/Logo44x44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/VisualC-GDK/logos/Logo44x44.png -------------------------------------------------------------------------------- /VisualC-GDK/logos/Logo480x480.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/VisualC-GDK/logos/Logo480x480.png -------------------------------------------------------------------------------- /VisualC-GDK/logos/SplashScreenImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/VisualC-GDK/logos/SplashScreenImage.png -------------------------------------------------------------------------------- /VisualC-GDK/tests/testcontroller/PackageLayout.xml: -------------------------------------------------------------------------------- 1 | <Package> 2 | <Chunk Id="1000" Marker="Launch"> 3 | <FileGroup DestinationPath="." SourcePath="." Include="testcontroller.exe" /> 4 | <FileGroup DestinationPath="." SourcePath="." Include="MicrosoftGame.config" /> 5 | <FileGroup DestinationPath="." SourcePath="." Include="*.bmp" /> 6 | <FileGroup DestinationPath="." SourcePath="." Include="*.png" /> 7 | <FileGroup DestinationPath="." SourcePath="." Include="*.dll" /> 8 | </Chunk> 9 | </Package> 10 | -------------------------------------------------------------------------------- /VisualC-GDK/tests/testcontroller/xboxone/MicrosoftGame.config: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Game configVersion="1"> 3 | 4 | <!-- Set these to the correct identifiers from Partner Center --> 5 | <Identity Name="SDL" 6 | Version="1.0.0.0" 7 | Publisher="CN=Publisher"/> 8 | 9 | <ExecutableList> 10 | <Executable Name="testcontroller.exe" 11 | TargetDeviceFamily="XboxOne" 12 | Id="Game" /> 13 | </ExecutableList> 14 | 15 | <!-- Set these to the correct values from Partner Center --> 16 | <MSAAppId>PleaseChangeMe</MSAAppId> 17 | <TitleId>FFFFFFFF</TitleId> 18 | 19 | <ShellVisuals DefaultDisplayName="testcontroller" 20 | PublisherDisplayName="SDL" 21 | Square480x480Logo="Logo480x480.png" 22 | Square150x150Logo="Logo150x150.png" 23 | Square44x44Logo="Logo44x44.png" 24 | SplashScreenImage="SplashScreenImage.png" 25 | Description="testcontroller" 26 | ForegroundText="light" 27 | BackgroundColor="#000000" 28 | StoreLogo="Logo100x100.png"/> 29 | </Game> 30 | -------------------------------------------------------------------------------- /VisualC-GDK/tests/testcontroller/xboxseries/MicrosoftGame.config: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Game configVersion="1"> 3 | 4 | <!-- Set these to the correct identifiers from Partner Center --> 5 | <Identity Name="SDL" 6 | Version="1.0.0.0" 7 | Publisher="CN=Publisher"/> 8 | 9 | <ExecutableList> 10 | <Executable Name="testcontroller.exe" 11 | TargetDeviceFamily="Scarlett" 12 | Id="Game" /> 13 | </ExecutableList> 14 | 15 | <!-- Set these to the correct values from Partner Center --> 16 | <MSAAppId>PleaseChangeMe</MSAAppId> 17 | <TitleId>FFFFFFFF</TitleId> 18 | 19 | <ShellVisuals DefaultDisplayName="testcontroller" 20 | PublisherDisplayName="SDL" 21 | Square480x480Logo="Logo480x480.png" 22 | Square150x150Logo="Logo150x150.png" 23 | Square44x44Logo="Logo44x44.png" 24 | SplashScreenImage="SplashScreenImage.png" 25 | Description="testcontroller" 26 | ForegroundText="light" 27 | BackgroundColor="#000000" 28 | StoreLogo="Logo100x100.png"/> 29 | </Game> 30 | -------------------------------------------------------------------------------- /VisualC-GDK/tests/testgdk/PackageLayout.xml: -------------------------------------------------------------------------------- 1 | <Package> 2 | <Chunk Id="1000" Marker="Launch"> 3 | <FileGroup DestinationPath="." SourcePath="." Include="testgdk.exe" /> 4 | <FileGroup DestinationPath="." SourcePath="." Include="MicrosoftGame.config" /> 5 | <FileGroup DestinationPath="." SourcePath="." Include="*.bmp" /> 6 | <FileGroup DestinationPath="." SourcePath="." Include="*.wav" /> 7 | <FileGroup DestinationPath="." SourcePath="." Include="*.png" /> 8 | <FileGroup DestinationPath="." SourcePath="." Include="*.dll" /> 9 | </Chunk> 10 | </Package> 11 | -------------------------------------------------------------------------------- /VisualC-GDK/tests/testgdk/xboxone/MicrosoftGame.config: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Game configVersion="1"> 3 | 4 | <!-- Set these to the correct identifiers from Partner Center --> 5 | <Identity Name="SDL" 6 | Version="1.0.0.0" 7 | Publisher="CN=Publisher"/> 8 | 9 | <ExecutableList> 10 | <Executable Name="testgdk.exe" 11 | TargetDeviceFamily="XboxOne" 12 | Id="Game" /> 13 | </ExecutableList> 14 | 15 | <!-- Set these to the correct values from Partner Center --> 16 | <MSAAppId>PleaseChangeMe</MSAAppId> 17 | <TitleId>FFFFFFFF</TitleId> 18 | 19 | <ShellVisuals DefaultDisplayName="testgdk" 20 | PublisherDisplayName="SDL" 21 | Square480x480Logo="Logo480x480.png" 22 | Square150x150Logo="Logo150x150.png" 23 | Square44x44Logo="Logo44x44.png" 24 | SplashScreenImage="SplashScreenImage.png" 25 | Description="testgdk" 26 | ForegroundText="light" 27 | BackgroundColor="#000000" 28 | StoreLogo="Logo100x100.png"/> 29 | </Game> -------------------------------------------------------------------------------- /VisualC-GDK/tests/testgdk/xboxseries/MicrosoftGame.config: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Game configVersion="1"> 3 | 4 | <!-- Set these to the correct identifiers from Partner Center --> 5 | <Identity Name="SDL" 6 | Version="1.0.0.0" 7 | Publisher="CN=Publisher"/> 8 | 9 | <ExecutableList> 10 | <Executable Name="testgdk.exe" 11 | TargetDeviceFamily="Scarlett" 12 | Id="Game" /> 13 | </ExecutableList> 14 | 15 | <!-- Set these to the correct values from Partner Center --> 16 | <MSAAppId>PleaseChangeMe</MSAAppId> 17 | <TitleId>FFFFFFFF</TitleId> 18 | 19 | <ShellVisuals DefaultDisplayName="testgdk" 20 | PublisherDisplayName="SDL" 21 | Square480x480Logo="Logo480x480.png" 22 | Square150x150Logo="Logo150x150.png" 23 | Square44x44Logo="Logo44x44.png" 24 | SplashScreenImage="SplashScreenImage.png" 25 | Description="testgdk" 26 | ForegroundText="light" 27 | BackgroundColor="#000000" 28 | StoreLogo="Logo100x100.png"/> 29 | </Game> -------------------------------------------------------------------------------- /VisualC-GDK/tests/testsprite/PackageLayout.xml: -------------------------------------------------------------------------------- 1 | <Package> 2 | <Chunk Id="1000" Marker="Launch"> 3 | <FileGroup DestinationPath="." SourcePath="." Include="testsprite.exe" /> 4 | <FileGroup DestinationPath="." SourcePath="." Include="MicrosoftGame.config" /> 5 | <FileGroup DestinationPath="." SourcePath="." Include="*.bmp" /> 6 | <FileGroup DestinationPath="." SourcePath="." Include="*.png" /> 7 | <FileGroup DestinationPath="." SourcePath="." Include="*.dll" /> 8 | </Chunk> 9 | </Package> 10 | -------------------------------------------------------------------------------- /VisualC-GDK/tests/testsprite/xboxone/MicrosoftGame.config: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Game configVersion="1"> 3 | 4 | <!-- Set these to the correct identifiers from Partner Center --> 5 | <Identity Name="SDL" 6 | Version="1.0.0.0" 7 | Publisher="CN=Publisher"/> 8 | 9 | <ExecutableList> 10 | <Executable Name="testsprite.exe" 11 | TargetDeviceFamily="XboxOne" 12 | Id="Game" /> 13 | </ExecutableList> 14 | 15 | <!-- Set these to the correct values from Partner Center --> 16 | <MSAAppId>PleaseChangeMe</MSAAppId> 17 | <TitleId>FFFFFFFF</TitleId> 18 | 19 | <ShellVisuals DefaultDisplayName="testsprite" 20 | PublisherDisplayName="SDL" 21 | Square480x480Logo="Logo480x480.png" 22 | Square150x150Logo="Logo150x150.png" 23 | Square44x44Logo="Logo44x44.png" 24 | SplashScreenImage="SplashScreenImage.png" 25 | Description="testsprite" 26 | ForegroundText="light" 27 | BackgroundColor="#000000" 28 | StoreLogo="Logo100x100.png"/> 29 | </Game> -------------------------------------------------------------------------------- /VisualC-GDK/tests/testsprite/xboxseries/MicrosoftGame.config: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Game configVersion="1"> 3 | 4 | <!-- Set these to the correct identifiers from Partner Center --> 5 | <Identity Name="SDL" 6 | Version="1.0.0.0" 7 | Publisher="CN=Publisher"/> 8 | 9 | <ExecutableList> 10 | <Executable Name="testsprite.exe" 11 | TargetDeviceFamily="Scarlett" 12 | Id="Game" /> 13 | </ExecutableList> 14 | 15 | <!-- Set these to the correct values from Partner Center --> 16 | <MSAAppId>PleaseChangeMe</MSAAppId> 17 | <TitleId>FFFFFFFF</TitleId> 18 | 19 | <ShellVisuals DefaultDisplayName="testsprite" 20 | PublisherDisplayName="SDL" 21 | Square480x480Logo="Logo480x480.png" 22 | Square150x150Logo="Logo150x150.png" 23 | Square44x44Logo="Logo44x44.png" 24 | Description="testsprite" 25 | SplashScreenImage="SplashScreenImage.png" 26 | ForegroundText="light" 27 | BackgroundColor="#000000" 28 | StoreLogo="Logo100x100.png"/> 29 | </Game> -------------------------------------------------------------------------------- /VisualC/SDL/Directory.Build.props: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <ItemDefinitionGroup> 4 | <ClCompile> 5 | <PreprocessorDefinitions>SDL_VENDOR_INFO="libsdl.org";%(PreprocessorDefinitions)</PreprocessorDefinitions> 6 | </ClCompile> 7 | </ItemDefinitionGroup> 8 | </Project> 9 | -------------------------------------------------------------------------------- /VisualC/SDL_test/Directory.Build.props: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <ItemDefinitionGroup> 4 | <ClCompile> 5 | <PreprocessorDefinitions>SDL_VENDOR_INFO="libsdl.org";%(PreprocessorDefinitions)</PreprocessorDefinitions> 6 | </ClCompile> 7 | </ItemDefinitionGroup> 8 | </Project> 9 | -------------------------------------------------------------------------------- /VisualC/VisualC/examples/audio/01-simple-playback/01-simple-playback.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{D68EA64A-14ED-4DBF-B86C-9EC2DDC476FB}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\audio\01-simple-playback\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\audio\01-simple-playback\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/audio/02-simple-playback-callback/02-simple-playback-callback.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{8C80733B-1F90-4682-A999-91699127F182}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\audio\02-simple-playback-callback\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\audio\02-simple-playback-callback\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/audio/03-load-wav/03-load-wav.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{E941FE4D-964C-43C6-A486-B0966633BED6}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\audio\03-load-wav\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\audio\03-load-wav\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/camera/01-read-and-draw/01-read-and-draw.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{20B1B6AE-B282-4E65-863A-28301B6C5E9F}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\camera\01-read-and-draw\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\camera\01-read-and-draw\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/game/01-snake/01-snake.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{7239E6E4-3C4E-45DE-81B4-3BC7635BE63F}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\demo\01-snake\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\demo\01-snake\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/pen/01-drawing-lines/01-drawing-lines.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{25BB7BA9-DCAB-4944-9F2A-E316D63AF356}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\pen\01-drawing-lines\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\pen\01-drawing-lines\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/01-clear/01-clear.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{541DB2BF-7BE8-402C-8D7C-4BCC5A16DCDF}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\01-clear\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\01-clear\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/02-primitives/02-primitives.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{1C512964-A1E4-4569-8EA4-1165D89A9FD9}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\02-primitives\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\02-primitives\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/03-lines/03-lines.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{156986DD-710A-4627-8159-19FD1CE0C243}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\03-lines\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\03-lines\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/04-points/04-points.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{3D355C93-8429-4226-82D5-F8A63BC02801}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\04-points\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\04-points\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/05-rectangles/05-rectangles.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{03CFCE68-B607-4781-8348-4F5F93A09A63}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\05-rectangles\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\05-rectangles\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/06-textures/06-textures.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{90118B89-7011-4BDA-AF6E-FAEF74BAD73C}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\06-textures\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\06-textures\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/07-streaming-textures/07-streaming-textures.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{2FE0342B-DB71-42D9-918D-C48099167DB9}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\07-streaming-textures\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\07-streaming-textures\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{E0D48833-9BD2-46EC-A1DA-BC06C521E3CB}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\08-rotating-textures\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\08-rotating-textures\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/09-scaling-textures/09-scaling-textures.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{76D6D01E-79C3-4599-8920-DADDD5D8F8D0}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\09-scaling-textures\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\09-scaling-textures\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/10-geometry/10-geometry.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{FA567681-211A-43AB-A9B2-6C1EC39CEBFF}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\10-geometry\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\10-geometry\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{6539C356-F420-4EBF-937A-E03C1EDEF8D5}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\11-color-mods\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\11-color-mods\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/14-viewport/14-viewport.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{42C0ABC6-6E99-4FE2-B4DB-8B1DFA9D2AEC}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\14-viewport\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\14-viewport\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{2ED69519-A202-4B6E-870E-71FD43A5B883}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\15-cliprect\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\15-cliprect\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{94DB4D43-D07D-4CD3-94FF-B6E96CC97C60}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\17-read-pixels\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\17-read-pixels\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/VisualC/examples/renderer/18-debug-text/18-debug-text.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{72F39D57-7D82-4040-AE2B-CA7C922506E3}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\18-debug-text\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\18-debug-text\*.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/clean.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | find . -type f \( -name '*.user' -o -name '*.sdf' -o -name '*.ncb' -o -name '*.suo' \) -print -delete 3 | find . -type f \( -name '*.bmp' -o -name '*.wav' -o -name '*.dat' \) -print -delete 4 | find . -depth -type d \( -name Win32 -o -name x64 \) -exec rm -rv {} \; 5 | -------------------------------------------------------------------------------- /VisualC/examples/asyncio/01-load-bitmaps/01-load-bitmaps.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{6A2BFA8B-C027-400D-A18B-3E9E1CC4DDD0}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\asyncio\01-load-bitmaps\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\asyncio\01-load-bitmaps\load-bitmaps.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/audio/01-simple-playback/01-simple-playback.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{EB448819-74BC-40C9-A61A-4D4ECD55F9D5}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\audio\01-simple-playback\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\audio\01-simple-playback\simple-playback.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/audio/02-simple-playback-callback/02-simple-playback-callback.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{6B710DFF-8A4A-40A2-BF2D-88D266F3D4F0}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\audio\02-simple-playback-callback\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\audio\02-simple-playback-callback\simple-playback-callback.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/audio/03-load-wav/03-load-wav.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{608C6C67-7766-471F-BBFF-8B00086039AF}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\audio\03-load-wav\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\audio\03-load-wav\load-wav.c" /> 11 | <Content Include="$(SolutionDir)\..\test\sample.wav" CopyToOutputDirectory="PreserveNewest" /> 12 | </ItemGroup> 13 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 14 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/audio/04-multiple-streams/04-multiple-streams.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{7117A55C-BE4E-41DB-A4FC-4070E35A8B28}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\audio\04-multiple-streams\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\audio\04-multiple-streams\multiple-streams.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/camera/01-read-and-draw/01-read-and-draw.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{510ACF0C-4012-4216-98EF-E4F155DE33CE}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\camera\01-read-and-draw\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\camera\01-read-and-draw\read-and-draw.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/demo/01-snake/01-snake.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{7820969A-5B7B-4046-BB0A-82905D457FC5}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\demo\01-snake\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\demo\01-snake\snake.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/demo/02-woodeneye-008/02-woodeneye-008.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{A3F601E0-B54C-4DD8-8A97-FDEF7624EE60}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\demo\02-woodeneye-008\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\demo\02-woodeneye-008\woodeneye-008.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/demo/03-infinite-monkeys/03-infinite-monkeys.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{75AEE75A-C016-4497-960B-D767B822237D}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\demo\03-infinite-monkeys\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\demo\03-infinite-monkeys\infinite-monkeys.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/demo/04-bytepusher/04-bytepusher.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{3DB9B219-769E-43AC-8B8B-319DB6045DCF}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\demo\04-bytepusher\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\demo\04-bytepusher\bytepusher.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/input/01-joystick-polling/01-joystick-polling.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{B3852DB7-E925-4026-8B9D-D2272EFEFF3C}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\input\01-joystick-polling\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\input\01-joystick-polling\joystick-polling.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/input/02-joystick-events/02-joystick-events.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{FCBDF2B2-1129-49AE-9406-3F219E65CA89}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\input\02-joystick-events\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\input\02-joystick-events\joystick-events.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/pen/01-drawing-lines/01-drawing-lines.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{5EDA1ED3-8213-4C12-B0DF-B631EB611804}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\pen\01-drawing-lines\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\pen\01-drawing-lines\drawing-lines.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/01-clear/01-clear.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{896557AC-7575-480C-8FFD-AB08B5DA305D}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\01-clear\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\01-clear\clear.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/02-primitives/02-primitives.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{504DC7EC-D82E-448E-9C7D-3BE7981592B3}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\02-primitives\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\02-primitives\primitives.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/03-lines/03-lines.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{BDE7DBC0-DCE7-432E-8750-C4AE55463699}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\03-lines\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\03-lines\lines.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/04-points/04-points.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{7B250AB1-92D3-4F1A-BEB4-19605A69CEDB}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\04-points\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\04-points\points.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/05-rectangles/05-rectangles.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{4C0E3A60-24F8-4D4C-81C0-C1777F5E7B17}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\05-rectangles\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\05-rectangles\rectangles.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/06-textures/06-textures.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{B3D61611-BFA3-4B66-ADC7-A3CE578A6D36}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\06-textures\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\06-textures\textures.c" /> 11 | <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" /> 12 | </ItemGroup> 13 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 14 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/07-streaming-textures/07-streaming-textures.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{540AE143-A58F-4D3B-B843-94EA8576522D}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\07-streaming-textures\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\07-streaming-textures\streaming-textures.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{7091C001-3D71-47D4-B27B-E99271E5B987}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\08-rotating-textures\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\08-rotating-textures\rotating-textures.c" /> 11 | <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" /> 12 | </ItemGroup> 13 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 14 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/09-scaling-textures/09-scaling-textures.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{AF8BC84E-0268-4D1F-9503-84D9EE84C65F}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\09-scaling-textures\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\09-scaling-textures\scaling-textures.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/10-geometry/10-geometry.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{8B9AB23E-3F40-4145-BA1C-B2CEACFBBD72}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\10-geometry\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\10-geometry\geometry.c" /> 11 | <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" /> 12 | </ItemGroup> 13 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 14 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{E9C6A7A6-22C0-42E6-AC9C-8580A396D077}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\11-color-mods\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\11-color-mods\color-mods.c" /> 11 | <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" /> 12 | </ItemGroup> 13 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 14 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/14-viewport/14-viewport.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{B85BC466-C7F0-4C6D-8ECF-ED57E775FC73}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\14-viewport\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\14-viewport\viewport.c" /> 11 | <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" /> 12 | </ItemGroup> 13 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 14 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{9DBD962F-EA4D-44E3-8E8E-31D7F060A2DC}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\15-cliprect\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\15-cliprect\cliprect.c" /> 11 | <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" /> 12 | </ItemGroup> 13 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 14 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{EEF00329-4598-4E34-B969-9DD4B0815E6C}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\17-read-pixels\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\17-read-pixels\read-pixels.c" /> 11 | <Content Include="$(SolutionDir)\..\test\sample.bmp" CopyToOutputDirectory="PreserveNewest" /> 12 | </ItemGroup> 13 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 14 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/18-debug-text/18-debug-text.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{CC0714AA-8A81-4E29-BEC5-2E4FBC50E7FE}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\18-debug-text\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\18-debug-text\debug-text.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /VisualC/examples/renderer/19-affine-textures/19-affine-textures.vcxproj: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <PropertyGroup Label="Globals"> 4 | <ProjectGuid>{E21C50BF-54B4-434C-AA24-9A6469553987}</ProjectGuid> 5 | </PropertyGroup> 6 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 7 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 8 | <ItemGroup> 9 | <None Include="$(SolutionDir)\..\examples\renderer\19-affine-textures\README.txt" /> 10 | <ClCompile Include="$(SolutionDir)\..\examples\renderer\19-affine-textures\affine-textures.c" /> 11 | </ItemGroup> 12 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 13 | </Project> -------------------------------------------------------------------------------- /Xcode/SDL/Info-Framework.plist: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 | <plist version="1.0"> 4 | <dict> 5 | <key>CFBundleDevelopmentRegion</key> 6 | <string>English</string> 7 | <key>CFBundleExecutable</key> 8 | <string>${EXECUTABLE_NAME}</string> 9 | <key>CFBundleGetInfoString</key> 10 | <string>http://www.libsdl.org</string> 11 | <key>CFBundleIconFile</key> 12 | <string></string> 13 | <key>CFBundleIdentifier</key> 14 | <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> 15 | <key>CFBundleInfoDictionaryVersion</key> 16 | <string>6.0</string> 17 | <key>CFBundleName</key> 18 | <string>Simple DirectMedia Layer</string> 19 | <key>CFBundlePackageType</key> 20 | <string>FMWK</string> 21 | <key>CFBundleShortVersionString</key> 22 | <string>3.3.0</string> 23 | <key>CFBundleSignature</key> 24 | <string>SDLX</string> 25 | <key>CFBundleVersion</key> 26 | <string>3.3.0</string> 27 | </dict> 28 | </plist> 29 | -------------------------------------------------------------------------------- /Xcode/SDL/SDL3/Info.plist: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 | <plist version="1.0"> 4 | <dict> 5 | <key>CFBundleDevelopmentRegion</key> 6 | <string>$(DEVELOPMENT_LANGUAGE)</string> 7 | <key>CFBundleExecutable</key> 8 | <string>$(EXECUTABLE_NAME)</string> 9 | <key>CFBundleIdentifier</key> 10 | <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> 11 | <key>CFBundleInfoDictionaryVersion</key> 12 | <string>6.0</string> 13 | <key>CFBundleName</key> 14 | <string>$(PRODUCT_NAME)</string> 15 | <key>CFBundlePackageType</key> 16 | <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> 17 | <key>CFBundleShortVersionString</key> 18 | <string>1.0</string> 19 | <key>CFBundleVersion</key> 20 | <string>$(CURRENT_PROJECT_VERSION)</string> 21 | </dict> 22 | </plist> 23 | -------------------------------------------------------------------------------- /Xcode/SDL/config.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // config.xcconfig 3 | // 4 | 5 | // Configuration settings file format documentation can be found at: 6 | // https://help.apple.com/xcode/#/dev745c5c974 7 | 8 | // Include any optional config for this build 9 | #include? "build.xcconfig" 10 | 11 | CONFIG_PREPROCESSOR_DEFINITIONS = $(inherited) $(SDL_PREPROCESSOR_DEFINITIONS) 12 | CONFIG_FRAMEWORK_LDFLAGS = $(inherited) 13 | -------------------------------------------------------------------------------- /Xcode/SDL/pkg-support/SDL.info: -------------------------------------------------------------------------------- 1 | Title SDL 3.3.0 2 | Version 1 3 | Description SDL Library for macOS (http://www.libsdl.org) 4 | DefaultLocation /Library/Frameworks 5 | Diskname (null) 6 | DeleteWarning 7 | NeedsAuthorization NO 8 | DisableStop NO 9 | UseUserMask NO 10 | Application NO 11 | Relocatable YES 12 | Required NO 13 | InstallOnly NO 14 | RequiresReboot NO 15 | InstallFat NO 16 | -------------------------------------------------------------------------------- /Xcode/SDL/pkg-support/build.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // build.xcconfig 3 | // 4 | 5 | // Configuration settings file format documentation can be found at: 6 | // https://help.apple.com/xcode/#/dev745c5c974 7 | 8 | SDL_PREPROCESSOR_DEFINITIONS = SDL_VENDOR_INFO=\"libsdl.org\" 9 | -------------------------------------------------------------------------------- /Xcode/SDL/pkg-support/resources/SDL_DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/Xcode/SDL/pkg-support/resources/SDL_DS_Store -------------------------------------------------------------------------------- /Xcode/SDL/pkg-support/resources/framework/INSTALL.md: -------------------------------------------------------------------------------- 1 | 2 | # Using this package 3 | 4 | This package contains SDL built for Xcode. 5 | 6 | To use this package in Xcode, drag `SDL3.framework` into your project. 7 | 8 | # Documentation 9 | 10 | An API reference, tutorials, and additional documentation is available at: 11 | 12 | https://wiki.libsdl.org/SDL3 13 | 14 | # Example code 15 | 16 | There are simple example programs available at: 17 | 18 | https://examples.libsdl.org/SDL3 19 | 20 | # Discussions 21 | 22 | ## Discord 23 | 24 | You can join the official Discord server at: 25 | 26 | https://discord.com/invite/BwpFGBWsv8 27 | 28 | ## Forums/mailing lists 29 | 30 | You can join SDL development discussions at: 31 | 32 | https://discourse.libsdl.org/ 33 | 34 | Once you sign up, you can use the forum through the website or as a mailing list from your email client. 35 | 36 | ## Announcement list 37 | 38 | You can sign up for the low traffic announcement list at: 39 | 40 | https://www.libsdl.org/mailing-list.php 41 | 42 | -------------------------------------------------------------------------------- /Xcode/SDL/pkg-support/sdl_logo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/Xcode/SDL/pkg-support/sdl_logo.pdf -------------------------------------------------------------------------------- /Xcode/SDLTest/config.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // config.xcconfig 3 | // SDL tests 4 | // 5 | 6 | // Configuration settings file format documentation can be found at: 7 | // https://help.apple.com/xcode/#/dev745c5c974 8 | 9 | // Include any optional config for this build 10 | // This allows you to set DEVELOPMENT_TEAM for all targets, for example. 11 | #include? "build.xcconfig" 12 | 13 | CONFIG_FRAMEWORK_LDFLAGS = -lSDL3_test 14 | 15 | -------------------------------------------------------------------------------- /android-project/app/jni/Android.mk: -------------------------------------------------------------------------------- 1 | include $(call all-subdir-makefiles) 2 | -------------------------------------------------------------------------------- /android-project/app/jni/Application.mk: -------------------------------------------------------------------------------- 1 | 2 | # Uncomment this if you're using STL in your project 3 | # You can find more information here: 4 | # https://developer.android.com/ndk/guides/cpp-support 5 | # APP_STL := c++_shared 6 | 7 | APP_ABI := armeabi-v7a arm64-v8a x86 x86_64 8 | 9 | # Min runtime API level 10 | APP_PLATFORM=android-16 11 | -------------------------------------------------------------------------------- /android-project/app/jni/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.6) 2 | 3 | project(GAME) 4 | 5 | # SDL sources are in a subfolder named "SDL" 6 | add_subdirectory(SDL) 7 | 8 | # Compilation of companion libraries 9 | #add_subdirectory(SDL_image) 10 | #add_subdirectory(SDL_mixer) 11 | #add_subdirectory(SDL_ttf) 12 | 13 | # Your game and its CMakeLists.txt are in a subfolder named "src" 14 | add_subdirectory(src) 15 | 16 | -------------------------------------------------------------------------------- /android-project/app/jni/src/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | 3 | include $(CLEAR_VARS) 4 | 5 | LOCAL_MODULE := main 6 | 7 | # Add your application source files here... 8 | LOCAL_SRC_FILES := \ 9 | YourSourceHere.c 10 | 11 | SDL_PATH := ../SDL # SDL 12 | 13 | LOCAL_C_INCLUDES := $(LOCAL_PATH)/$(SDL_PATH)/include # SDL 14 | 15 | LOCAL_SHARED_LIBRARIES := SDL3 16 | 17 | LOCAL_LDLIBS := -lGLESv1_CM -lGLESv2 -lOpenSLES -llog -landroid # SDL 18 | 19 | include $(BUILD_SHARED_LIBRARY) 20 | -------------------------------------------------------------------------------- /android-project/app/jni/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.6) 2 | 3 | project(my_app) 4 | 5 | if(NOT TARGET SDL3::SDL3) 6 | find_package(SDL3 CONFIG) 7 | endif() 8 | 9 | if(NOT TARGET SDL3::SDL3) 10 | find_library(SDL3_LIBRARY NAMES "SDL3") 11 | find_path(SDL3_INCLUDE_DIR NAMES "SDL3/SDL.h") 12 | add_library(SDL3::SDL3 UNKNOWN IMPORTED) 13 | set_property(TARGET SDL3::SDL3 PROPERTY IMPORTED_LOCATION "${SDL3_LIBRARY}") 14 | set_property(TARGET SDL3::SDL3 PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${SDL3_INCLUDE_DIR}") 15 | endif() 16 | 17 | if(NOT TARGET SDL3::SDL3) 18 | message(FATAL_ERROR "Cannot find SDL3. 19 | 20 | Possible ways to fix this: 21 | - Use a SDL3 Android aar archive, and configure gradle to use it: prefab is required. 22 | - Add add_subdirectory(path/to/SDL) to your CMake script, and make sure a vendored SDL is present there. 23 | ") 24 | endif() 25 | 26 | add_library(main SHARED 27 | YourSourceHere.c 28 | ) 29 | target_link_libraries(main PRIVATE SDL3::SDL3) 30 | -------------------------------------------------------------------------------- /android-project/app/src/main/java/org/libsdl/app/HIDDevice.java: -------------------------------------------------------------------------------- 1 | package org.libsdl.app; 2 | 3 | import android.hardware.usb.UsbDevice; 4 | 5 | interface HIDDevice 6 | { 7 | public int getId(); 8 | public int getVendorId(); 9 | public int getProductId(); 10 | public String getSerialNumber(); 11 | public int getVersion(); 12 | public String getManufacturerName(); 13 | public String getProductName(); 14 | public UsbDevice getDevice(); 15 | public boolean open(); 16 | public int writeReport(byte[] report, boolean feature); 17 | public boolean readReport(byte[] report, boolean feature); 18 | public void setFrozen(boolean frozen); 19 | public void close(); 20 | public void shutdown(); 21 | } 22 | -------------------------------------------------------------------------------- /android-project/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/android-project/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android-project/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/android-project/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android-project/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/android-project/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android-project/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/android-project/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android-project/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/android-project/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android-project/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /android-project/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">Game</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /android-project/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <!-- Base application theme. --> 4 | <style name="AppTheme" parent="android:Theme.NoTitleBar.Fullscreen"> 5 | <!-- Customize your theme here. --> 6 | </style> 7 | </resources> 8 | -------------------------------------------------------------------------------- /android-project/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | mavenCentral() 6 | google() 7 | } 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:8.7.3' 10 | 11 | // NOTE: Do not place your application dependencies here; they belong 12 | // in the individual module build.gradle files 13 | } 14 | } 15 | 16 | allprojects { 17 | repositories { 18 | mavenCentral() 19 | google() 20 | } 21 | } 22 | 23 | task clean(type: Delete) { 24 | delete rootProject.buildDir 25 | } 26 | -------------------------------------------------------------------------------- /android-project/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | 14 | # When configured, Gradle will run in incubating parallel mode. 15 | # This option should only be used with decoupled projects. More details, visit 16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 17 | # org.gradle.parallel=true 18 | -------------------------------------------------------------------------------- /android-project/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/android-project/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android-project/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Nov 11 18:20:34 PST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /android-project/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /build-scripts/cmake-toolchain-mingw64-i686.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_SYSTEM_NAME Windows) 2 | set(CMAKE_SYSTEM_PROCESSOR x86) 3 | 4 | find_program(CMAKE_C_COMPILER NAMES i686-w64-mingw32-gcc) 5 | find_program(CMAKE_CXX_COMPILER NAMES i686-w64-mingw32-g++) 6 | find_program(CMAKE_RC_COMPILER NAMES i686-w64-mingw32-windres windres) 7 | 8 | if(NOT CMAKE_C_COMPILER) 9 | message(FATAL_ERROR "Failed to find CMAKE_C_COMPILER.") 10 | endif() 11 | 12 | if(NOT CMAKE_CXX_COMPILER) 13 | message(FATAL_ERROR "Failed to find CMAKE_CXX_COMPILER.") 14 | endif() 15 | 16 | if(NOT CMAKE_RC_COMPILER) 17 | message(FATAL_ERROR "Failed to find CMAKE_RC_COMPILER.") 18 | endif() 19 | -------------------------------------------------------------------------------- /build-scripts/cmake-toolchain-mingw64-x86_64.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_SYSTEM_NAME Windows) 2 | set(CMAKE_SYSTEM_PROCESSOR x86_64) 3 | 4 | find_program(CMAKE_C_COMPILER NAMES x86_64-w64-mingw32-gcc) 5 | find_program(CMAKE_CXX_COMPILER NAMES x86_64-w64-mingw32-g++) 6 | find_program(CMAKE_RC_COMPILER NAMES x86_64-w64-mingw32-windres windres) 7 | 8 | if(NOT CMAKE_C_COMPILER) 9 | message(FATAL_ERROR "Failed to find CMAKE_C_COMPILER.") 10 | endif() 11 | 12 | if(NOT CMAKE_CXX_COMPILER) 13 | message(FATAL_ERROR "Failed to find CMAKE_CXX_COMPILER.") 14 | endif() 15 | 16 | if(NOT CMAKE_RC_COMPILER) 17 | message(FATAL_ERROR "Failed to find CMAKE_RC_COMPILER.") 18 | endif() 19 | -------------------------------------------------------------------------------- /build-scripts/cmake-toolchain-qnx-aarch64le.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_SYSTEM_NAME QNX) 2 | 3 | set(arch gcc_ntoaarch64le) 4 | 5 | set(CMAKE_C_COMPILER qcc) 6 | set(CMAKE_C_COMPILER_TARGET ${arch}) 7 | set(CMAKE_CXX_COMPILER q++) 8 | set(CMAKE_CXX_COMPILER_TARGET ${arch}) 9 | 10 | set(CMAKE_SYSROOT $ENV{QNX_TARGET}) 11 | 12 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 13 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 14 | set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) 15 | -------------------------------------------------------------------------------- /build-scripts/cmake-toolchain-qnx-x86_64.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_SYSTEM_NAME QNX) 2 | 3 | set(arch gcc_ntox86_64) 4 | 5 | set(CMAKE_C_COMPILER qcc) 6 | set(CMAKE_C_COMPILER_TARGET ${arch}) 7 | set(CMAKE_CXX_COMPILER q++) 8 | set(CMAKE_CXX_COMPILER_TARGET ${arch}) 9 | 10 | set(CMAKE_SYSROOT $ENV{QNX_TARGET}) 11 | 12 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 13 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 14 | set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) 15 | -------------------------------------------------------------------------------- /build-scripts/pkg-support/android/aar/description.json.in: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@<@PROJECT_NAME@>@", 3 | "version": "@<@PROJECT_VERSION@>@", 4 | "git-hash": "@<@PROJECT_COMMIT@>@" 5 | } 6 | -------------------------------------------------------------------------------- /build-scripts/pkg-support/mingw/cmake/SDL3Config.cmake: -------------------------------------------------------------------------------- 1 | # SDL3 CMake configuration file: 2 | # This file is meant to be placed in a cmake subfolder of SDL3-devel-3.x.y-mingw 3 | 4 | if(CMAKE_SIZEOF_VOID_P EQUAL 4) 5 | set(sdl3_config_path "${CMAKE_CURRENT_LIST_DIR}/../i686-w64-mingw32/lib/cmake/SDL3/SDL3Config.cmake") 6 | elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) 7 | set(sdl3_config_path "${CMAKE_CURRENT_LIST_DIR}/../x86_64-w64-mingw32/lib/cmake/SDL3/SDL3Config.cmake") 8 | else() 9 | set(SDL3_FOUND FALSE) 10 | return() 11 | endif() 12 | 13 | if(NOT EXISTS "${sdl3_config_path}") 14 | message(WARNING "${sdl3_config_path} does not exist: MinGW development package is corrupted") 15 | set(SDL3_FOUND FALSE) 16 | return() 17 | endif() 18 | 19 | include("${sdl3_config_path}") 20 | -------------------------------------------------------------------------------- /build-scripts/pkg-support/mingw/cmake/SDL3ConfigVersion.cmake: -------------------------------------------------------------------------------- 1 | # SDL3 CMake version configuration file: 2 | # This file is meant to be placed in a cmake subfolder of SDL3-devel-3.x.y-mingw 3 | 4 | if(CMAKE_SIZEOF_VOID_P EQUAL 4) 5 | set(sdl3_config_path "${CMAKE_CURRENT_LIST_DIR}/../i686-w64-mingw32/lib/cmake/SDL3/SDL3ConfigVersion.cmake") 6 | elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) 7 | set(sdl3_config_path "${CMAKE_CURRENT_LIST_DIR}/../x86_64-w64-mingw32/lib/cmake/SDL3/SDL3ConfigVersion.cmake") 8 | else() 9 | set(PACKAGE_VERSION_UNSUITABLE TRUE) 10 | return() 11 | endif() 12 | 13 | if(NOT EXISTS "${sdl3_config_path}") 14 | message(WARNING "${sdl3_config_path} does not exist: MinGW development package is corrupted") 15 | set(PACKAGE_VERSION_UNSUITABLE TRUE) 16 | return() 17 | endif() 18 | 19 | include("${sdl3_config_path}") 20 | -------------------------------------------------------------------------------- /build-scripts/pkg-support/msvc/Directory.Build.props: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <ItemDefinitionGroup> 4 | <ClCompile> 5 | <PreprocessorDefinitions>SDL_VENDOR_INFO="libsdl.org";%(PreprocessorDefinitions)</PreprocessorDefinitions> 6 | </ClCompile> 7 | </ItemDefinitionGroup> 8 | </Project> 9 | -------------------------------------------------------------------------------- /build-scripts/pkg-support/msvc/arm64/INSTALL.md.in: -------------------------------------------------------------------------------- 1 | 2 | # Using this package 3 | 4 | This package contains @<@PROJECT_NAME@>@ built for arm64 Windows. 5 | 6 | To use this package, simply replace an existing 64-bit ARM @<@PROJECT_NAME@>@.dll with the one included here. 7 | 8 | # Development packages 9 | 10 | If you're looking for packages with headers and libraries, you can download one of these: 11 | - @<@PROJECT_NAME@>@-devel-@<@PROJECT_VERSION@>@-VC.zip, for development using Visual Studio 12 | - @<@PROJECT_NAME@>@-devel-@<@PROJECT_VERSION@>@-mingw.zip, for development using mingw-w64 13 | 14 | -------------------------------------------------------------------------------- /build-scripts/pkg-support/msvc/x64/INSTALL.md.in: -------------------------------------------------------------------------------- 1 | 2 | # Using this package 3 | 4 | This package contains @<@PROJECT_NAME@>@ built for x64 Windows. 5 | 6 | To use this package, simply replace an existing 64-bit @<@PROJECT_NAME@>@.dll with the one included here. 7 | 8 | # Development packages 9 | 10 | If you're looking for packages with headers and libraries, you can download one of these: 11 | - @<@PROJECT_NAME@>@-devel-@<@PROJECT_VERSION@>@-VC.zip, for development using Visual Studio 12 | - @<@PROJECT_NAME@>@-devel-@<@PROJECT_VERSION@>@-mingw.zip, for development using mingw-w64 13 | 14 | -------------------------------------------------------------------------------- /build-scripts/pkg-support/msvc/x86/INSTALL.md.in: -------------------------------------------------------------------------------- 1 | 2 | # Using this package 3 | 4 | This package contains @<@PROJECT_NAME@>@ built for x86 Windows. 5 | 6 | To use this package, simply replace an existing 32-bit @<@PROJECT_NAME@>@.dll with the one included here. 7 | 8 | # Development packages 9 | 10 | If you're looking for packages with headers and libraries, you can download one of these: 11 | - @<@PROJECT_NAME@>@-devel-@<@PROJECT_VERSION@>@-VC.zip, for development using Visual Studio 12 | - @<@PROJECT_NAME@>@-devel-@<@PROJECT_VERSION@>@-mingw.zip, for development using mingw-w64 13 | 14 | -------------------------------------------------------------------------------- /build-scripts/strip_fPIC.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # libtool assumes that the compiler can handle the -fPIC flag 4 | # This isn't always true (for example, nasm can't handle it) 5 | command="" 6 | while [ $# -gt 0 ]; do 7 | case "$1" in 8 | -?PIC) 9 | # Ignore -fPIC and -DPIC options 10 | ;; 11 | -fno-common) 12 | # Ignore -fPIC and -DPIC options 13 | ;; 14 | *) 15 | command="$command $1" 16 | ;; 17 | esac 18 | shift 19 | done 20 | echo $command 21 | exec $command 22 | -------------------------------------------------------------------------------- /build-scripts/update-copyright.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "$SED" = "" ]; then 4 | if type gsed >/dev/null; then 5 | SED=gsed 6 | else 7 | SED=sed 8 | fi 9 | fi 10 | 11 | find . -type f \ 12 | | grep -v \.git \ 13 | | while read file; do \ 14 | LC_ALL=C $SED -b -i "s/\(.*Copyright.*\)[0-9]\{4\}\( *Sam Lantinga\)/\1`date +%Y`\2/" "$file"; \ 15 | done 16 | -------------------------------------------------------------------------------- /cmake/SDL3jarTargets.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | set_and_check(SDL3_JAR "@PACKAGE_SDL_INSTALL_JAVADIR@/SDL3/SDL3-@SDL3_VERSION@.jar") 4 | 5 | if(NOT TARGET SDL3::Jar) 6 | add_library(SDL3::Jar INTERFACE IMPORTED) 7 | set_property(TARGET SDL3::Jar PROPERTY JAR_FILE "${SDL3_JAR}") 8 | endif() 9 | 10 | unset(SDL3_JAR) 11 | -------------------------------------------------------------------------------- /cmake/cmake_uninstall.cmake.in: -------------------------------------------------------------------------------- 1 | if (NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") 2 | message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_BINARY_DIR@/install_manifest.txt\"") 3 | endif() 4 | 5 | file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files) 6 | string(REGEX REPLACE "\n" ";" files "${files}") 7 | foreach(file ${files}) 8 | message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") 9 | execute_process( 10 | COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}" 11 | OUTPUT_VARIABLE rm_out 12 | RESULT_VARIABLE rm_retval 13 | ) 14 | if(NOT ${rm_retval} EQUAL 0) 15 | message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") 16 | endif (NOT ${rm_retval} EQUAL 0) 17 | endforeach() 18 | -------------------------------------------------------------------------------- /cmake/sdl3.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@SDL_PKGCONFIG_PREFIX@ 2 | exec_prefix=${prefix} 3 | libdir=@LIBDIR_FOR_PKG_CONFIG@ 4 | includedir=@INCLUDEDIR_FOR_PKG_CONFIG@ 5 | 6 | Name: sdl3 7 | Description: Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. 8 | URL: https://www.libsdl.org/ 9 | Version: @PROJECT_VERSION@ 10 | Requires.private: @SDL_PC_PRIVATE_REQUIRES@ 11 | Conflicts: 12 | Libs: -L${libdir} @SDL_RLD_FLAGS@ @SDL_PC_LIBS@ @SDL_PC_SECTION_LIBS_PRIVATE@ @SDL_PC_STATIC_LIBS@ 13 | Cflags: -I${includedir} @SDL_PC_CFLAGS@ 14 | -------------------------------------------------------------------------------- /cmake/test/inc_sdl_slash.c: -------------------------------------------------------------------------------- 1 | #include "SDL3/SDL.h" 2 | #include "SDL3/SDL_main.h" 3 | 4 | void inc_sdl_slash(void) { 5 | SDL_SetMainReady(); 6 | SDL_Init(0); 7 | SDL_Quit(); 8 | } 9 | -------------------------------------------------------------------------------- /cmake/test/main.swift: -------------------------------------------------------------------------------- 1 | /* Contributed by Piotr Usewicz (https://github.com/pusewicz) */ 2 | 3 | import SDL3 4 | 5 | guard SDL_Init(SDL_INIT_VIDEO) else { 6 | fatalError("SDL_Init error: \(String(cString: SDL_GetError()))") 7 | } 8 | 9 | var sdlVersion = SDL_GetVersion() 10 | 11 | print("SDL version: \(sdlVersion)") 12 | 13 | SDL_Quit() 14 | -------------------------------------------------------------------------------- /cmake/test/main_cli.c: -------------------------------------------------------------------------------- 1 | #define SDL_MAIN_HANDLED 2 | #include <SDL3/SDL.h> 3 | #include <SDL3/SDL_main.h> 4 | 5 | int main(int argc, char *argv[]) 6 | { 7 | SDL_SetMainReady(); 8 | if (!SDL_Init(0)) { 9 | SDL_Log("Could not initialize SDL: %s", SDL_GetError()); 10 | return 1; 11 | } 12 | SDL_Delay(100); 13 | SDL_Quit(); 14 | return 0; 15 | } 16 | -------------------------------------------------------------------------------- /cmake/test/main_lib.c: -------------------------------------------------------------------------------- 1 | #include <SDL3/SDL.h> 2 | #define SDL_MAIN_HANDLED /* don't drag in header-only SDL_main implementation */ 3 | #include <SDL3/SDL_main.h> 4 | 5 | #include EXPORT_HEADER 6 | 7 | #ifdef _WIN32 8 | #include <windows.h> 9 | BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { 10 | return TRUE; 11 | } 12 | #endif 13 | 14 | int MYLIBRARY_EXPORT mylibrary_init(void); 15 | void MYLIBRARY_EXPORT mylibrary_quit(void); 16 | int MYLIBRARY_EXPORT mylibrary_work(void); 17 | 18 | int mylibrary_init(void) { 19 | SDL_SetMainReady(); 20 | if (!SDL_Init(0)) { 21 | SDL_Log("Could not initialize SDL: %s", SDL_GetError()); 22 | return 1; 23 | } 24 | return 0; 25 | } 26 | 27 | void mylibrary_quit(void) { 28 | SDL_Quit(); 29 | } 30 | 31 | int mylibrary_work(void) { 32 | SDL_Delay(100); 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /cmake/test/sdltest.c: -------------------------------------------------------------------------------- 1 | #define SDL_MAIN_USE_CALLBACKS 2 | #include <SDL3/SDL.h> 3 | #include <SDL3/SDL_main.h> 4 | #include <SDL3/SDL_test.h> 5 | 6 | SDL_AppResult SDL_AppEvent(void *appstate, SDL_Event *event) 7 | { 8 | return SDL_APP_SUCCESS; 9 | } 10 | 11 | SDL_AppResult SDL_AppIterate(void *appstate) 12 | { 13 | return SDL_APP_SUCCESS; 14 | } 15 | 16 | SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) 17 | { 18 | SDLTest_CommonState state; 19 | SDLTest_CommonDefaultArgs(&state, argc, argv); 20 | return SDL_APP_SUCCESS; 21 | } 22 | 23 | void SDL_AppQuit(void *appstate, SDL_AppResult result) { 24 | } 25 | -------------------------------------------------------------------------------- /cmake/test/swift/module.modulemap: -------------------------------------------------------------------------------- 1 | module SDL3 [extern_c] { 2 | header "shim.h" 3 | export * 4 | } 5 | -------------------------------------------------------------------------------- /cmake/test/swift/shim.h: -------------------------------------------------------------------------------- 1 | /* Contributed by Piotr Usewicz (https://github.com/pusewicz) */ 2 | 3 | #include <SDL3/SDL.h> 4 | -------------------------------------------------------------------------------- /docs/INTRO-androidstudio.md: -------------------------------------------------------------------------------- 1 | 2 | # Introduction to SDL with Android Studio 3 | 4 | We'll start by creating a simple project to build and run [hello.c](hello.c) 5 | 6 | - Use our handy script to create a template project: 7 | ```sh 8 | ./build-scripts/create-android-project.py org.libsdl.hello docs/hello.c 9 | ``` 10 | - Run Android Studio and open the newly created build/org.libsdl.hello directory 11 | - Build and run! 12 | 13 | A more complete example is available at: 14 | 15 | https://github.com/Ravbug/sdl3-sample 16 | 17 | Additional information and troubleshooting is available in [README-android.md](README-android.md) 18 | -------------------------------------------------------------------------------- /docs/README-bsd.md: -------------------------------------------------------------------------------- 1 | # FreeBSD / OpenBSD / NetBSD 2 | 3 | SDL is fully supported on BSD platforms, and is built using [CMake](README-cmake.md). 4 | 5 | If you want to run on the console, you can take a look at [KMSDRM support on BSD](README-kmsbsd.md) 6 | 7 | -------------------------------------------------------------------------------- /docs/README-haiku.md: -------------------------------------------------------------------------------- 1 | # Haiku OS 2 | 3 | SDL is fully supported on Haiku OS, and is built using [CMake](README-cmake.md). 4 | 5 | -------------------------------------------------------------------------------- /docs/README-ps4.md: -------------------------------------------------------------------------------- 1 | # Sony PlayStation 4 2 | 3 | SDL3 runs on the PS4! There are commercial games shipping with this port. This port is kept in a separate repository, but is available for free, under the zlib license, to anyone that is under NDA for PlayStation development with Sony. Please contact Ryan (icculus at icculus dot org) for details. 4 | -------------------------------------------------------------------------------- /docs/README-ps5.md: -------------------------------------------------------------------------------- 1 | # Sony PlayStation 5 2 | 3 | SDL3 runs on the PS5! There are commercial games shipping with this port. This port is kept in a separate repository, but is available for free, under the zlib license, to anyone that is under NDA for PlayStation development with Sony. Please contact Ryan (icculus at icculus dot org) for details. 4 | -------------------------------------------------------------------------------- /docs/README-psp.md: -------------------------------------------------------------------------------- 1 | PSP 2 | ====== 3 | SDL port for the Sony PSP contributed by: 4 | - Captain Lex 5 | - Francisco Javier Trujillo Mata 6 | - Wouter Wijsman 7 | 8 | 9 | Credit to 10 | Marcus R.Brown, Jim Paris, Matthew H for the original SDL 1.2 for PSP 11 | Geecko for his PSP GU lib "Glib2d" 12 | 13 | ## Building 14 | To build SDL library for the PSP, make sure you have the latest PSPDev status and run: 15 | ```bash 16 | cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$PSPDEV/psp/share/pspdev.cmake 17 | cmake --build build 18 | cmake --install build 19 | ``` 20 | 21 | 22 | ## Getting PSP Dev 23 | [Installing PSP Dev](https://github.com/pspdev/pspdev) 24 | 25 | ## Running on PPSSPP Emulator 26 | [PPSSPP](https://github.com/hrydgard/ppsspp) 27 | 28 | [Build Instructions](https://github.com/hrydgard/ppsspp/wiki/Build-instructions) 29 | 30 | 31 | ## Compiling a HelloWorld 32 | [PSP Hello World](https://pspdev.github.io/basic_programs.html#hello-world) 33 | 34 | ## To Do 35 | - PSP Screen Keyboard 36 | - Dialogs 37 | -------------------------------------------------------------------------------- /docs/README-strings.md: -------------------------------------------------------------------------------- 1 | # String policies in SDL3. 2 | 3 | ## Encoding. 4 | 5 | Unless otherwise specified, all strings in SDL, across all platforms, are 6 | UTF-8 encoded and can represent the full range of [Unicode](https://unicode.org). 7 | 8 | -------------------------------------------------------------------------------- /docs/README-switch.md: -------------------------------------------------------------------------------- 1 | # Nintendo Switch 2 | 3 | SDL3 runs on the Nintendo Switch! There are commercial games shipping with this port. This port is kept in a separate repository, but is available for free, under the zlib license, to anyone that is under NDA for Switch development with Nintendo. Please contact Ryan (icculus at icculus dot org) for details. 4 | -------------------------------------------------------------------------------- /examples/asyncio/01-load-bitmaps/README.txt: -------------------------------------------------------------------------------- 1 | This example code loads a few bitmap files from disk using the asynchronous 2 | i/o, and then draws it to the window. It uses a task group to watch multiple 3 | reads and deal with them in whatever order they finish. 4 | 5 | Note that for a single tiny file like this, you'd probably not want to bother 6 | with async i/o in real life, but this is just an example of how to do it. 7 | -------------------------------------------------------------------------------- /examples/asyncio/01-load-bitmaps/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/asyncio/01-load-bitmaps/thumbnail.png -------------------------------------------------------------------------------- /examples/asyncio/description.txt: -------------------------------------------------------------------------------- 1 | Asynchronous I/O -------------------------------------------------------------------------------- /examples/audio/01-simple-playback/README.txt: -------------------------------------------------------------------------------- 1 | If you're running this in a web browser, you need to click the window before you'll hear anything! 2 | 3 | This example code creates a simple audio stream for playing sound, and 4 | generates a sine wave sound effect for it to play as time goes on. This is the 5 | simplest way to get up and running with procedural sound. 6 | -------------------------------------------------------------------------------- /examples/audio/02-simple-playback-callback/README.txt: -------------------------------------------------------------------------------- 1 | If you're running this in a web browser, you need to click the window before you'll hear anything! 2 | 3 | This example code creates a simple audio stream for playing sound, and 4 | generates a sine wave sound effect for it to play as time goes on. Unlike 5 | the previous example, this uses a callback to generate sound. 6 | -------------------------------------------------------------------------------- /examples/audio/03-load-wav/README.txt: -------------------------------------------------------------------------------- 1 | If you're running this in a web browser, you need to click the window before you'll hear anything! 2 | 3 | This example code creates a simple audio stream for playing sound, and 4 | loads a .wav file that is pushed through the stream in a loop. 5 | 6 | -------------------------------------------------------------------------------- /examples/audio/04-multiple-streams/README.txt: -------------------------------------------------------------------------------- 1 | If you're running this in a web browser, you need to click the window before you'll hear anything! 2 | 3 | This example code loads two .wav files, puts them in audio streams and binds 4 | them for playback, repeating both sounds on loop. This shows several streams 5 | mixing into a single playback device. 6 | -------------------------------------------------------------------------------- /examples/audio/05-planar-data/README.txt: -------------------------------------------------------------------------------- 1 | This example code draws two clickable buttons. Each causes a sound to play, 2 | fed to either the left or right audio channel through separate (planar) 3 | arrays. 4 | 5 | Planar audio can feed both channels at the same time from different arrays, 6 | as well, but this example only uses one channel at a time for clarity. A 7 | NULL array will supply silence for that channel. 8 | -------------------------------------------------------------------------------- /examples/audio/05-planar-data/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/audio/05-planar-data/onmouseover.webp -------------------------------------------------------------------------------- /examples/audio/05-planar-data/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/audio/05-planar-data/thumbnail.png -------------------------------------------------------------------------------- /examples/audio/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/audio/onmouseover.webp -------------------------------------------------------------------------------- /examples/audio/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/audio/thumbnail.png -------------------------------------------------------------------------------- /examples/camera/01-read-and-draw/README.txt: -------------------------------------------------------------------------------- 1 | This reads from a webcam and draws frames of video to the screen. 2 | -------------------------------------------------------------------------------- /examples/camera/01-read-and-draw/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/camera/01-read-and-draw/onmouseover.webp -------------------------------------------------------------------------------- /examples/camera/01-read-and-draw/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/camera/01-read-and-draw/thumbnail.png -------------------------------------------------------------------------------- /examples/categories.txt: -------------------------------------------------------------------------------- 1 | # Blank lines and lines that start with '#' in this file are ignored. 2 | 3 | # Categories, by directory name, go in here, in the order they should be 4 | # listed on the main page. If this file is missing, it'll assume any 5 | # subdirectory is a category and sort them alphabetically. 6 | 7 | renderer 8 | input 9 | audio 10 | camera 11 | asyncio 12 | pen 13 | demo 14 | -------------------------------------------------------------------------------- /examples/demo/01-snake/README.txt: -------------------------------------------------------------------------------- 1 | A complete game of Snake, written in SDL. 2 | -------------------------------------------------------------------------------- /examples/demo/01-snake/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/demo/01-snake/onmouseover.webp -------------------------------------------------------------------------------- /examples/demo/01-snake/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/demo/01-snake/thumbnail.png -------------------------------------------------------------------------------- /examples/demo/02-woodeneye-008/README.txt: -------------------------------------------------------------------------------- 1 | Minimal splitscreen FPS with multiple mouse and keyboards, drawn with the 2D Render API. -------------------------------------------------------------------------------- /examples/demo/02-woodeneye-008/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/demo/02-woodeneye-008/onmouseover.webp -------------------------------------------------------------------------------- /examples/demo/02-woodeneye-008/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/demo/02-woodeneye-008/thumbnail.png -------------------------------------------------------------------------------- /examples/demo/03-infinite-monkeys/README.txt: -------------------------------------------------------------------------------- 1 | 2 | How many monkeys does it take to write the complete works of Shakespeare? 3 | 4 | Now you can find out! 5 | 6 | Cheer on your favorite monkey as they bash keyboards on their way through classic literature. 7 | 8 | -------------------------------------------------------------------------------- /examples/demo/03-infinite-monkeys/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/demo/03-infinite-monkeys/onmouseover.webp -------------------------------------------------------------------------------- /examples/demo/03-infinite-monkeys/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/demo/03-infinite-monkeys/thumbnail.png -------------------------------------------------------------------------------- /examples/demo/04-bytepusher/README.txt: -------------------------------------------------------------------------------- 1 | An implementation of the BytePusher VM 2 | 3 | For example programs and more information about BytePusher, see 4 | https://esolangs.org/wiki/BytePusher 5 | -------------------------------------------------------------------------------- /examples/demo/04-bytepusher/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/demo/04-bytepusher/onmouseover.webp -------------------------------------------------------------------------------- /examples/demo/04-bytepusher/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/demo/04-bytepusher/thumbnail.png -------------------------------------------------------------------------------- /examples/demo/description.txt: -------------------------------------------------------------------------------- 1 | Full game and app demos -------------------------------------------------------------------------------- /examples/input/01-joystick-polling/README.txt: -------------------------------------------------------------------------------- 1 | This example code looks for the current joystick state once per frame, 2 | and draws a visual representation of it. 3 | -------------------------------------------------------------------------------- /examples/input/01-joystick-polling/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/input/01-joystick-polling/onmouseover.webp -------------------------------------------------------------------------------- /examples/input/01-joystick-polling/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/input/01-joystick-polling/thumbnail.png -------------------------------------------------------------------------------- /examples/input/02-joystick-events/README.txt: -------------------------------------------------------------------------------- 1 | This example code looks for joystick input in the event handler, and 2 | reports any changes as a flood of info. 3 | -------------------------------------------------------------------------------- /examples/input/02-joystick-events/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/input/02-joystick-events/onmouseover.webp -------------------------------------------------------------------------------- /examples/input/02-joystick-events/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/input/02-joystick-events/thumbnail.png -------------------------------------------------------------------------------- /examples/pen/01-drawing-lines/README.txt: -------------------------------------------------------------------------------- 1 | You need something with a pen/stylus for this to work. 2 | 3 | This takes pen input and draws lines. Lines are darker when you press harder. 4 | -------------------------------------------------------------------------------- /examples/pen/01-drawing-lines/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/pen/01-drawing-lines/onmouseover.webp -------------------------------------------------------------------------------- /examples/pen/01-drawing-lines/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/pen/01-drawing-lines/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/01-clear/README.txt: -------------------------------------------------------------------------------- 1 | This example code creates an SDL window and renderer, and then clears the 2 | window to a different color every frame, so you'll effectively get a window 3 | that's smoothly fading between colors. 4 | -------------------------------------------------------------------------------- /examples/renderer/01-clear/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/01-clear/onmouseover.webp -------------------------------------------------------------------------------- /examples/renderer/01-clear/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/01-clear/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/02-primitives/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, and then draws some lines, 2 | rectangles and points to it every frame. 3 | 4 | This is just a quick overview of simple drawing primitives; futher examples 5 | will explore them in more detail. 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/renderer/02-primitives/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/02-primitives/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/03-lines/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, and then draws a something 2 | roughly like a Christmas tree with nothing but lines, every frame. 3 | 4 | -------------------------------------------------------------------------------- /examples/renderer/03-lines/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/03-lines/onmouseover.webp -------------------------------------------------------------------------------- /examples/renderer/03-lines/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/03-lines/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/04-points/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, and then draws a bunch of 2 | single points, moving across the screen. 3 | 4 | -------------------------------------------------------------------------------- /examples/renderer/04-points/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/04-points/onmouseover.webp -------------------------------------------------------------------------------- /examples/renderer/04-points/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/04-points/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/05-rectangles/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, and then draws a few 2 | rectangles that change size each frame. 3 | 4 | -------------------------------------------------------------------------------- /examples/renderer/05-rectangles/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/05-rectangles/onmouseover.webp -------------------------------------------------------------------------------- /examples/renderer/05-rectangles/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/05-rectangles/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/06-textures/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, loads a texture from a 2 | .bmp file, and then draws it a few times each frame. 3 | 4 | -------------------------------------------------------------------------------- /examples/renderer/06-textures/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/06-textures/onmouseover.webp -------------------------------------------------------------------------------- /examples/renderer/06-textures/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/06-textures/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/07-streaming-textures/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, then a streaming texture that 2 | it will update every frame before drawing it to the screen. 3 | 4 | -------------------------------------------------------------------------------- /examples/renderer/07-streaming-textures/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/07-streaming-textures/onmouseover.webp -------------------------------------------------------------------------------- /examples/renderer/07-streaming-textures/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/07-streaming-textures/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/08-rotating-textures/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, loads a texture from a .bmp 2 | file, and then draws it, rotating around the center of the screen. 3 | 4 | -------------------------------------------------------------------------------- /examples/renderer/08-rotating-textures/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/08-rotating-textures/onmouseover.webp -------------------------------------------------------------------------------- /examples/renderer/08-rotating-textures/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/08-rotating-textures/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/09-scaling-textures/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, loads a texture from a .bmp 2 | file, and then draws it, scaling it up and down. 3 | 4 | -------------------------------------------------------------------------------- /examples/renderer/09-scaling-textures/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/09-scaling-textures/onmouseover.webp -------------------------------------------------------------------------------- /examples/renderer/09-scaling-textures/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/09-scaling-textures/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/10-geometry/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, loads a texture from a .bmp 2 | file, and then draws geometry (arbitrary polygons) using it. 3 | 4 | -------------------------------------------------------------------------------- /examples/renderer/10-geometry/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/10-geometry/onmouseover.webp -------------------------------------------------------------------------------- /examples/renderer/10-geometry/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/10-geometry/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/11-color-mods/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, loads a texture from a 2 | .bmp file, and then draws it a few times each frame, adjusting the colors. 3 | 4 | -------------------------------------------------------------------------------- /examples/renderer/11-color-mods/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/11-color-mods/onmouseover.webp -------------------------------------------------------------------------------- /examples/renderer/11-color-mods/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/11-color-mods/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/14-viewport/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, loads a texture 2 | from a .bmp file, and then draws it a few times each frame, adjusting 3 | the viewport before each draw. 4 | 5 | -------------------------------------------------------------------------------- /examples/renderer/14-viewport/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/14-viewport/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/15-cliprect/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, loads a texture 2 | from a .bmp file, and stretches it across the window. Each frame, we move 3 | the clipping rectangle around, so only a small square of the texture is 4 | actually drawn. 5 | 6 | -------------------------------------------------------------------------------- /examples/renderer/15-cliprect/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/15-cliprect/onmouseover.webp -------------------------------------------------------------------------------- /examples/renderer/15-cliprect/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/15-cliprect/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/17-read-pixels/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, and draws a 2 | rotating texture to it, reads back the rendered pixels, converts them to 3 | black and white, and then draws the converted image to a corner of the 4 | screen. 5 | 6 | This isn't necessarily an efficient thing to do--in real life one might 7 | want to do this sort of thing with a render target--but it's just a visual 8 | example of how to use SDL_RenderReadPixels(). 9 | 10 | A better, but less visual, use of SDL_RenderReadPixels() is to make 11 | screenshots: you grab the current contents of the screen, and save the pixels 12 | as a bitmap file or whatever. 13 | -------------------------------------------------------------------------------- /examples/renderer/17-read-pixels/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/17-read-pixels/onmouseover.webp -------------------------------------------------------------------------------- /examples/renderer/17-read-pixels/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/17-read-pixels/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/18-debug-text/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, and draws some text 2 | using SDL_RenderDebugText(). This is not quality text rendering, but it can 3 | be helpful for simple apps, debugging, or showing something in a pinch. 4 | 5 | -------------------------------------------------------------------------------- /examples/renderer/18-debug-text/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/18-debug-text/thumbnail.png -------------------------------------------------------------------------------- /examples/renderer/19-affine-textures/README.txt: -------------------------------------------------------------------------------- 1 | This example creates an SDL window and renderer, and uses 2 | SDL_RenderTextureAffine to draw a 3D cube using only 2D rendering operations. 3 | 4 | -------------------------------------------------------------------------------- /examples/renderer/19-affine-textures/onmouseover.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/19-affine-textures/onmouseover.webp -------------------------------------------------------------------------------- /examples/renderer/19-affine-textures/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/renderer/19-affine-textures/thumbnail.png -------------------------------------------------------------------------------- /examples/template-placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/examples/template-placeholder.png -------------------------------------------------------------------------------- /include/SDL3/SDL_opengles2_gl2platform.h: -------------------------------------------------------------------------------- 1 | #ifndef __gl2platform_h_ 2 | #define __gl2platform_h_ 3 | 4 | /* 5 | ** Copyright 2017-2020 The Khronos Group Inc. 6 | ** SPDX-License-Identifier: Apache-2.0 7 | */ 8 | 9 | /* Platform-specific types and definitions for OpenGL ES 2.X gl2.h 10 | * 11 | * Adopters may modify khrplatform.h and this file to suit their platform. 12 | * Please contribute modifications back to Khronos as pull requests on the 13 | * public github repository: 14 | * https://github.com/KhronosGroup/OpenGL-Registry 15 | */ 16 | 17 | /*#include <KHR/khrplatform.h>*/ 18 | 19 | #ifndef GL_APICALL 20 | #define GL_APICALL KHRONOS_APICALL 21 | #endif 22 | 23 | #ifndef GL_APIENTRY 24 | #define GL_APIENTRY KHRONOS_APIENTRY 25 | #endif 26 | 27 | #endif /* __gl2platform_h_ */ 28 | -------------------------------------------------------------------------------- /src/core/windows/pch.c: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org> 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | #include "SDL_internal.h" 22 | -------------------------------------------------------------------------------- /src/core/windows/pch_cpp.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org> 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | #include "SDL_internal.h" 22 | -------------------------------------------------------------------------------- /src/gpu/d3d12/compile_shaders_xbox.bat: -------------------------------------------------------------------------------- 1 | if %2.==one. goto setxboxone 2 | rem Xbox Series compile 3 | set DXC="%GameDKLatest%\GXDK\bin\Scarlett\DXC.exe" 4 | set SUFFIX=_Series.h 5 | goto startbuild 6 | 7 | :setxboxone 8 | set DXC="%GameDKLatest%\GXDK\bin\XboxOne\DXC.exe" 9 | set SUFFIX=_One.h 10 | 11 | :startbuild 12 | 13 | call "%~dp0\compile_shaders.bat" 14 | -------------------------------------------------------------------------------- /src/hidapi/AUTHORS.txt: -------------------------------------------------------------------------------- 1 | 2 | HIDAPI Authors: 3 | 4 | Alan Ott <alan@signal11.us>: 5 | Original Author and Maintainer 6 | Linux, Windows, and Mac implementations 7 | 8 | Ludovic Rousseau <rousseau@debian.org>: 9 | Formatting for Doxygen documentation 10 | Bug fixes 11 | Correctness fixes 12 | 13 | libusb/hidapi Team: 14 | Development/maintenance since June 4th 2019 15 | 16 | For a comprehensive list of contributions, see the commit list at github: 17 | https://github.com/libusb/hidapi/graphs/contributors 18 | 19 | -------------------------------------------------------------------------------- /src/hidapi/HACKING.txt: -------------------------------------------------------------------------------- 1 | This file is mostly for the maintainer. 2 | 3 | Updating a Version: 4 | 1. Update VERSION file. 5 | 2. HID_API_VERSION_MAJOR/HID_API_VERSION_MINOR/HID_API_VERSION_PATCH in hidapi.h. 6 | 7 | Before firing a new release: 8 | 1. Run the "Checks" Githtub Action 9 | 2. Make sure no defects are found at: https://scan.coverity.com/projects/hidapi 10 | 3. Fix if any 11 | 12 | Firing a new release: 13 | 1. Update the Version (if not yet updated). 14 | 2. Prepare the Release Notes. 15 | 3. Store the Release Notes into a file. 16 | 4. Create locally an annotated git tag with release notes attached, e.g.: `git tag -aF ../hidapi_release_notes hidapi-<VERSION>` 17 | 5. Push newly created tag: `git push origin hidapi-<VERSION>` 18 | 6. Grab the hidapi-win.zip from Summary page of "GitHub Builds" Action for latest master build. 19 | 7. Create a Github Release with hidapi-win.zip attached, for newly created tag. 20 | -------------------------------------------------------------------------------- /src/hidapi/LICENSE-orig.txt: -------------------------------------------------------------------------------- 1 | HIDAPI - Multi-Platform library for 2 | communication with HID devices. 3 | 4 | Copyright 2009, Alan Ott, Signal 11 Software. 5 | All Rights Reserved. 6 | 7 | This software may be used by anyone for any reason so 8 | long as the copyright notice in the source files 9 | remains intact. 10 | -------------------------------------------------------------------------------- /src/hidapi/LICENSE.txt: -------------------------------------------------------------------------------- 1 | HIDAPI can be used under one of three licenses. 2 | 3 | 1. The GNU General Public License, version 3.0, in LICENSE-gpl3.txt 4 | 2. A BSD-Style License, in LICENSE-bsd.txt. 5 | 3. The more liberal original HIDAPI license. LICENSE-orig.txt 6 | 7 | The license chosen is at the discretion of the user of HIDAPI. For example: 8 | 1. An author of GPL software would likely use HIDAPI under the terms of the 9 | GPL. 10 | 11 | 2. An author of commercial closed-source software would likely use HIDAPI 12 | under the terms of the BSD-style license or the original HIDAPI license. 13 | 14 | -------------------------------------------------------------------------------- /src/hidapi/VERSION: -------------------------------------------------------------------------------- 1 | 0.14.0 -------------------------------------------------------------------------------- /src/hidapi/bootstrap: -------------------------------------------------------------------------------- 1 | #!/bin/sh -x 2 | autoreconf --install --verbose --force 3 | -------------------------------------------------------------------------------- /src/hidapi/documentation/cmake-gui-drop-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/src/hidapi/documentation/cmake-gui-drop-down.png -------------------------------------------------------------------------------- /src/hidapi/documentation/cmake-gui-highlights.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/src/hidapi/documentation/cmake-gui-highlights.png -------------------------------------------------------------------------------- /src/hidapi/doxygen/main_page.md: -------------------------------------------------------------------------------- 1 | # HIDAPI Doxygen output 2 | 3 | This site is dedicated to hosting an [API reference for the HIDAPI library](#API). 4 | 5 | For general information, see the [source repository](https://github.com/libusb/hidapi#readme). 6 | 7 | There are also build instructions hosted on github: 8 | 9 | - [Building from source](https://github.com/libusb/hidapi/blob/master/BUILD.md) 10 | - [Using CMake](https://github.com/libusb/hidapi/blob/master/BUILD.cmake.md) 11 | - [Using Autotools (deprecated)](https://github.com/libusb/hidapi/blob/master/BUILD.autotools.md) 12 | 13 | \example test.c contains a basic example usage of the HIDAPI library. 14 | -------------------------------------------------------------------------------- /src/hidapi/hidtest/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = -I$(top_srcdir)/hidapi/ 2 | 3 | ## Linux 4 | if OS_LINUX 5 | noinst_PROGRAMS = hidtest-libusb hidtest-hidraw 6 | 7 | hidtest_hidraw_SOURCES = test.c 8 | hidtest_hidraw_LDADD = $(top_builddir)/linux/libhidapi-hidraw.la 9 | 10 | hidtest_libusb_SOURCES = test.c 11 | hidtest_libusb_LDADD = $(top_builddir)/libusb/libhidapi-libusb.la 12 | else 13 | 14 | # Other OS's 15 | noinst_PROGRAMS = hidtest 16 | 17 | hidtest_SOURCES = test.c 18 | hidtest_LDADD = $(top_builddir)/$(backend)/libhidapi.la 19 | 20 | endif 21 | 22 | if OS_DARWIN 23 | AM_CPPFLAGS += -I$(top_srcdir)/mac/ 24 | endif 25 | 26 | if OS_WINDOWS 27 | AM_CPPFLAGS += -I$(top_srcdir)/windows/ 28 | endif 29 | -------------------------------------------------------------------------------- /src/hidapi/libusb/Makefile-manual: -------------------------------------------------------------------------------- 1 | 2 | 3 | OS=$(shell uname) 4 | 5 | ifeq ($(OS), Linux) 6 | FILE=Makefile.linux 7 | endif 8 | 9 | ifeq ($(OS), FreeBSD) 10 | FILE=Makefile.freebsd 11 | endif 12 | 13 | ifeq ($(OS), Haiku) 14 | FILE=Makefile.haiku 15 | endif 16 | 17 | ifeq ($(FILE), ) 18 | all: 19 | $(error Your platform ${OS} is not supported by hidapi/libusb at this time.) 20 | endif 21 | 22 | include $(FILE) 23 | -------------------------------------------------------------------------------- /src/hidapi/libusb/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = -I$(top_srcdir)/hidapi $(CFLAGS_LIBUSB) 2 | 3 | if OS_LINUX 4 | lib_LTLIBRARIES = libhidapi-libusb.la 5 | libhidapi_libusb_la_SOURCES = hid.c 6 | libhidapi_libusb_la_LDFLAGS = $(LTLDFLAGS) $(PTHREAD_CFLAGS) 7 | libhidapi_libusb_la_LIBADD = $(LIBS_LIBUSB) 8 | endif 9 | 10 | if OS_FREEBSD 11 | lib_LTLIBRARIES = libhidapi.la 12 | libhidapi_la_SOURCES = hid.c 13 | libhidapi_la_LDFLAGS = $(LTLDFLAGS) 14 | libhidapi_la_LIBADD = $(LIBS_LIBUSB) 15 | endif 16 | 17 | if OS_KFREEBSD 18 | lib_LTLIBRARIES = libhidapi.la 19 | libhidapi_la_SOURCES = hid.c 20 | libhidapi_la_LDFLAGS = $(LTLDFLAGS) 21 | libhidapi_la_LIBADD = $(LIBS_LIBUSB) 22 | endif 23 | 24 | if OS_HAIKU 25 | lib_LTLIBRARIES = libhidapi.la 26 | libhidapi_la_SOURCES = hid.c 27 | libhidapi_la_LDFLAGS = $(LTLDFLAGS) 28 | libhidapi_la_LIBADD = $(LIBS_LIBUSB) 29 | endif 30 | 31 | hdrdir = $(includedir)/hidapi 32 | hdr_HEADERS = $(top_srcdir)/hidapi/hidapi.h hidapi_libusb.h 33 | 34 | EXTRA_DIST = Makefile-manual 35 | -------------------------------------------------------------------------------- /src/hidapi/libusb/Makefile.freebsd: -------------------------------------------------------------------------------- 1 | ########################################### 2 | # Simple Makefile for HIDAPI test program 3 | # 4 | # Alan Ott 5 | # Signal 11 Software 6 | # 2010-06-01 7 | ########################################### 8 | 9 | all: hidtest libs 10 | 11 | libs: libhidapi.so 12 | 13 | CC ?= cc 14 | CFLAGS ?= -Wall -g -fPIC 15 | 16 | COBJS = hid.o ../hidtest/test.o 17 | OBJS = $(COBJS) 18 | INCLUDES = -I../hidapi -I. -I/usr/local/include 19 | LDFLAGS = -L/usr/local/lib 20 | LIBS = -lusb -liconv -pthread 21 | 22 | 23 | # Console Test Program 24 | hidtest: $(OBJS) 25 | $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS) 26 | 27 | # Shared Libs 28 | libhidapi.so: $(COBJS) 29 | $(CC) $(LDFLAGS) -shared -Wl,-soname,$@.0 $^ -o $@ $(LIBS) 30 | 31 | # Objects 32 | $(COBJS): %.o: %.c 33 | $(CC) $(CFLAGS) -c $(INCLUDES) lt; -o $@ 34 | 35 | 36 | clean: 37 | rm -f $(OBJS) hidtest libhidapi.so ../hidtest/hidtest.o 38 | 39 | .PHONY: clean libs 40 | -------------------------------------------------------------------------------- /src/hidapi/libusb/Makefile.haiku: -------------------------------------------------------------------------------- 1 | ########################################### 2 | # Simple Makefile for HIDAPI test program 3 | # 4 | # Alan Ott 5 | # Signal 11 Software 6 | # 2010-06-01 7 | ########################################### 8 | 9 | all: hidtest libs 10 | 11 | libs: libhidapi.so 12 | 13 | CC ?= cc 14 | CFLAGS ?= -Wall -g -fPIC 15 | 16 | COBJS = hid.o ../hidtest/test.o 17 | OBJS = $(COBJS) 18 | INCLUDES = -I../hidapi -I. -I/usr/local/include 19 | LDFLAGS = -L/usr/local/lib 20 | LIBS = -lusb -liconv -pthread 21 | 22 | 23 | # Console Test Program 24 | hidtest: $(OBJS) 25 | $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS) 26 | 27 | # Shared Libs 28 | libhidapi.so: $(COBJS) 29 | $(CC) $(LDFLAGS) -shared -Wl,-soname,$@.0 $^ -o $@ $(LIBS) 30 | 31 | # Objects 32 | $(COBJS): %.o: %.c 33 | $(CC) $(CFLAGS) -c $(INCLUDES) lt; -o $@ 34 | 35 | 36 | clean: 37 | rm -f $(OBJS) hidtest libhidapi.so ../hidtest/hidtest.o 38 | 39 | .PHONY: clean libs 40 | -------------------------------------------------------------------------------- /src/hidapi/linux/Makefile-manual: -------------------------------------------------------------------------------- 1 | ########################################### 2 | # Simple Makefile for HIDAPI test program 3 | # 4 | # Alan Ott 5 | # Signal 11 Software 6 | # 2010-06-01 7 | ########################################### 8 | 9 | all: hidtest-hidraw libs 10 | 11 | libs: libhidapi-hidraw.so 12 | 13 | CC ?= gcc 14 | CFLAGS ?= -Wall -g -fpic 15 | 16 | LDFLAGS ?= -Wall -g 17 | 18 | 19 | COBJS = hid.o ../hidtest/test.o 20 | OBJS = $(COBJS) 21 | LIBS_UDEV = `pkg-config libudev --libs` -lrt 22 | LIBS = $(LIBS_UDEV) 23 | INCLUDES ?= -I../hidapi `pkg-config libusb-1.0 --cflags` 24 | 25 | 26 | # Console Test Program 27 | hidtest-hidraw: $(COBJS) 28 | $(CC) $(LDFLAGS) $^ $(LIBS_UDEV) -o $@ 29 | 30 | # Shared Libs 31 | libhidapi-hidraw.so: $(COBJS) 32 | $(CC) $(LDFLAGS) $(LIBS_UDEV) -shared -fpic -Wl,-soname,$@.0 $^ -o $@ 33 | 34 | # Objects 35 | $(COBJS): %.o: %.c 36 | $(CC) $(CFLAGS) -c $(INCLUDES) lt; -o $@ 37 | 38 | 39 | clean: 40 | rm -f $(OBJS) hidtest-hidraw libhidapi-hidraw.so $(COBJS) 41 | 42 | .PHONY: clean libs 43 | -------------------------------------------------------------------------------- /src/hidapi/linux/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libhidapi-hidraw.la 2 | libhidapi_hidraw_la_SOURCES = hid.c 3 | libhidapi_hidraw_la_LDFLAGS = $(LTLDFLAGS) 4 | AM_CPPFLAGS = -I$(top_srcdir)/hidapi/ $(CFLAGS_HIDRAW) 5 | libhidapi_hidraw_la_LIBADD = $(LIBS_HIDRAW) 6 | 7 | hdrdir = $(includedir)/hidapi 8 | hdr_HEADERS = $(top_srcdir)/hidapi/hidapi.h 9 | 10 | EXTRA_DIST = Makefile-manual 11 | -------------------------------------------------------------------------------- /src/hidapi/mac/Makefile-manual: -------------------------------------------------------------------------------- 1 | ########################################### 2 | # Simple Makefile for HIDAPI test program 3 | # 4 | # Alan Ott 5 | # Signal 11 Software 6 | # 2010-07-03 7 | ########################################### 8 | 9 | all: hidtest 10 | 11 | CC=gcc 12 | COBJS=hid.o ../hidtest/test.o 13 | OBJS=$(COBJS) 14 | CFLAGS+=-I../hidapi -I. -Wall -g -c 15 | LIBS=-framework IOKit -framework CoreFoundation 16 | 17 | 18 | hidtest: $(OBJS) 19 | $(CC) -Wall -g $^ $(LIBS) -o hidtest 20 | 21 | $(COBJS): %.o: %.c 22 | $(CC) $(CFLAGS) lt; -o $@ 23 | 24 | clean: 25 | rm -f *.o hidtest 26 | 27 | .PHONY: clean 28 | -------------------------------------------------------------------------------- /src/hidapi/mac/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libhidapi.la 2 | libhidapi_la_SOURCES = hid.c 3 | libhidapi_la_LDFLAGS = $(LTLDFLAGS) 4 | AM_CPPFLAGS = -I$(top_srcdir)/hidapi/ 5 | 6 | hdrdir = $(includedir)/hidapi 7 | hdr_HEADERS = $(top_srcdir)/hidapi/hidapi.h 8 | 9 | EXTRA_DIST = Makefile-manual 10 | -------------------------------------------------------------------------------- /src/hidapi/meson.build: -------------------------------------------------------------------------------- 1 | project('hidapi', meson_version: '>=0.57.0', version: files('VERSION')) 2 | 3 | cmake = import('cmake') 4 | 5 | hidapi_build_options = cmake.subproject_options() 6 | hidapi_build_options.set_install(true) 7 | 8 | hidapi_build = cmake.subproject('hidapi_build_cmake', options: hidapi_build_options) 9 | 10 | if (hidapi_build.target_list().contains('hidapi_winapi')) 11 | hidapi_winapi_dep = hidapi_build.dependency('hidapi_winapi') 12 | hidapi_dep = hidapi_winapi_dep 13 | elif (hidapi_build.target_list().contains('hidapi_darwin')) 14 | hidapi_darwin_dep = hidapi_build.dependency('hidapi_darwin') 15 | hidapi_dep = hidapi_darwin_dep 16 | elif (hidapi_build.target_list().contains('hidapi_hidraw')) 17 | hidapi_hidraw_dep = hidapi_build.dependency('hidapi_hidraw') 18 | hidapi_dep = hidapi_hidraw_dep 19 | elif (hidapi_build.target_list().contains('hidapi_libusb')) 20 | hidapi_libusb_dep = hidapi_build.dependency('hidapi_libusb') 21 | hidapi_dep = hidapi_libusb_dep 22 | endif 23 | -------------------------------------------------------------------------------- /src/hidapi/pc/hidapi-hidraw.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: hidapi-hidraw 7 | Description: C Library for USB/Bluetooth HID device access from Linux, Mac OS X, FreeBSD, and Windows. This is the hidraw implementation. 8 | URL: https://github.com/libusb/hidapi 9 | Version: @VERSION@ 10 | Libs: -L${libdir} -lhidapi-hidraw 11 | Cflags: -I${includedir}/hidapi 12 | -------------------------------------------------------------------------------- /src/hidapi/pc/hidapi-libusb.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: hidapi-libusb 7 | Description: C Library for USB HID device access from Linux, Mac OS X, FreeBSD, and Windows. This is the libusb implementation. 8 | URL: https://github.com/libusb/hidapi 9 | Version: @VERSION@ 10 | Libs: -L${libdir} -lhidapi-libusb 11 | Cflags: -I${includedir}/hidapi 12 | -------------------------------------------------------------------------------- /src/hidapi/pc/hidapi-netbsd.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: hidapi-netbsd 7 | Description: C Library for USB/Bluetooth HID device access from Linux, Mac OS X, FreeBSD, and Windows. This is the netbsd implementation. 8 | URL: https://github.com/libusb/hidapi 9 | Version: @VERSION@ 10 | Libs: -L${libdir} -lhidapi-netbsd 11 | Cflags: -I${includedir}/hidapi 12 | -------------------------------------------------------------------------------- /src/hidapi/pc/hidapi.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: hidapi 7 | Description: C Library for USB/Bluetooth HID device access from Linux, Mac OS X, FreeBSD, and Windows. 8 | URL: https://github.com/libusb/hidapi 9 | Version: @VERSION@ 10 | Libs: -L${libdir} -lhidapi 11 | Cflags: -I${includedir}/hidapi 12 | -------------------------------------------------------------------------------- /src/hidapi/subprojects/README.md: -------------------------------------------------------------------------------- 1 | This folder is used only to support [meson.build](../meson.build) `subproject` command 2 | which would only look for a subproject in a "subprojects" directory. -------------------------------------------------------------------------------- /src/hidapi/subprojects/hidapi_build_cmake/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.1.3...3.25 FATAL_ERROR) 2 | project(hidapi LANGUAGES C) 3 | 4 | file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/root") 5 | 6 | foreach(ROOT_ELEMENT CMakeLists.txt hidapi src windows linux mac libusb pc VERSION) 7 | file(COPY "${CMAKE_CURRENT_LIST_DIR}/../../${ROOT_ELEMENT}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/root/") 8 | endforeach() 9 | 10 | add_subdirectory("${CMAKE_CURRENT_BINARY_DIR}/root" hidapi_root) 11 | -------------------------------------------------------------------------------- /src/hidapi/testgui/Makefile-manual: -------------------------------------------------------------------------------- 1 | 2 | 3 | OS=$(shell uname) 4 | 5 | ifeq ($(OS), Darwin) 6 | FILE=Makefile.mac 7 | endif 8 | 9 | ifneq (,$(findstring MINGW,$(OS))) 10 | FILE=Makefile.mingw 11 | endif 12 | 13 | ifeq ($(OS), Linux) 14 | FILE=Makefile.linux 15 | endif 16 | 17 | ifeq ($(OS), FreeBSD) 18 | FILE=Makefile.freebsd 19 | endif 20 | 21 | ifeq ($(FILE), ) 22 | all: 23 | $(error Your platform ${OS} is not supported at this time.) 24 | endif 25 | 26 | include $(FILE) 27 | -------------------------------------------------------------------------------- /src/hidapi/testgui/Makefile.freebsd: -------------------------------------------------------------------------------- 1 | ########################################### 2 | # Simple Makefile for HIDAPI test program 3 | # 4 | # Alan Ott 5 | # Signal 11 Software 6 | # 2010-06-01 7 | ########################################### 8 | 9 | all: testgui 10 | 11 | CC=cc 12 | CXX=c++ 13 | COBJS=../libusb/hid.o 14 | CPPOBJS=test.o 15 | OBJS=$(COBJS) $(CPPOBJS) 16 | CFLAGS=-I../hidapi -I/usr/local/include `fox-config --cflags` -Wall -g -c 17 | LDFLAGS= -L/usr/local/lib 18 | LIBS= -lusb -liconv `fox-config --libs` -pthread 19 | 20 | 21 | testgui: $(OBJS) 22 | $(CXX) -Wall -g $^ $(LDFLAGS) -o $@ $(LIBS) 23 | 24 | $(COBJS): %.o: %.c 25 | $(CC) $(CFLAGS) lt; -o $@ 26 | 27 | $(CPPOBJS): %.o: %.cpp 28 | $(CXX) $(CFLAGS) lt; -o $@ 29 | 30 | clean: 31 | rm *.o testgui 32 | 33 | .PHONY: clean 34 | -------------------------------------------------------------------------------- /src/hidapi/testgui/Makefile.linux: -------------------------------------------------------------------------------- 1 | ########################################### 2 | # Simple Makefile for HIDAPI test program 3 | # 4 | # Alan Ott 5 | # Signal 11 Software 6 | # 2010-06-01 7 | ########################################### 8 | 9 | all: testgui 10 | 11 | CC=gcc 12 | CXX=g++ 13 | COBJS=../libusb/hid.o 14 | CPPOBJS=test.o 15 | OBJS=$(COBJS) $(CPPOBJS) 16 | CFLAGS=-I../hidapi -Wall -g -c `fox-config --cflags` `pkg-config libusb-1.0 --cflags` 17 | LIBS=-ludev -lrt -lpthread `fox-config --libs` `pkg-config libusb-1.0 --libs` 18 | 19 | 20 | testgui: $(OBJS) 21 | g++ -Wall -g $^ $(LIBS) -o testgui 22 | 23 | $(COBJS): %.o: %.c 24 | $(CC) $(CFLAGS) lt; -o $@ 25 | 26 | $(CPPOBJS): %.o: %.cpp 27 | $(CXX) $(CFLAGS) lt; -o $@ 28 | 29 | clean: 30 | rm *.o testgui 31 | 32 | .PHONY: clean 33 | -------------------------------------------------------------------------------- /src/hidapi/testgui/Makefile.mingw: -------------------------------------------------------------------------------- 1 | ########################################### 2 | # Simple Makefile for HIDAPI test program 3 | # 4 | # Alan Ott 5 | # Signal 11 Software 6 | # 2010-06-01 7 | ########################################### 8 | 9 | all: hidapi-testgui 10 | 11 | CC=gcc 12 | CXX=g++ 13 | COBJS=../windows/hid.o 14 | CPPOBJS=test.o 15 | OBJS=$(COBJS) $(CPPOBJS) 16 | CFLAGS=-I../hidapi -I../../hidapi-externals/fox/include -g -c 17 | LIBS= -mwindows -L../../hidapi-externals/fox/lib -Wl,-Bstatic -lFOX-1.6 -Wl,-Bdynamic -lgdi32 -Wl,--enable-auto-import -static-libgcc -static-libstdc++ -lkernel32 18 | 19 | 20 | hidapi-testgui: $(OBJS) 21 | g++ -g $^ $(LIBS) -o hidapi-testgui 22 | 23 | $(COBJS): %.o: %.c 24 | $(CC) $(CFLAGS) lt; -o $@ 25 | 26 | $(CPPOBJS): %.o: %.cpp 27 | $(CXX) $(CFLAGS) lt; -o $@ 28 | 29 | clean: 30 | rm -f *.o hidapi-testgui.exe 31 | 32 | .PHONY: clean 33 | -------------------------------------------------------------------------------- /src/hidapi/testgui/TestGUI.app.in/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 | <plist version="1.0"> 4 | <dict> 5 | <key>CFBundleDevelopmentRegion</key> 6 | <string>English</string> 7 | <key>CFBundleDisplayName</key> 8 | <string></string> 9 | <key>CFBundleExecutable</key> 10 | <string>hidapi-testgui</string> 11 | <key>CFBundleIconFile</key> 12 | <string>Signal11.icns</string> 13 | <key>CFBundleIdentifier</key> 14 | <string>us.signal11.hidtestgui</string> 15 | <key>CFBundleInfoDictionaryVersion</key> 16 | <string>6.0</string> 17 | <key>CFBundleName</key> 18 | <string>testgui</string> 19 | <key>CFBundlePackageType</key> 20 | <string>APPL</string> 21 | <key>CFBundleSignature</key> 22 | <string>????</string> 23 | <key>CFBundleVersion</key> 24 | <string>1.0</string> 25 | <key>CSResourcesFileMapped</key> 26 | <true/> 27 | </dict> 28 | </plist> 29 | -------------------------------------------------------------------------------- /src/hidapi/testgui/TestGUI.app.in/Contents/PkgInfo: -------------------------------------------------------------------------------- 1 | APPL???? -------------------------------------------------------------------------------- /src/hidapi/testgui/TestGUI.app.in/Contents/Resources/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/src/hidapi/testgui/TestGUI.app.in/Contents/Resources/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /src/hidapi/testgui/TestGUI.app.in/Contents/Resources/Signal11.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/src/hidapi/testgui/TestGUI.app.in/Contents/Resources/Signal11.icns -------------------------------------------------------------------------------- /src/hidapi/testgui/mac_support.h: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Mac support for HID Test GUI 3 | 4 | Alan Ott 5 | Signal 11 Software 6 | 7 | *******************************/ 8 | 9 | #ifndef MAC_SUPPORT_H__ 10 | #define MAC_SUPPORT_H__ 11 | 12 | extern "C" { 13 | void init_apple_message_system(); 14 | void check_apple_events(); 15 | } 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /src/hidapi/testgui/testgui.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual C++ Express 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgui", "testgui.vcproj", "{08769AC3-785A-4DDC-BFC7-1775414B7AB7}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {08769AC3-785A-4DDC-BFC7-1775414B7AB7}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {08769AC3-785A-4DDC-BFC7-1775414B7AB7}.Debug|Win32.Build.0 = Debug|Win32 14 | {08769AC3-785A-4DDC-BFC7-1775414B7AB7}.Release|Win32.ActiveCfg = Release|Win32 15 | {08769AC3-785A-4DDC-BFC7-1775414B7AB7}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /src/hidapi/windows/Makefile-manual: -------------------------------------------------------------------------------- 1 | 2 | 3 | OS=$(shell uname) 4 | 5 | ifneq (,$(findstring MINGW,$(OS))) 6 | FILE=Makefile.mingw 7 | endif 8 | 9 | ifeq ($(FILE), ) 10 | all: 11 | $(error Your platform ${OS} is not supported at this time.) 12 | endif 13 | 14 | include $(FILE) 15 | -------------------------------------------------------------------------------- /src/hidapi/windows/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libhidapi.la 2 | libhidapi_la_SOURCES = hid.c 3 | libhidapi_la_LDFLAGS = $(LTLDFLAGS) 4 | AM_CPPFLAGS = -I$(top_srcdir)/hidapi/ 5 | libhidapi_la_LIBADD = $(LIBS) 6 | 7 | hdrdir = $(includedir)/hidapi 8 | hdr_HEADERS = $(top_srcdir)/hidapi/hidapi.h 9 | 10 | EXTRA_DIST = \ 11 | hidapi.vcproj \ 12 | hidtest.vcproj \ 13 | Makefile-manual \ 14 | Makefile.mingw \ 15 | hidapi.sln 16 | -------------------------------------------------------------------------------- /src/hidapi/windows/Makefile.mingw: -------------------------------------------------------------------------------- 1 | ########################################### 2 | # Simple Makefile for HIDAPI test program 3 | # 4 | # Alan Ott 5 | # Signal 11 Software 6 | # 2010-06-01 7 | ########################################### 8 | 9 | all: hidtest libhidapi.dll 10 | 11 | CC=gcc 12 | COBJS=hid.o ../hidtest/test.o 13 | OBJS=$(COBJS) 14 | CFLAGS=-I../hidapi -I. -g -c 15 | LIBS= 16 | DLL_LDFLAGS = -mwindows 17 | 18 | hidtest: $(OBJS) 19 | $(CC) -g $^ $(LIBS) -o hidtest 20 | 21 | libhidapi.dll: $(OBJS) 22 | $(CC) -g $^ $(DLL_LDFLAGS) -o libhidapi.dll 23 | 24 | $(COBJS): %.o: %.c 25 | $(CC) $(CFLAGS) lt; -o $@ 26 | 27 | clean: 28 | rm *.o ../hidtest/*.o hidtest.exe 29 | 30 | .PHONY: clean 31 | -------------------------------------------------------------------------------- /src/hidapi/windows/pp_data_dump/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(pp_data_dump C) 2 | 3 | add_executable(pp_data_dump pp_data_dump.c) 4 | set_target_properties(pp_data_dump 5 | PROPERTIES 6 | C_STANDARD 11 7 | C_STANDARD_REQUIRED TRUE 8 | ) 9 | target_link_libraries(pp_data_dump 10 | PRIVATE hidapi_winapi 11 | ) 12 | 13 | install(TARGETS pp_data_dump 14 | RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" 15 | ) 16 | -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/045E_02FF_0005_0001_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x01, 0x09, 0x05, 0xA1, 0x01, 0x09, 0x00, 0xA1, 0x00, 2 | 0x09, 0x30, 0x09, 0x31, 0x15, 0x00, 0x25, 0xFF, 0x35, 0x00, 3 | 0x45, 0xFF, 0x75, 0x10, 0x95, 0x02, 0x81, 0x02, 0xC0, 0x09, 4 | 0x00, 0xA1, 0x00, 0x09, 0x33, 0x09, 0x34, 0x15, 0x00, 0x25, 5 | 0xFF, 0x75, 0x10, 0x95, 0x02, 0x81, 0x02, 0xC0, 0x09, 0x00, 6 | 0xA1, 0x00, 0x09, 0x32, 0x15, 0x00, 0x25, 0xFF, 0x75, 0x10, 7 | 0x95, 0x01, 0x81, 0x02, 0xC0, 0x05, 0x09, 0x19, 0x01, 0x29, 8 | 0x10, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x45, 9 | 0x00, 0x81, 0x02, 0x05, 0x01, 0x09, 0x39, 0x15, 0x01, 0x25, 10 | 0x08, 0x35, 0x00, 0x46, 0x3B, 0x10, 0x65, 0x0E, 0x75, 0x04, 11 | 0x95, 0x01, 0x81, 0x42, 0x75, 0x04, 0x95, 0x01, 0x81, 0x03, 12 | 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046A_0011_0006_0001_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x01, 0x09, 0x06, 0xA1, 0x01, 0x05, 0x07, 0x19, 0xE0, 2 | 0x29, 0xE7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 3 | 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 4 | 0x29, 0xDD, 0x15, 0x00, 0x26, 0xDD, 0x00, 0x75, 0x08, 0x95, 5 | 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15, 6 | 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x75, 7 | 0x05, 0x95, 0x01, 0x91, 0x03, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046A_0011_0006_0001_real.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x01, 0x09, 0x06, 0xA1, 0x01, 0x05, 0x07, 0x19, 0xE0, 2 | 0x29, 0xE7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 3 | 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 4 | 0x29, 0xDD, 0x15, 0x00, 0x26, 0xDD, 0x00, 0x75, 0x08, 0x95, 5 | 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15, 6 | 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x75, 7 | 0x05, 0x95, 0x01, 0x91, 0x03, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_0A37_0001_000C_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x0C, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x01, 0x09, 0xE9, 2 | 0x09, 0xEA, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 3 | 0x81, 0x02, 0x09, 0xE2, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 4 | 0x95, 0x01, 0x81, 0x06, 0x75, 0x02, 0x95, 0x01, 0x81, 0x03, 5 | 0x09, 0x36, 0xA1, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x02, 6 | 0x15, 0x01, 0x25, 0x02, 0x75, 0x02, 0x95, 0x01, 0x81, 0x40, 7 | 0x75, 0x01, 0x95, 0x01, 0x81, 0x03, 0xC0, 0x85, 0x02, 0x05, 8 | 0x0C, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 9 | 0x10, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 10 | 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 11 | 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 12 | 0x02, 0x85, 0x03, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 13 | 0x01, 0x95, 0x10, 0x91, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 14 | 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 15 | 0x06, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 16 | 0x24, 0x91, 0x02, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_B010_0001_000C_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x0C, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x03, 0x05, 0x06, 2 | 0x09, 0x20, 0x15, 0x00, 0x25, 0x64, 0x75, 0x08, 0x95, 0x01, 3 | 0x81, 0x02, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_B010_0001_FF00_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x06, 0x00, 0xFF, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x10, 0x09, 2 | 0x01, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x06, 3 | 0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 4 | 0x08, 0x95, 0x06, 0x91, 0x00, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_B010_0002_0001_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x01, 0x09, 0x02, 0xA1, 0x01, 0x09, 0x01, 0xA1, 0x00, 2 | 0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x08, 0x15, 0x00, 3 | 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x05, 0x01, 4 | 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xF8, 0x26, 0xFF, 0x07, 5 | 0x75, 0x0C, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 6 | 0x25, 0x7F, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0C, 7 | 0x0A, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7F, 0x75, 0x08, 0x95, 8 | 0x01, 0x81, 0x06, 0xC0, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_B010_0002_FF00_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x06, 0x00, 0xFF, 0x09, 0x02, 0xA1, 0x01, 0x85, 0x11, 0x09, 2 | 0x02, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x13, 3 | 0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 4 | 0x08, 0x95, 0x13, 0x91, 0x00, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_B010_0006_0001_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x01, 0x09, 0x06, 0xA1, 0x01, 0x85, 0x04, 0x05, 0x07, 2 | 0x19, 0xE0, 0x29, 0xE7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 3 | 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 4 | 0x19, 0x00, 0x29, 0xFF, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 5 | 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 6 | 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 7 | 0x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C077_0002_0001_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x01, 0x09, 0x02, 0xA1, 0x01, 0x09, 0x01, 0xA1, 0x00, 2 | 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 3 | 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 4 | 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7F, 0x75, 0x08, 5 | 0x95, 0x03, 0x81, 0x06, 0xC0, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C077_0002_0001_real.rpt_desc: -------------------------------------------------------------------------------- 1 | Usage Page (Generic Desktop) 05 01 2 | Usage (Mouse) 09 02 3 | Collection (Application) A1 01 4 | Usage (Pointer) 09 01 5 | Collection (Physical) A1 00 6 | Usage Page (Button) 05 09 7 | Usage Minimum (Button 1) 19 01 8 | Usage Maximum (Button 3) 29 03 9 | Logical Minimum (0) 15 00 10 | Logical Maximum (1) 25 01 11 | Report Count (8) 95 08 12 | Report Size (1) 75 01 13 | Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02 14 | Usage Page (Generic Desktop) 05 01 15 | Usage (X) 09 30 16 | Usage (Y) 09 31 17 | Usage (Wheel) 09 38 18 | Logical Minimum (-127) 15 81 19 | Logical Maximum (127) 25 7F 20 | Report Size (8) 75 08 21 | Report Count (3) 95 03 22 | Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06 23 | End Collection C0 24 | End Collection C0 25 | -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C52F_0001_000C_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x0C, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x03, 0x19, 0x01, 2 | 0x2A, 0x8C, 0x02, 0x15, 0x01, 0x26, 0x8C, 0x02, 0x75, 0x10, 3 | 0x95, 0x02, 0x81, 0x00, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C52F_0001_000C_real.rpt_desc: -------------------------------------------------------------------------------- 1 | Usage Page (Consumer Devices) 05 0C 2 | Usage (Consumer Control) 09 01 3 | Collection (Application) A1 01 4 | Report ID (3) 85 03 5 | Report Size (16) 75 10 6 | Report Count (2) 95 02 7 | Logical Minimum (1) 15 01 8 | Logical Maximum (652) 26 8C 02 9 | Usage Minimum (Consumer Control) 19 01 10 | Usage Maximum (AC Send) 2A 8C 02 11 | Input (Data,Ary,Abs) 81 00 12 | End Collection C0 13 | -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C52F_0001_FF00_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x06, 0x00, 0xFF, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x10, 0x09, 2 | 0x01, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x06, 3 | 0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 4 | 0x08, 0x95, 0x06, 0x91, 0x00, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C52F_0001_FF00_real.rpt_desc: -------------------------------------------------------------------------------- 1 | Usage Page (Vendor-Defined 1) 06 00 FF 2 | Usage (Vendor-Defined 1) 09 01 3 | Collection (Application) A1 01 4 | Report ID (16) 85 10 5 | Report Size (8) 75 08 6 | Report Count (6) 95 06 7 | Logical Minimum (0) 15 00 8 | Logical Maximum (255) 26 FF 00 9 | Usage (Vendor-Defined 1) 09 01 10 | Input (Data,Ary,Abs) 81 00 11 | Usage (Vendor-Defined 1) 09 01 12 | Output (Data,Ary,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 00 13 | End Collection C0 14 | -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C52F_0002_0001_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x01, 0x09, 0x02, 0xA1, 0x01, 0x09, 0x01, 0xA1, 0x00, 2 | 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 3 | 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 4 | 0x09, 0x31, 0x16, 0x01, 0x80, 0x26, 0xFF, 0x7F, 0x75, 0x10, 5 | 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7F, 6 | 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0C, 0x0A, 0x38, 7 | 0x02, 0x15, 0x81, 0x25, 0x7F, 0x75, 0x08, 0x95, 0x01, 0x81, 8 | 0x06, 0xC0, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C52F_0002_FF00_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x06, 0x00, 0xFF, 0x09, 0x02, 0xA1, 0x01, 0x85, 0x11, 0x09, 2 | 0x02, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x13, 3 | 0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 4 | 0x08, 0x95, 0x13, 0x91, 0x00, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C52F_0002_FF00_real.rpt_desc: -------------------------------------------------------------------------------- 1 | Usage Page (Vendor-Defined 1) 06 00 FF 2 | Usage (Vendor-Defined 2) 09 02 3 | Collection (Application) A1 01 4 | Report ID (17) 85 11 5 | Report Size (8) 75 08 6 | Report Count (19) 95 13 7 | Logical Minimum (0) 15 00 8 | Logical Maximum (255) 26 FF 00 9 | Usage (Vendor-Defined 2) 09 02 10 | Input (Data,Ary,Abs) 81 00 11 | Usage (Vendor-Defined 2) 09 02 12 | Output (Data,Ary,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 00 13 | End Collection C0 14 | -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C534_0001_000C_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x0C, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x03, 0x19, 0x01, 2 | 0x2A, 0x8C, 0x02, 0x15, 0x01, 0x26, 0x8C, 0x02, 0x75, 0x10, 3 | 0x95, 0x02, 0x81, 0x00, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C534_0001_000C_real.rpt_desc: -------------------------------------------------------------------------------- 1 | macOS USB prober output for Logitech USB Receiver 2 | 05 0C 09 01 A1 01 3 | 85 03 75 10 95 02 15 01 26 8C 02 19 01 2A 8C 02 81 00 4 | C0 5 | 6 | Parser output: 7 | 0x05, 0x0C, // Usage Page (Consumer) 8 | 0x09, 0x01, // Usage (Consumer Control) 9 | 0xA1, 0x01, // Collection (Application) 10 | 0x85, 0x03, // Report ID (3) 11 | 0x75, 0x10, // Report Size (16) 12 | 0x95, 0x02, // Report Count (2) 13 | 0x15, 0x01, // Logical Minimum (1) 14 | 0x26, 0x8C, 0x02, // Logical Maximum (652) 15 | 0x19, 0x01, // Usage Minimum (Consumer Control) 16 | 0x2A, 0x8C, 0x02, // Usage Maximum (AC Send) 17 | 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 18 | 0xC0, // End Collection -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C534_0001_FF00_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x06, 0x00, 0xFF, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x10, 0x09, 2 | 0x01, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x06, 3 | 0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 4 | 0x08, 0x95, 0x06, 0x91, 0x00, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C534_0001_FF00_real.rpt_desc: -------------------------------------------------------------------------------- 1 | macOS USB prober output for Logitech USB Receiver 2 | 3 | 06 00 FF 09 01 A1 01 85 10 75 08 95 06 4 | 15 00 26 FF 00 09 01 81 5 | 00 09 01 91 00 C0 6 | 7 | Parser Output: 8 | 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 9 | 0x09, 0x01, // Usage (0x01) 10 | 0xA1, 0x01, // Collection (Application) 11 | 0x85, 0x10, // Report ID (16) 12 | 0x75, 0x08, // Report Size (8) 13 | 0x95, 0x06, // Report Count (6) 14 | 0x15, 0x00, // Logical Minimum (0) 15 | 0x26, 0xFF, 0x00, // Logical Maximum (255) 16 | 0x09, 0x01, // Usage (0x01) 17 | 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 18 | 0x09, 0x01, // Usage (0x01) 19 | 0x91, 0x00, // Output (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 20 | 0xC0, // End Collection 21 | -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C534_0002_0001_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x01, 0x09, 0x02, 0xA1, 0x01, 0x09, 0x01, 0xA1, 0x00, 2 | 0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 3 | 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01, 4 | 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xF8, 0x26, 0xFF, 0x07, 5 | 0x75, 0x0C, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 6 | 0x25, 0x7F, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0C, 7 | 0x0A, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7F, 0x75, 0x08, 0x95, 8 | 0x01, 0x81, 0x06, 0xC0, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C534_0002_FF00_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x06, 0x00, 0xFF, 0x09, 0x02, 0xA1, 0x01, 0x85, 0x11, 0x09, 2 | 0x02, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x13, 3 | 0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 4 | 0x08, 0x95, 0x13, 0x91, 0x00, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C534_0002_FF00_real.rpt_desc: -------------------------------------------------------------------------------- 1 | macOS USB prober output for Logitech USB Receiver 2 | 3 | 06 00 FF 09 02 A1 01 85 11 4 | 75 08 95 13 15 00 26 FF 5 | 00 09 02 81 00 09 02 91 00 C0 6 | 7 | Parser output: 8 | 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 9 | 0x09, 0x02, // Usage (0x02) 10 | 0xA1, 0x01, // Collection (Application) 11 | 0x85, 0x11, // Report ID (17) 12 | 0x75, 0x08, // Report Size (8) 13 | 0x95, 0x13, // Report Count (19) 14 | 0x15, 0x00, // Logical Minimum (0) 15 | 0x26, 0xFF, 0x00, // Logical Maximum (255) 16 | 0x09, 0x02, // Usage (0x02) 17 | 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 18 | 0x09, 0x02, // Usage (0x02) 19 | 0x91, 0x00, // Output (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 20 | 0xC0, // End Collection 21 | 22 | // 27 bytes 23 | -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C534_0006_0001_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x01, 0x09, 0x06, 0xA1, 0x01, 0x05, 0x07, 0x19, 0xE0, 2 | 0x29, 0xE7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 3 | 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 4 | 0x29, 0xA4, 0x15, 0x00, 0x26, 0xA4, 0x00, 0x75, 0x08, 0x95, 5 | 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15, 6 | 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75, 7 | 0x03, 0x95, 0x01, 0x91, 0x03, 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C534_0080_0001_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x01, 0x09, 0x80, 0xA1, 0x01, 0x85, 0x04, 0x09, 0x82, 2 | 0x09, 0x81, 0x09, 0x83, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 3 | 0x95, 0x01, 0x81, 0x60, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 4 | 0xC0, -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/046D_C534_0080_0001_real.rpt_desc: -------------------------------------------------------------------------------- 1 | 2 | 05 01 09 80 A1 01 85 04 75 02 95 01 15 01 25 03 3 | 09 82 09 81 09 83 81 60 75 06 81 03 C0 4 | 5 | Parser output: 6 | 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 7 | 0x09, 0x80, // Usage (Sys Control) 8 | 0xA1, 0x01, // Collection (Application) 9 | 0x85, 0x04, // Report ID (4) 10 | 0x75, 0x02, // Report Size (2) 11 | 0x95, 0x01, // Report Count (1) 12 | 0x15, 0x01, // Logical Minimum (1) 13 | 0x25, 0x03, // Logical Maximum (3) 14 | 0x09, 0x82, // Usage (Sys Sleep) 15 | 0x09, 0x81, // Usage (Sys Power Down) 16 | 0x09, 0x83, // Usage (Sys Wake Up) 17 | 0x81, 0x60, // Input (Data,Array,Abs,No Wrap,Linear,No Preferred State,Null State) 18 | 0x75, 0x06, // Report Size (6) 19 | 0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 20 | 0xC0, // End Collection 21 | 22 | // 29 bytes 23 | -------------------------------------------------------------------------------- /src/hidapi/windows/test/data/047F_C056_0001_000C_expected.rpt_desc: -------------------------------------------------------------------------------- 1 | 0x05, 0x0C, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x01, 0x09, 0xE9, 2 | 0x09, 0xEA, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 3 | 0x81, 0x06, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x02, 4 | 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 5 | 0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 6 | 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00, 7 | 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 8 | 0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 9 | 0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00, 10 | 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0xC0, -------------------------------------------------------------------------------- /src/libm/s_copysign.c: -------------------------------------------------------------------------------- 1 | #include "SDL_internal.h" 2 | /* 3 | * ==================================================== 4 | * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 5 | * 6 | * Developed at SunPro, a Sun Microsystems, Inc. business. 7 | * Permission to use, copy, modify, and distribute this 8 | * software is freely granted, provided that this notice 9 | * is preserved. 10 | * ==================================================== 11 | */ 12 | 13 | /* 14 | * copysign(double x, double y) 15 | * copysign(x,y) returns a value with the magnitude of x and 16 | * with the sign bit of y. 17 | */ 18 | 19 | #include "math_libm.h" 20 | #include "math_private.h" 21 | 22 | double copysign(double x, double y) 23 | { 24 | u_int32_t hx,hy; 25 | GET_HIGH_WORD(hx,x); 26 | GET_HIGH_WORD(hy,y); 27 | SET_HIGH_WORD(x,(hx&0x7fffffff)|(hy&0x80000000)); 28 | return x; 29 | } 30 | libm_hidden_def(copysign) 31 | -------------------------------------------------------------------------------- /src/libm/s_fabs.c: -------------------------------------------------------------------------------- 1 | #include "SDL_internal.h" 2 | /* 3 | * ==================================================== 4 | * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 5 | * 6 | * Developed at SunPro, a Sun Microsystems, Inc. business. 7 | * Permission to use, copy, modify, and distribute this 8 | * software is freely granted, provided that this notice 9 | * is preserved. 10 | * ==================================================== 11 | */ 12 | 13 | /* 14 | * fabs(x) returns the absolute value of x. 15 | */ 16 | 17 | /*#include <features.h>*/ 18 | /* Prevent math.h from defining a colliding inline */ 19 | #undef __USE_EXTERN_INLINES 20 | #include "math_libm.h" 21 | #include "math_private.h" 22 | 23 | double fabs(double x) 24 | { 25 | u_int32_t high; 26 | GET_HIGH_WORD(high,x); 27 | SET_HIGH_WORD(x,high&0x7fffffff); 28 | return x; 29 | } 30 | libm_hidden_def(fabs) 31 | -------------------------------------------------------------------------------- /src/libm/s_isinf.c: -------------------------------------------------------------------------------- 1 | #include "SDL_internal.h" 2 | /* 3 | * Written by J.T. Conklin <jtc@netbsd.org>. 4 | * Changed to return -1 for -Inf by Ulrich Drepper <drepper@cygnus.com>. 5 | * Public domain. 6 | */ 7 | 8 | /* 9 | * isinf(x) returns 1 is x is inf, -1 if x is -inf, else 0; 10 | * no branching! 11 | */ 12 | 13 | #include "math.h" 14 | #include "math_private.h" 15 | 16 | int __isinf(double x) 17 | { 18 | int32_t hx,lx; 19 | EXTRACT_WORDS(hx,lx,x); 20 | lx |= (hx & 0x7fffffff) ^ 0x7ff00000; 21 | lx |= -lx; 22 | return ~(lx >> 31) & (hx >> 30); 23 | } 24 | libm_hidden_def(__isinf) 25 | -------------------------------------------------------------------------------- /src/libm/s_isinff.c: -------------------------------------------------------------------------------- 1 | #include "SDL_internal.h" 2 | /* 3 | * Written by J.T. Conklin <jtc@netbsd.org>. 4 | * Public domain. 5 | */ 6 | 7 | /* 8 | * isinff(x) returns 1 if x is inf, -1 if x is -inf, else 0; 9 | * no branching! 10 | */ 11 | 12 | #include "math.h" 13 | #include "math_private.h" 14 | 15 | int __isinff (float x) 16 | { 17 | int32_t ix,t; 18 | GET_FLOAT_WORD(ix,x); 19 | t = ix & 0x7fffffff; 20 | t ^= 0x7f800000; 21 | t |= -t; 22 | return ~(t >> 31) & (ix >> 30); 23 | } 24 | libm_hidden_def(__isinff) 25 | -------------------------------------------------------------------------------- /src/libm/s_isnan.c: -------------------------------------------------------------------------------- 1 | #include "SDL_internal.h" 2 | /* 3 | * ==================================================== 4 | * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 5 | * 6 | * Developed at SunPro, a Sun Microsystems, Inc. business. 7 | * Permission to use, copy, modify, and distribute this 8 | * software is freely granted, provided that this notice 9 | * is preserved. 10 | * ==================================================== 11 | */ 12 | 13 | /* 14 | * isnan(x) returns 1 is x is nan, else 0; 15 | * no branching! 16 | */ 17 | 18 | #include "math.h" 19 | #include "math_private.h" 20 | 21 | int __isnan(double x) 22 | { 23 | int32_t hx,lx; 24 | EXTRACT_WORDS(hx,lx,x); 25 | hx &= 0x7fffffff; 26 | hx |= (u_int32_t)(lx|(-lx))>>31; 27 | hx = 0x7ff00000 - hx; 28 | return (int)(((u_int32_t)hx)>>31); 29 | } 30 | weak_alias(__isnan, isnan) 31 | libm_hidden_def(__isnan) 32 | -------------------------------------------------------------------------------- /src/libm/s_isnanf.c: -------------------------------------------------------------------------------- 1 | #include "SDL_internal.h" 2 | /* s_isnanf.c -- float version of s_isnan.c. 3 | * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. 4 | */ 5 | 6 | /* 7 | * ==================================================== 8 | * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 9 | * 10 | * Developed at SunPro, a Sun Microsystems, Inc. business. 11 | * Permission to use, copy, modify, and distribute this 12 | * software is freely granted, provided that this notice 13 | * is preserved. 14 | * ==================================================== 15 | */ 16 | 17 | /* 18 | * isnanf(x) returns 1 is x is nan, else 0; 19 | * no branching! 20 | */ 21 | 22 | #include "math.h" 23 | #include "math_private.h" 24 | 25 | int __isnanf(float x) 26 | { 27 | int32_t ix; 28 | GET_FLOAT_WORD(ix,x); 29 | ix &= 0x7fffffff; 30 | ix = 0x7f800000 - ix; 31 | return (int)(((u_int32_t)(ix))>>31); 32 | } 33 | libm_hidden_def(__isnanf) 34 | -------------------------------------------------------------------------------- /src/render/direct3d/compile_shaders.bat: -------------------------------------------------------------------------------- 1 | fxc /T ps_2_0 /Fh D3D9_PixelShader_YUV.h D3D9_PixelShader_YUV.hlsl 2 | -------------------------------------------------------------------------------- /src/render/direct3d11/D3D11_PixelShader_Advanced.hlsl: -------------------------------------------------------------------------------- 1 | 2 | #include "D3D11_PixelShader_Common.hlsli" 3 | 4 | float4 main(PixelShaderInput input) : SV_TARGET 5 | { 6 | return AdvancedPixelShader(input); 7 | } 8 | -------------------------------------------------------------------------------- /src/render/direct3d11/D3D11_PixelShader_Colors.hlsl: -------------------------------------------------------------------------------- 1 | 2 | #include "D3D11_PixelShader_Common.hlsli" 3 | 4 | float4 main(PixelShaderInput input) : SV_TARGET 5 | { 6 | return GetOutputColor(1.0) * input.color; 7 | } 8 | -------------------------------------------------------------------------------- /src/render/direct3d11/D3D11_PixelShader_Textures.hlsl: -------------------------------------------------------------------------------- 1 | Texture2D theTexture : register(t0); 2 | SamplerState theSampler : register(s0); 3 | 4 | #include "D3D11_PixelShader_Common.hlsli" 5 | 6 | float4 main(PixelShaderInput input) : SV_TARGET 7 | { 8 | return GetOutputColor(theTexture.Sample(theSampler, input.tex)) * input.color; 9 | } 10 | -------------------------------------------------------------------------------- /src/render/direct3d11/D3D11_VertexShader.hlsl: -------------------------------------------------------------------------------- 1 | #pragma pack_matrix( row_major ) 2 | 3 | cbuffer VertexShaderConstants : register(b0) 4 | { 5 | matrix model; 6 | matrix projectionAndView; 7 | }; 8 | 9 | struct VertexShaderInput 10 | { 11 | float3 pos : POSITION; 12 | float2 tex : TEXCOORD0; 13 | float4 color : COLOR0; 14 | }; 15 | 16 | struct VertexShaderOutput 17 | { 18 | float4 pos : SV_POSITION; 19 | float2 tex : TEXCOORD0; 20 | float4 color : COLOR0; 21 | }; 22 | 23 | VertexShaderOutput main(VertexShaderInput input) 24 | { 25 | VertexShaderOutput output; 26 | float4 pos = float4(input.pos, 1.0f); 27 | 28 | // Transform the vertex position into projected space. 29 | pos = mul(pos, model); 30 | pos = mul(pos, projectionAndView); 31 | output.pos = pos; 32 | 33 | // Pass through texture coordinates and color values without transformation 34 | output.tex = input.tex; 35 | output.color = input.color; 36 | 37 | return output; 38 | } 39 | -------------------------------------------------------------------------------- /src/render/direct3d11/compile_shaders.bat: -------------------------------------------------------------------------------- 1 | fxc /T ps_4_0_level_9_1 /Fh D3D11_PixelShader_Colors.h D3D11_PixelShader_Colors.hlsl 2 | fxc /T ps_4_0_level_9_1 /Fh D3D11_PixelShader_Textures.h D3D11_PixelShader_Textures.hlsl 3 | fxc /T ps_5_0 /Fh D3D11_PixelShader_Advanced.h D3D11_PixelShader_Advanced.hlsl 4 | fxc /T vs_4_0_level_9_1 /Fh D3D11_VertexShader.h D3D11_VertexShader.hlsl 5 | -------------------------------------------------------------------------------- /src/render/direct3d12/D3D12_PixelShader_Advanced.hlsl: -------------------------------------------------------------------------------- 1 | 2 | #include "D3D12_PixelShader_Common.hlsli" 3 | 4 | [RootSignature(AdvancedRS)] 5 | float4 main(PixelShaderInput input) : SV_TARGET 6 | { 7 | return AdvancedPixelShader(input); 8 | } 9 | -------------------------------------------------------------------------------- /src/render/direct3d12/D3D12_PixelShader_Colors.hlsl: -------------------------------------------------------------------------------- 1 | 2 | #include "D3D12_PixelShader_Common.hlsli" 3 | 4 | [RootSignature(ColorRS)] 5 | float4 main(PixelShaderInput input) : SV_TARGET0 6 | { 7 | return GetOutputColor(1.0) * input.color; 8 | } 9 | -------------------------------------------------------------------------------- /src/render/direct3d12/D3D12_PixelShader_Textures.hlsl: -------------------------------------------------------------------------------- 1 | 2 | #include "D3D12_PixelShader_Common.hlsli" 3 | 4 | [RootSignature(TextureRS)] 5 | float4 main(PixelShaderInput input) : SV_TARGET 6 | { 7 | return GetOutputColor(texture0.Sample(sampler0, input.tex)) * input.color; 8 | } 9 | -------------------------------------------------------------------------------- /src/render/direct3d12/D3D12_RootSig_Color.h: -------------------------------------------------------------------------------- 1 | #if 0 2 | Disassembly failed 3 | #endif 4 | 5 | const unsigned char g_ColorRS[] = { 6 | 0x44, 0x58, 0x42, 0x43, 0x7e, 0x46, 0xa0, 0x92, 0xc6, 0x80, 0xfa, 0x5c, 7 | 0x26, 0x9e, 0x8f, 0x06, 0x1f, 0x7e, 0x05, 0x4c, 0x01, 0x00, 0x00, 0x00, 8 | 0x74, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 9 | 0x52, 0x54, 0x53, 0x30, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 10 | 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 11 | 0x48, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 12 | 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 13 | 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 14 | 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 15 | 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00 16 | }; 17 | -------------------------------------------------------------------------------- /src/render/direct3d12/compile_shaders_xbox.bat: -------------------------------------------------------------------------------- 1 | if %2.==one. goto setxboxone 2 | rem Xbox Series compile 3 | set DXC="%GameDKLatest%\GXDK\bin\Scarlett\DXC.exe" 4 | set SUFFIX=_Series.h 5 | goto startbuild 6 | 7 | :setxboxone 8 | set DXC="%GameDKLatest%\GXDK\bin\XboxOne\DXC.exe" 9 | set SUFFIX=_One.h 10 | 11 | :startbuild 12 | 13 | call "%~dp0\compile_shaders.bat" 14 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/.gitattributes: -------------------------------------------------------------------------------- 1 | *.h linguist-generated 2 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/.gitignore: -------------------------------------------------------------------------------- 1 | *.hlsl 2 | *.metal 3 | *.spv 4 | *.tmp.h 5 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/build-shaders.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | make-header() { 6 | xxd -i "$1" | sed \ 7 | -e 's/^unsigned /const unsigned /g' \ 8 | -e 's,^const,static const,' \ 9 | > "$1.h" 10 | } 11 | 12 | # Requires shadercross CLI installed from SDL_shadercross 13 | for filename in *.hlsl; do 14 | if [ -f "$filename" ]; then 15 | shadercross "$filename" -o "${filename/.hlsl/.spv}" 16 | make-header "${filename/.hlsl/.spv}" 17 | shadercross "$filename" -o "${filename/.hlsl/.msl}" 18 | make-header "${filename/.hlsl/.msl}" 19 | shadercross "$filename" -o "${filename/.hlsl/.dxil}" 20 | make-header "${filename/.hlsl/.dxil}" 21 | fi 22 | done 23 | 24 | rm -f *.spv *.msl *.dxil 25 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/color.frag.hlsl: -------------------------------------------------------------------------------- 1 | struct PSInput { 2 | float4 v_color : COLOR0; 3 | }; 4 | 5 | struct PSOutput { 6 | float4 o_color : SV_Target; 7 | }; 8 | 9 | PSOutput main(PSInput input) { 10 | PSOutput output; 11 | output.o_color = input.v_color; 12 | return output; 13 | } 14 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/dxil.h: -------------------------------------------------------------------------------- 1 | #include "color.frag.dxil.h" 2 | #include "linepoint.vert.dxil.h" 3 | #include "texture_rgb.frag.dxil.h" 4 | #include "texture_rgb_pixelart.frag.dxil.h" 5 | #include "texture_rgba.frag.dxil.h" 6 | #include "texture_rgba_pixelart.frag.dxil.h" 7 | #include "tri_color.vert.dxil.h" 8 | #include "tri_texture.vert.dxil.h" 9 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/linepoint.vert.hlsl: -------------------------------------------------------------------------------- 1 | cbuffer Context : register(b0, space1) { 2 | float4x4 mvp; // Model-View-Projection matrix 3 | float4 color; // Color 4 | }; 5 | 6 | struct VSInput { 7 | float2 a_position : POSITION; 8 | }; 9 | 10 | struct VSOutput { 11 | float4 v_color : COLOR; 12 | float4 gl_Position : SV_POSITION; 13 | [[vk::builtin("PointSize")]] 14 | float gl_PointSize : PSIZE; 15 | }; 16 | 17 | VSOutput main(VSInput input) { 18 | VSOutput output; 19 | output.v_color = color; 20 | output.gl_Position = mul(mvp, float4(input.a_position, 0.0, 1.0)); 21 | output.gl_PointSize = 1.0f; 22 | return output; 23 | } 24 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/msl.h: -------------------------------------------------------------------------------- 1 | #include "color.frag.msl.h" 2 | #include "linepoint.vert.msl.h" 3 | #include "texture_rgb.frag.msl.h" 4 | #include "texture_rgb_pixelart.frag.msl.h" 5 | #include "texture_rgba.frag.msl.h" 6 | #include "texture_rgba_pixelart.frag.msl.h" 7 | #include "tri_color.vert.msl.h" 8 | #include "tri_texture.vert.msl.h" 9 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/spir-v.h: -------------------------------------------------------------------------------- 1 | #include "color.frag.spv.h" 2 | #include "linepoint.vert.spv.h" 3 | #include "texture_rgb.frag.spv.h" 4 | #include "texture_rgb_pixelart.frag.spv.h" 5 | #include "texture_rgba.frag.spv.h" 6 | #include "texture_rgba_pixelart.frag.spv.h" 7 | #include "tri_color.vert.spv.h" 8 | #include "tri_texture.vert.spv.h" 9 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/texture_pixelart.frag.hlsli: -------------------------------------------------------------------------------- 1 | cbuffer Context : register(b0, space3) { 2 | float4 texel_size; 3 | }; 4 | 5 | Texture2D u_texture : register(t0, space2); 6 | SamplerState u_sampler : register(s0, space2); 7 | 8 | struct PSInput { 9 | float4 v_color : COLOR0; 10 | float2 v_uv : TEXCOORD0; 11 | }; 12 | 13 | struct PSOutput { 14 | float4 o_color : SV_Target; 15 | }; 16 | 17 | float2 GetPixelArtUV(PSInput input) 18 | { 19 | // box filter size in texel units 20 | float2 boxSize = clamp(fwidth(input.v_uv) * texel_size.zw, 1e-5, 1); 21 | 22 | // scale uv by texture size to get texel coordinate 23 | float2 tx = input.v_uv * texel_size.zw - 0.5 * boxSize; 24 | 25 | // compute offset for pixel-sized box filter 26 | float2 txOffset = smoothstep(1 - boxSize, 1, frac(tx)); 27 | 28 | // compute bilinear sample uv coordinates 29 | float2 uv = (floor(tx) + 0.5 + txOffset) * texel_size.xy; 30 | 31 | return uv; 32 | } 33 | 34 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/texture_rgb.frag.hlsl: -------------------------------------------------------------------------------- 1 | Texture2D u_texture : register(t0, space2); 2 | SamplerState u_sampler : register(s0, space2); 3 | 4 | struct PSInput { 5 | float4 v_color : COLOR0; 6 | float2 v_uv : TEXCOORD0; 7 | }; 8 | 9 | struct PSOutput { 10 | float4 o_color : SV_Target; 11 | }; 12 | 13 | PSOutput main(PSInput input) { 14 | PSOutput output; 15 | output.o_color = float4(u_texture.Sample(u_sampler, input.v_uv).rgb, 1.0f) * input.v_color; 16 | return output; 17 | } 18 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/texture_rgb_pixelart.frag.hlsl: -------------------------------------------------------------------------------- 1 | #include "texture_pixelart.frag.hlsli" 2 | 3 | PSOutput main(PSInput input) { 4 | PSOutput output; 5 | float2 uv = GetPixelArtUV(input); 6 | output.o_color = float4(u_texture.SampleGrad(u_sampler, uv, ddx(input.v_uv), ddy(input.v_uv)).rgb, 1.0f) * input.v_color; 7 | return output; 8 | } 9 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/texture_rgba.frag.hlsl: -------------------------------------------------------------------------------- 1 | Texture2D u_texture : register(t0, space2); 2 | SamplerState u_sampler : register(s0, space2); 3 | 4 | struct PSInput { 5 | float4 v_color : COLOR0; 6 | float2 v_uv : TEXCOORD0; 7 | }; 8 | 9 | struct PSOutput { 10 | float4 o_color : SV_Target; 11 | }; 12 | 13 | PSOutput main(PSInput input) { 14 | PSOutput output; 15 | output.o_color = u_texture.Sample(u_sampler, input.v_uv) * input.v_color; 16 | return output; 17 | } 18 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/texture_rgba_pixelart.frag.hlsl: -------------------------------------------------------------------------------- 1 | #include "texture_pixelart.frag.hlsli" 2 | 3 | PSOutput main(PSInput input) { 4 | PSOutput output; 5 | float2 uv = GetPixelArtUV(input); 6 | output.o_color = u_texture.SampleGrad(u_sampler, uv, ddx(input.v_uv), ddy(input.v_uv)) * input.v_color; 7 | return output; 8 | } 9 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/tri_color.vert.hlsl: -------------------------------------------------------------------------------- 1 | cbuffer Context : register(b0, space1) { 2 | float4x4 mvp; 3 | float4 color; /* XXX unused */ 4 | }; 5 | 6 | struct VSInput { 7 | float2 a_position : POSITION; 8 | float4 a_color : COLOR0; 9 | }; 10 | 11 | struct VSOutput { 12 | float4 v_color : COLOR0; 13 | float4 gl_Position : SV_POSITION; 14 | }; 15 | 16 | VSOutput main(VSInput input) { 17 | VSOutput output; 18 | output.gl_Position = mul(mvp, float4(input.a_position, 0.0, 1.0)); 19 | output.v_color = input.a_color; 20 | return output; 21 | } 22 | -------------------------------------------------------------------------------- /src/render/gpu/shaders/tri_texture.vert.hlsl: -------------------------------------------------------------------------------- 1 | cbuffer Context : register(b0, space1) { 2 | float4x4 mvp; 3 | float4 color; /* XXX unused */ 4 | }; 5 | 6 | struct VSInput { 7 | float2 a_position : POSITION; 8 | float4 a_color : COLOR0; 9 | float2 a_uv : TEXCOORD0; 10 | }; 11 | 12 | struct VSOutput { 13 | float4 v_color : COLOR0; 14 | float2 v_uv : TEXCOORD0; 15 | float4 gl_Position : SV_POSITION; 16 | }; 17 | 18 | 19 | VSOutput main(VSInput input) { 20 | VSOutput output; 21 | output.gl_Position = mul(mvp, float4(input.a_position, 0.0, 1.0)); 22 | output.v_color = input.a_color; 23 | output.v_uv = input.a_uv; 24 | return output; 25 | } 26 | -------------------------------------------------------------------------------- /src/render/metal/build-metal-shaders.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -x 4 | set -e 5 | cd `dirname "$0"` 6 | 7 | generate_shaders() 8 | { 9 | fileplatform=$1 10 | compileplatform=$2 11 | sdkplatform=$3 12 | minversion=$4 13 | xcrun -sdk $sdkplatform metal -c -std=$compileplatform-metal1.1 -m$sdkplatform-version-min=$minversion -Wall -O3 -o ./sdl.air ./SDL_shaders_metal.metal || exit $? 14 | xcrun -sdk $sdkplatform metal-ar rc sdl.metalar sdl.air || exit $? 15 | xcrun -sdk $sdkplatform metallib -o sdl.metallib sdl.metalar || exit $? 16 | xxd -i sdl.metallib | perl -w -p -e 's/\Aunsigned /const unsigned /;' >./SDL_shaders_metal_$fileplatform.h 17 | rm -f sdl.air sdl.metalar sdl.metallib 18 | } 19 | 20 | generate_shaders macos macos macosx 10.11 21 | generate_shaders ios ios iphoneos 8.0 22 | generate_shaders iphonesimulator ios iphonesimulator 8.0 23 | generate_shaders tvos ios appletvos 9.0 24 | generate_shaders tvsimulator ios appletvsimulator 9.0 25 | -------------------------------------------------------------------------------- /src/render/vitagxm/shader_src/clear_f.cg: -------------------------------------------------------------------------------- 1 | float4 main( uniform float4 uClearColor) : COLOR 2 | { 3 | return uClearColor; 4 | } 5 | -------------------------------------------------------------------------------- /src/render/vitagxm/shader_src/clear_v.cg: -------------------------------------------------------------------------------- 1 | float4 main(float2 aPosition) : POSITION 2 | { 3 | return float4(aPosition, 1.f, 1.f); 4 | } 5 | -------------------------------------------------------------------------------- /src/render/vitagxm/shader_src/color_f.cg: -------------------------------------------------------------------------------- 1 | float4 main(float4 vColor : COLOR) 2 | { 3 | return vColor; 4 | } 5 | -------------------------------------------------------------------------------- /src/render/vitagxm/shader_src/color_v.cg: -------------------------------------------------------------------------------- 1 | void main( 2 | float2 aPosition, 3 | float4 aColor, 4 | uniform float4x4 wvp, 5 | out float4 vPosition : POSITION, 6 | out float4 vColor : COLOR, 7 | out float pSize : PSIZE 8 | ) 9 | { 10 | vPosition = mul(float4(aPosition, 1.f, 0.5f), wvp); 11 | vColor = aColor; 12 | pSize = 1.f; 13 | } 14 | -------------------------------------------------------------------------------- /src/render/vitagxm/shader_src/texture_f.cg: -------------------------------------------------------------------------------- 1 | float4 main(float2 vTexcoord : TEXCOORD0, float4 vColor : COLOR, uniform sampler2D tex) 2 | { 3 | return tex2D(tex, vTexcoord) * vColor; 4 | } 5 | -------------------------------------------------------------------------------- /src/render/vitagxm/shader_src/texture_v.cg: -------------------------------------------------------------------------------- 1 | void main( 2 | float2 aPosition, 3 | float2 aTexcoord, 4 | float4 aColor, 5 | uniform float4x4 wvp, 6 | out float4 vPosition : POSITION, 7 | out float4 vColor : COLOR, 8 | out float2 vTexcoord : TEXCOORD0 9 | ) 10 | { 11 | vPosition = mul(float4(aPosition, 1.f, 0.5f), wvp); 12 | vTexcoord = aTexcoord; 13 | vColor = aColor; 14 | } 15 | -------------------------------------------------------------------------------- /src/render/vulkan/VULKAN_PixelShader_Advanced.hlsl: -------------------------------------------------------------------------------- 1 | 2 | #include "VULKAN_PixelShader_Common.hlsli" 3 | 4 | float4 main(PixelShaderInput input) : SV_TARGET 5 | { 6 | return AdvancedPixelShader(input); 7 | } 8 | -------------------------------------------------------------------------------- /src/render/vulkan/VULKAN_PixelShader_Colors.hlsl: -------------------------------------------------------------------------------- 1 | 2 | #include "VULKAN_PixelShader_Common.hlsli" 3 | 4 | float4 main(PixelShaderInput input) : SV_TARGET0 5 | { 6 | return GetOutputColor(1.0) * input.color; 7 | } 8 | -------------------------------------------------------------------------------- /src/render/vulkan/VULKAN_PixelShader_Textures.hlsl: -------------------------------------------------------------------------------- 1 | 2 | #include "VULKAN_PixelShader_Common.hlsli" 3 | 4 | float4 main(PixelShaderInput input) : SV_TARGET 5 | { 6 | return GetOutputColor(texture0.Sample(sampler0, input.tex)) * input.color; 7 | } 8 | -------------------------------------------------------------------------------- /src/render/vulkan/compile_shaders.bat: -------------------------------------------------------------------------------- 1 | glslangValidator -D --sep main -e main -S frag --target-env vulkan1.0 --auto-sampled-textures --vn VULKAN_PixelShader_Colors -o VULKAN_PixelShader_Colors.h VULKAN_PixelShader_Colors.hlsl 2 | glslangValidator -D --sep main -e main -S frag --target-env vulkan1.0 --auto-sampled-textures --vn VULKAN_PixelShader_Textures -o VULKAN_PixelShader_Textures.h VULKAN_PixelShader_Textures.hlsl 3 | glslangValidator -D --sep main -e main -S frag --target-env vulkan1.0 --auto-sampled-textures --vn VULKAN_PixelShader_Advanced -o VULKAN_PixelShader_Advanced.h VULKAN_PixelShader_Advanced.hlsl 4 | 5 | glslangValidator -D --sep mainColor -e main -S vert --iy --target-env vulkan1.0 --vn VULKAN_VertexShader -o VULKAN_VertexShader.h VULKAN_VertexShader.hlsl 6 | -------------------------------------------------------------------------------- /src/stdlib/SDL_mslibc_arm64.masm: -------------------------------------------------------------------------------- 1 | TeStackLimit EQU 0x00010 2 | PAGE_SIZE equ 0x1000 3 | 4 | AREA CODE, READONLY 5 | 6 | EXPORT __chkstk 7 | 8 | __chkstk PROC 9 | ldr x17,[x18, #TeStackLimit] 10 | subs x16,sp,x15, LSL #0x4 11 | csel x16,xzr,x16,cc 12 | cmp x16,x17 13 | b.cc chkstk_start_loop 14 | ret 15 | chkstk_start_loop 16 | and x16,x16,#-PAGE_SIZE 17 | chkstk_loop 18 | sub x17,x17,#0x1, LSL #12 19 | ldr xzr,[x17] 20 | cmp x17,x16 21 | b.ne chkstk_loop 22 | ret 23 | 24 | ENDP 25 | 26 | END 27 | -------------------------------------------------------------------------------- /src/stdlib/SDL_mslibc_x64.masm: -------------------------------------------------------------------------------- 1 | include ksamd64.inc 2 | 3 | text SEGMENT EXECUTE 4 | 5 | public __chkstk 6 | 7 | __chkstk: 8 | sub rsp,010h 9 | mov QWORD PTR [rsp],r10 10 | mov QWORD PTR [rsp+08h],r11 11 | xor r11,r11 12 | lea r10,[rsp+018h] 13 | sub r10,rax 14 | cmovb r10,r11 15 | mov r11,QWORD PTR gs:[TeStackLimit] 16 | cmp r10,r11 17 | jae chkstk_finish 18 | and r10w,0f000h 19 | chkstk_loop: 20 | lea r11,[r11-PAGE_SIZE] 21 | mov BYTE PTR [r11],0h 22 | cmp r10,r11 23 | jne chkstk_loop 24 | chkstk_finish: 25 | mov r10,QWORD PTR [rsp] 26 | mov r11,QWORD PTR [rsp+08h] 27 | add rsp,010h 28 | ret 29 | end 30 | -------------------------------------------------------------------------------- /src/storage/steam/SDL_steamstorage_proc.h: -------------------------------------------------------------------------------- 1 | STEAM_PROC(void*, SteamAPI_SteamRemoteStorage_v016, (void)) 2 | 3 | STEAM_PROC(bool, SteamAPI_ISteamRemoteStorage_IsCloudEnabledForAccount, (void*)) 4 | STEAM_PROC(bool, SteamAPI_ISteamRemoteStorage_IsCloudEnabledForApp, (void*)) 5 | 6 | STEAM_PROC(bool, SteamAPI_ISteamRemoteStorage_BeginFileWriteBatch, (void*)) 7 | STEAM_PROC(bool, SteamAPI_ISteamRemoteStorage_EndFileWriteBatch, (void*)) 8 | 9 | STEAM_PROC(Sint32, SteamAPI_ISteamRemoteStorage_GetFileSize, (void*, const char*)) 10 | STEAM_PROC(Sint32, SteamAPI_ISteamRemoteStorage_FileRead, (void*, const char*, void*, Sint32)) 11 | STEAM_PROC(Sint32, SteamAPI_ISteamRemoteStorage_FileWrite, (void*, const char*, const void*, Sint32)) 12 | STEAM_PROC(bool, SteamAPI_ISteamRemoteStorage_GetQuota, (void*, Uint64*, Uint64*)) 13 | 14 | #undef STEAM_PROC 15 | -------------------------------------------------------------------------------- /src/video/khronos/GLES2/gl2platform.h: -------------------------------------------------------------------------------- 1 | #ifndef __gl2platform_h_ 2 | #define __gl2platform_h_ 3 | 4 | /* 5 | ** Copyright 2017-2020 The Khronos Group Inc. 6 | ** SPDX-License-Identifier: Apache-2.0 7 | */ 8 | 9 | /* Platform-specific types and definitions for OpenGL ES 2.X gl2.h 10 | * 11 | * Adopters may modify khrplatform.h and this file to suit their platform. 12 | * Please contribute modifications back to Khronos as pull requests on the 13 | * public github repository: 14 | * https://github.com/KhronosGroup/OpenGL-Registry 15 | */ 16 | 17 | #include <KHR/khrplatform.h> 18 | 19 | #ifndef GL_APICALL 20 | #define GL_APICALL KHRONOS_APICALL 21 | #endif 22 | 23 | #ifndef GL_APIENTRY 24 | #define GL_APIENTRY KHRONOS_APIENTRY 25 | #endif 26 | 27 | #endif /* __gl2platform_h_ */ 28 | -------------------------------------------------------------------------------- /src/video/khronos/GLES3/gl3platform.h: -------------------------------------------------------------------------------- 1 | #ifndef __gl3platform_h_ 2 | #define __gl3platform_h_ 3 | 4 | /* 5 | ** Copyright 2017-2020 The Khronos Group Inc. 6 | ** SPDX-License-Identifier: Apache-2.0 7 | */ 8 | 9 | /* Platform-specific types and definitions for OpenGL ES 3.X gl3.h 10 | * 11 | * Adopters may modify khrplatform.h and this file to suit their platform. 12 | * Please contribute modifications back to Khronos as pull requests on the 13 | * public github repository: 14 | * https://github.com/KhronosGroup/OpenGL-Registry 15 | */ 16 | 17 | #include <KHR/khrplatform.h> 18 | 19 | #ifndef GL_APICALL 20 | #define GL_APICALL KHRONOS_APICALL 21 | #endif 22 | 23 | #ifndef GL_APIENTRY 24 | #define GL_APIENTRY KHRONOS_APIENTRY 25 | #endif 26 | 27 | #endif /* __gl3platform_h_ */ 28 | -------------------------------------------------------------------------------- /src/video/khronos/vk_video/vulkan_video_codecs_common.h: -------------------------------------------------------------------------------- 1 | #ifndef VULKAN_VIDEO_CODECS_COMMON_H_ 2 | #define VULKAN_VIDEO_CODECS_COMMON_H_ 1 3 | 4 | /* 5 | ** Copyright 2015-2024 The Khronos Group Inc. 6 | ** 7 | ** SPDX-License-Identifier: Apache-2.0 8 | */ 9 | 10 | /* 11 | ** This header is generated from the Khronos Vulkan XML API Registry. 12 | ** 13 | */ 14 | 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | 20 | 21 | 22 | // vulkan_video_codecs_common is a preprocessor guard. Do not pass it to API calls. 23 | #define vulkan_video_codecs_common 1 24 | #if !defined(VK_NO_STDINT_H) 25 | #include <stdint.h> 26 | #endif 27 | 28 | #define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \ 29 | ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) 30 | 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/video/yuv2rgb/yuv_rgb_common.h: -------------------------------------------------------------------------------- 1 | #ifndef YUV_RGB_COMMON_H_ 2 | #define YUV_RGB_COMMON_H_ 3 | // Copyright 2016 Adrien Descamps 4 | // Distributed under BSD 3-Clause License 5 | 6 | typedef enum 7 | { 8 | YCBCR_601_FULL, 9 | YCBCR_601_LIMITED, 10 | YCBCR_709_FULL, 11 | YCBCR_709_LIMITED, 12 | YCBCR_2020_NCL_FULL, 13 | } YCbCrType; 14 | 15 | #endif /* YUV_RGB_COMMON_H_ */ 16 | -------------------------------------------------------------------------------- /test/COPYING: -------------------------------------------------------------------------------- 1 | 2 | The test programs in this directory tree are for demonstrating and 3 | testing the functionality of the SDL library, and are placed in the 4 | public domain. 5 | 6 | October 28, 1997 7 | -- 8 | Sam Lantinga (slouken@libsdl.org) 9 | -------------------------------------------------------------------------------- /test/android/cmake/res/values/strings.xml.cmake: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">@ANDROID_MANIFEST_APP_NAME@</string> 3 | <string name="lib_name">@ANDROID_MANIFEST_LIB_NAME@</string> 4 | <string name="label">@ANDROID_MANIFEST_LABEL@</string> 5 | </resources> 6 | -------------------------------------------------------------------------------- /test/android/res/mipmap-anydpi-v26/sdl-test.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> 3 | <background android:drawable="@color/sdl-test_background"/> 4 | <foreground android:drawable="@drawable/sdl-test_foreground"/> 5 | </adaptive-icon> -------------------------------------------------------------------------------- /test/android/res/mipmap-anydpi-v26/sdl-test_round.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> 3 | <background android:drawable="@color/sdl-test_background"/> 4 | <foreground android:drawable="@drawable/sdl-test_foreground"/> 5 | </adaptive-icon> -------------------------------------------------------------------------------- /test/android/res/mipmap-hdpi/sdl-test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/android/res/mipmap-hdpi/sdl-test.png -------------------------------------------------------------------------------- /test/android/res/mipmap-hdpi/sdl-test_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/android/res/mipmap-hdpi/sdl-test_round.png -------------------------------------------------------------------------------- /test/android/res/mipmap-mdpi/sdl-test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/android/res/mipmap-mdpi/sdl-test.png -------------------------------------------------------------------------------- /test/android/res/mipmap-mdpi/sdl-test_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/android/res/mipmap-mdpi/sdl-test_round.png -------------------------------------------------------------------------------- /test/android/res/mipmap-xhdpi/sdl-test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/android/res/mipmap-xhdpi/sdl-test.png -------------------------------------------------------------------------------- /test/android/res/mipmap-xhdpi/sdl-test_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/android/res/mipmap-xhdpi/sdl-test_round.png -------------------------------------------------------------------------------- /test/android/res/mipmap-xxhdpi/sdl-test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/android/res/mipmap-xxhdpi/sdl-test.png -------------------------------------------------------------------------------- /test/android/res/mipmap-xxhdpi/sdl-test_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/android/res/mipmap-xxhdpi/sdl-test_round.png -------------------------------------------------------------------------------- /test/android/res/mipmap-xxxhdpi/sdl-test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/android/res/mipmap-xxxhdpi/sdl-test.png -------------------------------------------------------------------------------- /test/android/res/mipmap-xxxhdpi/sdl-test_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/android/res/mipmap-xxxhdpi/sdl-test_round.png -------------------------------------------------------------------------------- /test/android/res/values/arg_strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="label_enter_arguments">Arguments</string> 3 | <string name="hint_enter_arguments_here">One argument per line.\ne.g.\n--track-mem\n--windows\n3</string> 4 | <string name="button_start_app">Start</string> 5 | <string name="shortcutModifyArgumentsShortLabel">Modify arguments</string> 6 | <string name="shortcutIntermediateActivityShortLabel">Pass through activity</string> 7 | </resources> 8 | -------------------------------------------------------------------------------- /test/android/res/values/sdl-test_background.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="sdl-test_background">#FFFFFF</color> 4 | </resources> -------------------------------------------------------------------------------- /test/android/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <!-- Base application theme. --> 4 | <style name="AppTheme" parent="android:Theme.NoTitleBar.Fullscreen"> 5 | <!-- Customize your theme here. --> 6 | </style> 7 | </resources> 8 | -------------------------------------------------------------------------------- /test/audiofile.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/audiofile.bmp -------------------------------------------------------------------------------- /test/build-shaders.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | make-header() { 6 | xxd -i "$1" | sed \ 7 | -e 's/^unsigned /const unsigned /g' \ 8 | -e 's,^const,static const,' \ 9 | > "$1.h" 10 | } 11 | 12 | # Requires shadercross CLI installed from SDL_shadercross 13 | for filename in *.hlsl; do 14 | if [ -f "$filename" ]; then 15 | shadercross "$filename" -o "${filename/.hlsl/.spv}" 16 | make-header "${filename/.hlsl/.spv}" 17 | shadercross "$filename" -o "${filename/.hlsl/.msl}" 18 | make-header "${filename/.hlsl/.msl}" 19 | shadercross "$filename" -o "${filename/.hlsl/.dxil}" 20 | make-header "${filename/.hlsl/.dxil}" 21 | fi 22 | done 23 | 24 | rm -f *.spv *.msl *.dxil 25 | -------------------------------------------------------------------------------- /test/emscripten/joystick-pre.js: -------------------------------------------------------------------------------- 1 | Module['arguments'] = ['0']; 2 | //Gamepads don't appear until a button is pressed and the joystick/gamepad tests expect one to be connected 3 | Module['preRun'].push(function() 4 | { 5 | Module['print']("Waiting for gamepad..."); 6 | Module['addRunDependency']("gamepad"); 7 | window.addEventListener('gamepadconnected', function() 8 | { 9 | //OK, got one 10 | Module['removeRunDependency']("gamepad"); 11 | }, false); 12 | 13 | //chrome 14 | if(!!navigator.webkitGetGamepads) 15 | { 16 | var timeout = function() 17 | { 18 | if(navigator.webkitGetGamepads()[0] !== undefined) 19 | Module['removeRunDependency']("gamepad"); 20 | else 21 | setTimeout(timeout, 100); 22 | } 23 | setTimeout(timeout, 100); 24 | } 25 | }); 26 | -------------------------------------------------------------------------------- /test/gamepad_axis.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_axis.bmp -------------------------------------------------------------------------------- /test/gamepad_axis_arrow.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_axis_arrow.bmp -------------------------------------------------------------------------------- /test/gamepad_back.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_back.bmp -------------------------------------------------------------------------------- /test/gamepad_battery.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_battery.bmp -------------------------------------------------------------------------------- /test/gamepad_battery_unknown.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_battery_unknown.bmp -------------------------------------------------------------------------------- /test/gamepad_battery_wired.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_battery_wired.bmp -------------------------------------------------------------------------------- /test/gamepad_button.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_button.bmp -------------------------------------------------------------------------------- /test/gamepad_button_background.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_button_background.bmp -------------------------------------------------------------------------------- /test/gamepad_button_small.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_button_small.bmp -------------------------------------------------------------------------------- /test/gamepad_face_abxy.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_face_abxy.bmp -------------------------------------------------------------------------------- /test/gamepad_face_axby.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_face_axby.bmp -------------------------------------------------------------------------------- /test/gamepad_face_bayx.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_face_bayx.bmp -------------------------------------------------------------------------------- /test/gamepad_face_sony.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_face_sony.bmp -------------------------------------------------------------------------------- /test/gamepad_front.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_front.bmp -------------------------------------------------------------------------------- /test/gamepad_touchpad.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_touchpad.bmp -------------------------------------------------------------------------------- /test/gamepad_wired.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_wired.bmp -------------------------------------------------------------------------------- /test/gamepad_wireless.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/gamepad_wireless.bmp -------------------------------------------------------------------------------- /test/glass.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/glass.bmp -------------------------------------------------------------------------------- /test/icon.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/icon.bmp -------------------------------------------------------------------------------- /test/icon2x.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/icon2x.bmp -------------------------------------------------------------------------------- /test/logaudiodev.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/logaudiodev.bmp -------------------------------------------------------------------------------- /test/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is supposed to be used to build tests on platforms that require 3 | * the main function to be implemented in C++, which means that SDL_main's 4 | * implementation needs C++ and thus can't be included in test*.c 5 | * 6 | * Placed in the public domain by Daniel Gibson, 2022-12-12 7 | */ 8 | 9 | #include <SDL3/SDL_main.h> 10 | 11 | // that's all, folks! 12 | -------------------------------------------------------------------------------- /test/msdf_font.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/msdf_font.bmp -------------------------------------------------------------------------------- /test/n3ds/logo48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/n3ds/logo48x48.png -------------------------------------------------------------------------------- /test/physaudiodev.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/physaudiodev.bmp -------------------------------------------------------------------------------- /test/picture.xbm: -------------------------------------------------------------------------------- 1 | #define picture_width 32 2 | #define picture_height 32 3 | static char picture_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x80, 0x01, 0x18, 5 | 0x64, 0x6f, 0xf6, 0x26, 0x0a, 0x00, 0x00, 0x50, 0xf2, 0xff, 0xff, 0x4f, 6 | 0x14, 0x04, 0x00, 0x28, 0x14, 0x0e, 0x00, 0x28, 0x10, 0x32, 0x00, 0x08, 7 | 0x94, 0x03, 0x00, 0x08, 0xf4, 0x04, 0x00, 0x08, 0xb0, 0x08, 0x00, 0x08, 8 | 0x34, 0x01, 0x00, 0x28, 0x34, 0x01, 0x00, 0x28, 0x12, 0x00, 0x40, 0x48, 9 | 0x12, 0x20, 0xa6, 0x48, 0x14, 0x50, 0x11, 0x29, 0x14, 0x50, 0x48, 0x2a, 10 | 0x10, 0x27, 0xac, 0x0e, 0xd4, 0x71, 0xe8, 0x0a, 0x74, 0x20, 0xa8, 0x0a, 11 | 0x14, 0x20, 0x00, 0x08, 0x10, 0x50, 0x00, 0x08, 0x14, 0x00, 0x00, 0x28, 12 | 0x14, 0x00, 0x00, 0x28, 0xf2, 0xff, 0xff, 0x4f, 0x0a, 0x00, 0x00, 0x50, 13 | 0x64, 0x6f, 0xf6, 0x26, 0x18, 0x80, 0x01, 0x18, 0x00, 0x00, 0x00, 0x00, 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 15 | -------------------------------------------------------------------------------- /test/sample.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/sample.bmp -------------------------------------------------------------------------------- /test/sample.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/sample.wav -------------------------------------------------------------------------------- /test/sdl-test_round.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/sdl-test_round.bmp -------------------------------------------------------------------------------- /test/soundboard.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/soundboard.bmp -------------------------------------------------------------------------------- /test/soundboard_levels.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/soundboard_levels.bmp -------------------------------------------------------------------------------- /test/speaker.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/speaker.bmp -------------------------------------------------------------------------------- /test/sword.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/sword.wav -------------------------------------------------------------------------------- /test/template.test.in: -------------------------------------------------------------------------------- 1 | [Test] 2 | Type=session 3 | Exec=@installedtestsdir@/@exe@ @installed_arguments@ 4 | -------------------------------------------------------------------------------- /test/testgpu/cube.glsl: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #ifdef VERTEX 4 | 5 | layout (location = 0) in vec3 in_position; 6 | layout (location = 1) in vec3 in_color; 7 | 8 | layout (location = 0) out vec4 out_color; 9 | 10 | layout (set = 1, binding = 0) uniform UBO 11 | { 12 | mat4x4 modelViewProj; 13 | }; 14 | 15 | void main() 16 | { 17 | out_color = vec4(in_color, 1.0); 18 | gl_Position = modelViewProj * vec4(in_position, 1.0); 19 | } 20 | 21 | #else 22 | 23 | layout (location = 0) in vec4 in_color; 24 | layout (location = 0) out vec4 out_color; 25 | 26 | void main() 27 | { 28 | out_color = in_color; 29 | } 30 | 31 | #endif -------------------------------------------------------------------------------- /test/testgpu/cube.hlsl: -------------------------------------------------------------------------------- 1 | #define REG(reg, space) register(reg, space) 2 | 3 | cbuffer UBO : REG(b0, space1) 4 | { 5 | float4x4 ModelViewProj; 6 | }; 7 | 8 | struct VSInput 9 | { 10 | float3 Position : TEXCOORD0; 11 | float3 Color : TEXCOORD1; 12 | }; 13 | 14 | struct VSOutput 15 | { 16 | float4 Color : TEXCOORD0; 17 | float4 Position : SV_Position; 18 | }; 19 | 20 | VSOutput VSMain(VSInput input) 21 | { 22 | VSOutput output; 23 | output.Color = float4(input.Color, 1.0f); 24 | output.Position = mul(ModelViewProj, float4(input.Position, 1.0f)); 25 | return output; 26 | } 27 | 28 | float4 PSMain(VSOutput input) : SV_Target0 29 | { 30 | return input.Color; 31 | } 32 | -------------------------------------------------------------------------------- /test/testgpu/cube.metal: -------------------------------------------------------------------------------- 1 | #include <metal_stdlib> 2 | using namespace metal; 3 | 4 | struct VSOutput 5 | { 6 | float4 color [[user(locn0)]]; 7 | float4 position [[position]]; 8 | }; 9 | 10 | #ifdef VERTEX 11 | 12 | struct UBO 13 | { 14 | float4x4 modelViewProj; 15 | }; 16 | 17 | struct VSInput 18 | { 19 | float3 position [[attribute(0)]]; 20 | float3 color [[attribute(1)]]; 21 | }; 22 | 23 | vertex VSOutput vs_main(VSInput input [[stage_in]], constant UBO& ubo [[buffer(0)]]) 24 | { 25 | VSOutput output; 26 | output.color = float4(input.color, 1.0); 27 | output.position = ubo.modelViewProj * float4(input.position, 1.0); 28 | return output; 29 | } 30 | 31 | #else 32 | 33 | fragment float4 fs_main(VSOutput input [[stage_in]]) 34 | { 35 | return input.color; 36 | } 37 | 38 | #endif -------------------------------------------------------------------------------- /test/testgpurender_effects_grayscale.frag.hlsl: -------------------------------------------------------------------------------- 1 | Texture2D u_texture : register(t0, space2); 2 | SamplerState u_sampler : register(s0, space2); 3 | 4 | struct PSInput { 5 | float4 v_color : COLOR0; 6 | float2 v_uv : TEXCOORD0; 7 | }; 8 | 9 | struct PSOutput { 10 | float4 o_color : SV_Target; 11 | }; 12 | 13 | PSOutput main(PSInput input) { 14 | PSOutput output; 15 | float4 color = u_texture.Sample(u_sampler, input.v_uv) * input.v_color; 16 | float gray = color.r * 0.299 + color.g * 0.587 + color.r * 0.114; 17 | output.o_color = float4(gray, gray, gray, color.a); 18 | return output; 19 | } 20 | -------------------------------------------------------------------------------- /test/testutils.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org> 3 | Copyright 2022 Collabora Ltd. 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely. 12 | */ 13 | 14 | #ifndef TESTUTILS_H 15 | #define TESTUTILS_H 16 | 17 | #include <SDL3/SDL.h> 18 | 19 | SDL_Texture *LoadTexture(SDL_Renderer *renderer, const char *file, bool transparent); 20 | char *GetNearbyFilename(const char *file); 21 | char *GetResourceFilename(const char *user_specified, const char *def); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /test/testyuv.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/testyuv.bmp -------------------------------------------------------------------------------- /test/trashcan.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/trashcan.bmp -------------------------------------------------------------------------------- /test/utf8.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libsdl-org/SDL/11ec0c7a8f5ccbfaffed5152dfad49b1335786ca/test/utf8.txt --------------------------------------------------------------------------------