Skip to content

Instantly share code, notes, and snippets.

@fccm
Created August 4, 2020 00:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fccm/265db754b656b4e95f1d20cd4e2a59b4 to your computer and use it in GitHub Desktop.
Save fccm/265db754b656b4e95f1d20cd4e2a59b4 to your computer and use it in GitHub Desktop.
diff -Naur SDL2-2.0.9/include/ SDL2-2.0.10/include/
diff -Naur SDL2-2.0.9/include/begin_code.h SDL2-2.0.10/include/begin_code.h
--- SDL2-2.0.9/include/begin_code.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/begin_code.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -105,6 +105,9 @@
#ifdef _MSC_VER
#pragma warning(disable: 4103)
#endif
+#ifdef __clang__
+#pragma clang diagnostic ignored "-Wpragma-pack"
+#endif
#ifdef __BORLANDC__
#pragma nopackwarning
#endif
diff -Naur SDL2-2.0.9/include/close_code.h SDL2-2.0.10/include/close_code.h
--- SDL2-2.0.9/include/close_code.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/close_code.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -26,6 +26,9 @@
* after you finish any function and structure declarations in your headers
*/
+#ifndef _begin_code_h
+#error close_code.h included without matching begin_code.h
+#endif
#undef _begin_code_h
/* Reset structure packing at previous byte alignment */
diff -Naur SDL2-2.0.9/include/SDL_assert.h SDL2-2.0.10/include/SDL_assert.h
--- SDL2-2.0.9/include/SDL_assert.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_assert.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_atomic.h SDL2-2.0.10/include/SDL_atomic.h
--- SDL2-2.0.9/include/SDL_atomic.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_atomic.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -162,12 +162,29 @@
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
#elif defined(__GNUC__) && defined(__arm__)
-#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__)
+#if 0 /* defined(__LINUX__) || defined(__ANDROID__) */
+/* Information from:
+ https://chromium.googlesource.com/chromium/chromium/+/trunk/base/atomicops_internals_arm_gcc.h#19
+
+ The Linux kernel provides a helper function which provides the right code for a memory barrier,
+ hard-coded at address 0xffff0fa0
+*/
+typedef void (*SDL_KernelMemoryBarrierFunc)();
+#define SDL_MemoryBarrierRelease() ((SDL_KernelMemoryBarrierFunc)0xffff0fa0)()
+#define SDL_MemoryBarrierAcquire() ((SDL_KernelMemoryBarrierFunc)0xffff0fa0)()
+#elif 0 /* defined(__QNXNTO__) */
+#include <sys/cpuinline.h>
+
+#define SDL_MemoryBarrierRelease() __cpu_membarrier()
+#define SDL_MemoryBarrierAcquire() __cpu_membarrier()
+#else
+#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__) || defined(__ARM_ARCH_8A__)
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_5TE__)
#ifdef __thumb__
/* The mcr instruction isn't available in thumb mode, use real functions */
+#define SDL_MEMORY_BARRIER_USES_FUNCTION
#define SDL_MemoryBarrierRelease() SDL_MemoryBarrierReleaseFunction()
#define SDL_MemoryBarrierAcquire() SDL_MemoryBarrierAcquireFunction()
#else
@@ -177,6 +194,7 @@
#else
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("" : : : "memory")
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("" : : : "memory")
+#endif /* __LINUX__ || __ANDROID__ */
#endif /* __GNUC__ && __arm__ */
#else
#if (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x5120))
diff -Naur SDL2-2.0.9/include/SDL_audio.h SDL2-2.0.10/include/SDL_audio.h
--- SDL2-2.0.9/include/SDL_audio.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_audio.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -420,23 +420,56 @@
/* @} *//* Pause audio functions */
/**
- * This function loads a WAVE from the data source, automatically freeing
- * that source if \c freesrc is non-zero. For example, to load a WAVE file,
- * you could do:
+ * \brief Load the audio data of a WAVE file into memory
+ *
+ * Loading a WAVE file requires \c src, \c spec, \c audio_buf and \c audio_len
+ * to be valid pointers. The entire data portion of the file is then loaded
+ * into memory and decoded if necessary.
+ *
+ * If \c freesrc is non-zero, the data source gets automatically closed and
+ * freed before the function returns.
+ *
+ * Supported are RIFF WAVE files with the formats PCM (8, 16, 24, and 32 bits),
+ * IEEE Float (32 bits), Microsoft ADPCM and IMA ADPCM (4 bits), and A-law and
+ * µ-law (8 bits). Other formats are currently unsupported and cause an error.
+ *
+ * If this function succeeds, the pointer returned by it is equal to \c spec
+ * and the pointer to the audio data allocated by the function is written to
+ * \c audio_buf and its length in bytes to \c audio_len. The \ref SDL_AudioSpec
+ * members \c freq, \c channels, and \c format are set to the values of the
+ * audio data in the buffer. The \c samples member is set to a sane default and
+ * all others are set to zero.
+ *
+ * It's necessary to use SDL_FreeWAV() to free the audio data returned in
+ * \c audio_buf when it is no longer used.
+ *
+ * Because of the underspecification of the Waveform format, there are many
+ * problematic files in the wild that cause issues with strict decoders. To
+ * provide compatibility with these files, this decoder is lenient in regards
+ * to the truncation of the file, the fact chunk, and the size of the RIFF
+ * chunk. The hints SDL_HINT_WAVE_RIFF_CHUNK_SIZE, SDL_HINT_WAVE_TRUNCATION,
+ * and SDL_HINT_WAVE_FACT_CHUNK can be used to tune the behavior of the
+ * loading process.
+ *
+ * Any file that is invalid (due to truncation, corruption, or wrong values in
+ * the headers), too big, or unsupported causes an error. Additionally, any
+ * critical I/O error from the data source will terminate the loading process
+ * with an error. The function returns NULL on error and in all cases (with the
+ * exception of \c src being NULL), an appropriate error message will be set.
+ *
+ * It is required that the data source supports seeking.
+ *
+ * Example:
* \code
* SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...);
* \endcode
*
- * If this function succeeds, it returns the given SDL_AudioSpec,
- * filled with the audio data format of the wave data, and sets
- * \c *audio_buf to a malloc()'d buffer containing the audio data,
- * and sets \c *audio_len to the length of that audio buffer, in bytes.
- * You need to free the audio buffer with SDL_FreeWAV() when you are
- * done with it.
- *
- * This function returns NULL and sets the SDL error message if the
- * wave file cannot be opened, uses an unknown data format, or is
- * corrupt. Currently raw and MS-ADPCM WAVE files are supported.
+ * \param src The data source with the WAVE data
+ * \param freesrc A integer value that makes the function close the data source if non-zero
+ * \param spec A pointer filled with the audio format of the audio data
+ * \param audio_buf A pointer filled with the audio data allocated by the function
+ * \param audio_len A pointer filled with the length of the audio data buffer in bytes
+ * \return NULL on error, or non-NULL on success.
*/
extern DECLSPEC SDL_AudioSpec *SDLCALL SDL_LoadWAV_RW(SDL_RWops * src,
int freesrc,
diff -Naur SDL2-2.0.9/include/SDL_bits.h SDL2-2.0.10/include/SDL_bits.h
--- SDL2-2.0.9/include/SDL_bits.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_bits.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -101,6 +101,15 @@
#endif
}
+SDL_FORCE_INLINE SDL_bool
+SDL_HasExactlyOneBitSet32(Uint32 x)
+{
+ if (x && !(x & (x - 1))) {
+ return SDL_TRUE;
+ }
+ return SDL_FALSE;
+}
+
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
}
diff -Naur SDL2-2.0.9/include/SDL_blendmode.h SDL2-2.0.10/include/SDL_blendmode.h
--- SDL2-2.0.9/include/SDL_blendmode.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_blendmode.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -90,12 +90,12 @@
/**
* \brief Create a custom blend mode, which may or may not be supported by a given renderer
*
- * \param srcColorFactor
- * \param dstColorFactor
- * \param colorOperation
- * \param srcAlphaFactor
- * \param dstAlphaFactor
- * \param alphaOperation
+ * \param srcColorFactor source color factor
+ * \param dstColorFactor destination color factor
+ * \param colorOperation color operation
+ * \param srcAlphaFactor source alpha factor
+ * \param dstAlphaFactor destination alpha factor
+ * \param alphaOperation alpha operation
*
* The result of the blend mode operation will be:
* dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor
diff -Naur SDL2-2.0.9/include/SDL_clipboard.h SDL2-2.0.10/include/SDL_clipboard.h
--- SDL2-2.0.9/include/SDL_clipboard.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_clipboard.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_config_android.h SDL2-2.0.10/include/SDL_config_android.h
--- SDL2-2.0.9/include/SDL_config_android.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_config_android.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -130,6 +130,7 @@
/* Enable various audio drivers */
#define SDL_AUDIO_DRIVER_ANDROID 1
+#define SDL_AUDIO_DRIVER_OPENSLES 1
#define SDL_AUDIO_DRIVER_DUMMY 1
/* Enable various input drivers */
diff -Naur SDL2-2.0.9/include/SDL_config.h SDL2-2.0.10/include/SDL_config.h
--- SDL2-2.0.9/include/SDL_config.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_config.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_config.h.cmake SDL2-2.0.10/include/SDL_config.h.cmake
--- SDL2-2.0.9/include/SDL_config.h.cmake 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_config.h.cmake 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -184,6 +184,7 @@
#cmakedefine HAVE_SEM_TIMEDWAIT 1
#cmakedefine HAVE_GETAUXVAL 1
#cmakedefine HAVE_POLL 1
+#cmakedefine HAVE__EXIT 1
#elif __WIN32__
#cmakedefine HAVE_STDARG_H 1
@@ -285,6 +286,7 @@
#cmakedefine SDL_JOYSTICK_WINMM @SDL_JOYSTICK_WINMM@
#cmakedefine SDL_JOYSTICK_USBHID @SDL_JOYSTICK_USBHID@
#cmakedefine SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H @SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H@
+#cmakedefine SDL_JOYSTICK_HIDAPI @SDL_JOYSTICK_HIDAPI@
#cmakedefine SDL_JOYSTICK_EMSCRIPTEN @SDL_JOYSTICK_EMSCRIPTEN@
#cmakedefine SDL_HAPTIC_DUMMY @SDL_HAPTIC_DUMMY@
#cmakedefine SDL_HAPTIC_LINUX @SDL_HAPTIC_LINUX@
@@ -339,9 +341,6 @@
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR@
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON@
-#cmakedefine SDL_VIDEO_DRIVER_MIR @SDL_VIDEO_DRIVER_MIR@
-#cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC @SDL_VIDEO_DRIVER_MIR_DYNAMIC@
-#cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON@
#cmakedefine SDL_VIDEO_DRIVER_EMSCRIPTEN @SDL_VIDEO_DRIVER_EMSCRIPTEN@
#cmakedefine SDL_VIDEO_DRIVER_X11 @SDL_VIDEO_DRIVER_X11@
#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC @SDL_VIDEO_DRIVER_X11_DYNAMIC@
diff -Naur SDL2-2.0.9/include/SDL_config.h.in SDL2-2.0.10/include/SDL_config.h.in
--- SDL2-2.0.9/include/SDL_config.h.in 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_config.h.in 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -189,6 +189,7 @@
#undef HAVE_SEM_TIMEDWAIT
#undef HAVE_GETAUXVAL
#undef HAVE_POLL
+#undef HAVE__EXIT
#else
#define HAVE_STDARG_H 1
@@ -327,9 +328,6 @@
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON
-#undef SDL_VIDEO_DRIVER_MIR
-#undef SDL_VIDEO_DRIVER_MIR_DYNAMIC
-#undef SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON
#undef SDL_VIDEO_DRIVER_X11
#undef SDL_VIDEO_DRIVER_RPI
#undef SDL_VIDEO_DRIVER_KMSDRM
diff -Naur SDL2-2.0.9/include/SDL_config_iphoneos.h SDL2-2.0.10/include/SDL_config_iphoneos.h
--- SDL2-2.0.9/include/SDL_config_iphoneos.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_config_iphoneos.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_config_macosx.h SDL2-2.0.10/include/SDL_config_macosx.h
--- SDL2-2.0.9/include/SDL_config_macosx.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_config_macosx.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -218,7 +218,7 @@
#endif
/* Enable Vulkan support */
-/* Metal/MoltenVK/Vulkan only supported on 64-bit architectures with 10.11+ */
+/* Metal/Vulkan Portability only supported on 64-bit architectures with 10.11+ */
#if TARGET_CPU_X86_64 && (MAC_OS_X_VERSION_MAX_ALLOWED >= 101100)
#define SDL_VIDEO_VULKAN 1
#else
diff -Naur SDL2-2.0.9/include/SDL_config_minimal.h SDL2-2.0.10/include/SDL_config_minimal.h
--- SDL2-2.0.9/include/SDL_config_minimal.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_config_minimal.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_config_os2.h SDL2-2.0.10/include/SDL_config_os2.h
--- SDL2-2.0.9/include/SDL_config_os2.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_config_os2.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_config_pandora.h SDL2-2.0.10/include/SDL_config_pandora.h
--- SDL2-2.0.9/include/SDL_config_pandora.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_config_pandora.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_config_psp.h SDL2-2.0.10/include/SDL_config_psp.h
--- SDL2-2.0.9/include/SDL_config_psp.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_config_psp.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_config_windows.h SDL2-2.0.10/include/SDL_config_windows.h
--- SDL2-2.0.9/include/SDL_config_windows.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_config_windows.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_config_winrt.h SDL2-2.0.10/include/SDL_config_winrt.h
--- SDL2-2.0.9/include/SDL_config_winrt.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_config_winrt.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_config_wiz.h SDL2-2.0.10/include/SDL_config_wiz.h
--- SDL2-2.0.9/include/SDL_config_wiz.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_config_wiz.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_copying.h SDL2-2.0.10/include/SDL_copying.h
--- SDL2-2.0.9/include/SDL_copying.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_copying.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_cpuinfo.h SDL2-2.0.10/include/SDL_cpuinfo.h
--- SDL2-2.0.9/include/SDL_cpuinfo.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_cpuinfo.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -41,24 +41,43 @@
#else
#include <intrin.h>
#ifndef _WIN64
+#ifndef __MMX__
#define __MMX__
+#endif
+#ifndef __3dNOW__
#define __3dNOW__
#endif
+#endif
+#ifndef __SSE__
#define __SSE__
+#endif
+#ifndef __SSE2__
#define __SSE2__
+#endif
#endif /* __clang__ */
#elif defined(__MINGW64_VERSION_MAJOR)
#include <intrin.h>
#else
-#ifdef __ALTIVEC__
-#if defined(HAVE_ALTIVEC_H) && !defined(__APPLE_ALTIVEC__) && !defined(SDL_DISABLE_ALTIVEC_H)
+/* altivec.h redefining bool causes a number of problems, see bugs 3993 and 4392, so you need to explicitly define SDL_ENABLE_ALTIVEC_H to have it included. */
+#if defined(HAVE_ALTIVEC_H) && defined(__ALTIVEC__) && !defined(__APPLE_ALTIVEC__) && defined(SDL_ENABLE_ALTIVEC_H)
#include <altivec.h>
-#undef pixel
-#undef bool
#endif
-#endif
-#if defined(__ARM_NEON__) && !defined(SDL_DISABLE_ARM_NEON_H)
-#include <arm_neon.h>
+#if !defined(SDL_DISABLE_ARM_NEON_H)
+# if defined(__ARM_NEON)
+# include <arm_neon.h>
+# elif defined(__WINDOWS__) || defined(__WINRT__)
+/* Visual Studio doesn't define __ARM_ARCH, but _M_ARM (if set, always 7), and _M_ARM64 (if set, always 1). */
+# if defined(_M_ARM)
+# include <armintr.h>
+# include <arm_neon.h>
+# define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */
+# endif
+# if defined (_M_ARM64)
+# include <armintr.h>
+# include <arm_neon.h>
+# define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */
+# endif
+# endif
#endif
#if defined(__3dNOW__) && !defined(SDL_DISABLE_MM3DNOW_H)
#include <mm3dnow.h>
@@ -177,6 +196,69 @@
*/
extern DECLSPEC int SDLCALL SDL_GetSystemRAM(void);
+/**
+ * \brief Report the alignment this system needs for SIMD allocations.
+ *
+ * This will return the minimum number of bytes to which a pointer must be
+ * aligned to be compatible with SIMD instructions on the current machine.
+ * For example, if the machine supports SSE only, it will return 16, but if
+ * it supports AVX-512F, it'll return 64 (etc). This only reports values for
+ * instruction sets SDL knows about, so if your SDL build doesn't have
+ * SDL_HasAVX512F(), then it might return 16 for the SSE support it sees and
+ * not 64 for the AVX-512 instructions that exist but SDL doesn't know about.
+ * Plan accordingly.
+ */
+extern DECLSPEC size_t SDLCALL SDL_SIMDGetAlignment(void);
+
+/**
+ * \brief Allocate memory in a SIMD-friendly way.
+ *
+ * This will allocate a block of memory that is suitable for use with SIMD
+ * instructions. Specifically, it will be properly aligned and padded for
+ * the system's supported vector instructions.
+ *
+ * The memory returned will be padded such that it is safe to read or write
+ * an incomplete vector at the end of the memory block. This can be useful
+ * so you don't have to drop back to a scalar fallback at the end of your
+ * SIMD processing loop to deal with the final elements without overflowing
+ * the allocated buffer.
+ *
+ * You must free this memory with SDL_FreeSIMD(), not free() or SDL_free()
+ * or delete[], etc.
+ *
+ * Note that SDL will only deal with SIMD instruction sets it is aware of;
+ * for example, SDL 2.0.8 knows that SSE wants 16-byte vectors
+ * (SDL_HasSSE()), and AVX2 wants 32 bytes (SDL_HasAVX2()), but doesn't
+ * know that AVX-512 wants 64. To be clear: if you can't decide to use an
+ * instruction set with an SDL_Has*() function, don't use that instruction
+ * set with memory allocated through here.
+ *
+ * SDL_AllocSIMD(0) will return a non-NULL pointer, assuming the system isn't
+ * out of memory.
+ *
+ * \param len The length, in bytes, of the block to allocated. The actual
+ * allocated block might be larger due to padding, etc.
+ * \return Pointer to newly-allocated block, NULL if out of memory.
+ *
+ * \sa SDL_SIMDAlignment
+ * \sa SDL_SIMDFree
+ */
+extern DECLSPEC void * SDLCALL SDL_SIMDAlloc(const size_t len);
+
+/**
+ * \brief Deallocate memory obtained from SDL_SIMDAlloc
+ *
+ * It is not valid to use this function on a pointer from anything but
+ * SDL_SIMDAlloc(). It can't be used on pointers from malloc, realloc,
+ * SDL_malloc, memalign, new[], etc.
+ *
+ * However, SDL_SIMDFree(NULL) is a legal no-op.
+ *
+ * \sa SDL_SIMDAlloc
+ */
+extern DECLSPEC void SDLCALL SDL_SIMDFree(void *ptr);
+
+/* vi: set ts=4 sw=4 expandtab: */
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
}
diff -Naur SDL2-2.0.9/include/SDL_egl.h SDL2-2.0.10/include/SDL_egl.h
--- SDL2-2.0.9/include/SDL_egl.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_egl.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_endian.h SDL2-2.0.10/include/SDL_endian.h
--- SDL2-2.0.9/include/SDL_endian.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_endian.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_error.h SDL2-2.0.10/include/SDL_error.h
--- SDL2-2.0.9/include/SDL_error.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_error.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_events.h SDL2-2.0.10/include/SDL_events.h
--- SDL2-2.0.9/include/SDL_events.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_events.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -594,6 +594,9 @@
Uint8 padding[56];
} SDL_Event;
+/* Make sure we haven't broken binary compatibility */
+SDL_COMPILE_TIME_ASSERT(SDL_Event, sizeof(SDL_Event) == 56);
+
/* Function prototypes */
diff -Naur SDL2-2.0.9/include/SDL_filesystem.h SDL2-2.0.10/include/SDL_filesystem.h
--- SDL2-2.0.9/include/SDL_filesystem.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_filesystem.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_gamecontroller.h SDL2-2.0.10/include/SDL_gamecontroller.h
--- SDL2-2.0.9/include/SDL_gamecontroller.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_gamecontroller.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_gesture.h SDL2-2.0.10/include/SDL_gesture.h
--- SDL2-2.0.9/include/SDL_gesture.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_gesture.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL.h SDL2-2.0.10/include/SDL.h
--- SDL2-2.0.9/include/SDL.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_haptic.h SDL2-2.0.10/include/SDL_haptic.h
--- SDL2-2.0.9/include/SDL_haptic.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_haptic.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_hints.h SDL2-2.0.10/include/SDL_hints.h
--- SDL2-2.0.9/include/SDL_hints.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_hints.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -316,6 +316,16 @@
#define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_EVENTS"
/**
+ * \brief A variable controlling whether mouse events should generate synthetic touch events
+ *
+ * This variable can be set to the following values:
+ * "0" - Mouse events will not generate touch events (default for desktop platforms)
+ * "1" - Mouse events will generate touch events (default for mobile platforms, such as Android and iOS)
+ */
+
+#define SDL_HINT_MOUSE_TOUCH_EVENTS "SDL_MOUSE_TOUCH_EVENTS"
+
+/**
* \brief Minimize your SDL_Window if it loses key focus when in fullscreen mode. Defaults to true.
*
*/
@@ -437,6 +447,16 @@
#define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
/**
+ * \brief A variable that lets you provide a file with extra gamecontroller db entries.
+ *
+ * The file should contain lines of gamecontroller config data, see SDL_gamecontroller.h
+ *
+ * This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER)
+ * You can update mappings after the system is initialized with SDL_GameControllerMappingForGUID() and SDL_GameControllerAddMapping()
+ */
+#define SDL_HINT_GAMECONTROLLERCONFIG_FILE "SDL_GAMECONTROLLERCONFIG_FILE"
+
+/**
* \brief A variable containing a list of devices to skip when scanning for game controllers.
*
* The format of the string is a comma separated list of USB VID/PID pairs
@@ -836,19 +856,7 @@
*/
#define SDL_HINT_IME_INTERNAL_EDITING "SDL_IME_INTERNAL_EDITING"
- /**
- * \brief A variable to control whether mouse and touch events are to be treated together or separately
- *
- * The variable can be set to the following values:
- * "0" - Mouse events will be handled as touch events, and touch will raise fake mouse
- * events. This is the behaviour of SDL <= 2.0.3. (default)
- * "1" - Mouse events will be handled separately from pure touch events.
- *
- * The value of this hint is used at runtime, so it can be changed at any time.
- */
-#define SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH "SDL_ANDROID_SEPARATE_MOUSE_AND_TOUCH"
-
- /**
+/**
* \brief A variable to control whether we trap the Android back button to handle it manually.
* This is necessary for the right mouse button to work on some Android devices, or
* to be able to trap the back button for use in your code reliably. If set to true,
@@ -865,6 +873,17 @@
*/
#define SDL_HINT_ANDROID_TRAP_BACK_BUTTON "SDL_ANDROID_TRAP_BACK_BUTTON"
+/**
+ * \brief A variable to control whether the event loop will block itself when the app is paused.
+ *
+ * The variable can be set to the following values:
+ * "0" - Non blocking.
+ * "1" - Blocking. (default)
+ *
+ * The value should be set before SDL is initialized.
+ */
+#define SDL_HINT_ANDROID_BLOCK_ON_PAUSE "SDL_ANDROID_BLOCK_ON_PAUSE"
+
/**
* \brief A variable to control whether the return key on the soft keyboard
* should hide the soft keyboard on Android and iOS.
@@ -1044,6 +1063,118 @@
#define SDL_HINT_AUDIO_CATEGORY "SDL_AUDIO_CATEGORY"
/**
+ * \brief A variable controlling whether the 2D render API is compatible or efficient.
+ *
+ * This variable can be set to the following values:
+ *
+ * "0" - Don't use batching to make rendering more efficient.
+ * "1" - Use batching, but might cause problems if app makes its own direct OpenGL calls.
+ *
+ * Up to SDL 2.0.9, the render API would draw immediately when requested. Now
+ * it batches up draw requests and sends them all to the GPU only when forced
+ * to (during SDL_RenderPresent, when changing render targets, by updating a
+ * texture that the batch needs, etc). This is significantly more efficient,
+ * but it can cause problems for apps that expect to render on top of the
+ * render API's output. As such, SDL will disable batching if a specific
+ * render backend is requested (since this might indicate that the app is
+ * planning to use the underlying graphics API directly). This hint can
+ * be used to explicitly request batching in this instance. It is a contract
+ * that you will either never use the underlying graphics API directly, or
+ * if you do, you will call SDL_RenderFlush() before you do so any current
+ * batch goes to the GPU before your work begins. Not following this contract
+ * will result in undefined behavior.
+ */
+#define SDL_HINT_RENDER_BATCHING "SDL_RENDER_BATCHING"
+
+
+/**
+ * \brief A variable controlling whether SDL logs all events pushed onto its internal queue.
+ *
+ * This variable can be set to the following values:
+ *
+ * "0" - Don't log any events (default)
+ * "1" - Log all events except mouse and finger motion, which are pretty spammy.
+ * "2" - Log all events.
+ *
+ * This is generally meant to be used to debug SDL itself, but can be useful
+ * for application developers that need better visibility into what is going
+ * on in the event queue. Logged events are sent through SDL_Log(), which
+ * means by default they appear on stdout on most platforms or maybe
+ * OutputDebugString() on Windows, and can be funneled by the app with
+ * SDL_LogSetOutputFunction(), etc.
+ *
+ * This hint can be toggled on and off at runtime, if you only need to log
+ * events for a small subset of program execution.
+ */
+#define SDL_HINT_EVENT_LOGGING "SDL_EVENT_LOGGING"
+
+
+
+/**
+ * \brief Controls how the size of the RIFF chunk affects the loading of a WAVE file.
+ *
+ * The size of the RIFF chunk (which includes all the sub-chunks of the WAVE
+ * file) is not always reliable. In case the size is wrong, it's possible to
+ * just ignore it and step through the chunks until a fixed limit is reached.
+ *
+ * Note that files that have trailing data unrelated to the WAVE file or
+ * corrupt files may slow down the loading process without a reliable boundary.
+ * By default, SDL stops after 10000 chunks to prevent wasting time. Use the
+ * environment variable SDL_WAVE_CHUNK_LIMIT to adjust this value.
+ *
+ * This variable can be set to the following values:
+ *
+ * "force" - Always use the RIFF chunk size as a boundary for the chunk search
+ * "ignorezero" - Like "force", but a zero size searches up to 4 GiB (default)
+ * "ignore" - Ignore the RIFF chunk size and always search up to 4 GiB
+ * "maximum" - Search for chunks until the end of file (not recommended)
+ */
+#define SDL_HINT_WAVE_RIFF_CHUNK_SIZE "SDL_WAVE_RIFF_CHUNK_SIZE"
+
+/**
+ * \brief Controls how a truncated WAVE file is handled.
+ *
+ * A WAVE file is considered truncated if any of the chunks are incomplete or
+ * the data chunk size is not a multiple of the block size. By default, SDL
+ * decodes until the first incomplete block, as most applications seem to do.
+ *
+ * This variable can be set to the following values:
+ *
+ * "verystrict" - Raise an error if the file is truncated
+ * "strict" - Like "verystrict", but the size of the RIFF chunk is ignored
+ * "dropframe" - Decode until the first incomplete sample frame
+ * "dropblock" - Decode until the first incomplete block (default)
+ */
+#define SDL_HINT_WAVE_TRUNCATION "SDL_WAVE_TRUNCATION"
+
+/**
+ * \brief Controls how the fact chunk affects the loading of a WAVE file.
+ *
+ * The fact chunk stores information about the number of samples of a WAVE
+ * file. The Standards Update from Microsoft notes that this value can be used
+ * to 'determine the length of the data in seconds'. This is especially useful
+ * for compressed formats (for which this is a mandatory chunk) if they produce
+ * multiple sample frames per block and truncating the block is not allowed.
+ * The fact chunk can exactly specify how many sample frames there should be
+ * in this case.
+ *
+ * Unfortunately, most application seem to ignore the fact chunk and so SDL
+ * ignores it by default as well.
+ *
+ * This variable can be set to the following values:
+ *
+ * "truncate" - Use the number of samples to truncate the wave data if
+ * the fact chunk is present and valid
+ * "strict" - Like "truncate", but raise an error if the fact chunk
+ * is invalid, not present for non-PCM formats, or if the
+ * data chunk doesn't have that many samples
+ * "ignorezero" - Like "truncate", but ignore fact chunk if the number of
+ * samples is zero
+ * "ignore" - Ignore fact chunk entirely (default)
+ */
+#define SDL_HINT_WAVE_FACT_CHUNK "SDL_WAVE_FACT_CHUNK"
+
+/**
* \brief An enumeration of hint priorities
*/
typedef enum
diff -Naur SDL2-2.0.9/include/SDL_joystick.h SDL2-2.0.10/include/SDL_joystick.h
--- SDL2-2.0.9/include/SDL_joystick.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_joystick.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_keyboard.h SDL2-2.0.10/include/SDL_keyboard.h
--- SDL2-2.0.9/include/SDL_keyboard.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_keyboard.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_keycode.h SDL2-2.0.10/include/SDL_keycode.h
--- SDL2-2.0.9/include/SDL_keycode.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_keycode.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_loadso.h SDL2-2.0.10/include/SDL_loadso.h
--- SDL2-2.0.9/include/SDL_loadso.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_loadso.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_log.h SDL2-2.0.10/include/SDL_log.h
--- SDL2-2.0.9/include/SDL_log.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_log.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_main.h SDL2-2.0.10/include/SDL_main.h
--- SDL2-2.0.9/include/SDL_main.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_main.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -55,6 +55,10 @@
/* On iOS SDL provides a main function that creates an application delegate
and starts the iOS application run loop.
+ If you link with SDL dynamically on iOS, the main function can't be in a
+ shared library, so you need to link with libSDLmain.a, which includes a
+ stub main function that calls into the shared library to start execution.
+
See src/video/uikit/SDL_uikitappdelegate.m for more details.
*/
#define SDL_MAIN_NEEDED
@@ -82,12 +86,6 @@
#endif
#endif /* SDL_MAIN_HANDLED */
-#ifdef __cplusplus
-#define C_LINKAGE "C"
-#else
-#define C_LINKAGE
-#endif /* __cplusplus */
-
#ifndef SDLMAIN_DECLSPEC
#define SDLMAIN_DECLSPEC
#endif
@@ -111,18 +109,19 @@
#define main SDL_main
#endif
-/**
- * The prototype for the application's main() function
- */
-extern C_LINKAGE SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[]);
-
-
#include "begin_code.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
+ * The prototype for the application's main() function
+ */
+typedef int (*SDL_main_func)(int argc, char *argv[]);
+extern SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[]);
+
+
+/**
* This is called by the real SDL main function to let the rest of the
* library know that initialization was done properly.
*
@@ -136,8 +135,7 @@
/**
* This can be called to set the application class at startup
*/
-extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style,
- void *hInst);
+extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style, void *hInst);
extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
#endif /* __WIN32__ */
@@ -153,10 +151,24 @@
* \return 0 on success, -1 on failure. On failure, use SDL_GetError to retrieve more
* information on the failure.
*/
-extern DECLSPEC int SDLCALL SDL_WinRTRunApp(int (*mainFunction)(int, char **), void * reserved);
+extern DECLSPEC int SDLCALL SDL_WinRTRunApp(SDL_main_func mainFunction, void * reserved);
#endif /* __WINRT__ */
+#if defined(__IPHONEOS__)
+
+/**
+ * \brief Initializes and launches an SDL application.
+ *
+ * \param argc The argc parameter from the application's main() function
+ * \param argv The argv parameter from the application's main() function
+ * \param mainFunction The SDL app's C-style main().
+ * \return the return value from mainFunction
+ */
+extern DECLSPEC int SDLCALL SDL_UIKitRunApp(int argc, char *argv[], SDL_main_func mainFunction);
+
+#endif /* __IPHONEOS__ */
+
#ifdef __cplusplus
}
diff -Naur SDL2-2.0.9/include/SDL_messagebox.h SDL2-2.0.10/include/SDL_messagebox.h
--- SDL2-2.0.9/include/SDL_messagebox.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_messagebox.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_mouse.h SDL2-2.0.10/include/SDL_mouse.h
--- SDL2-2.0.9/include/SDL_mouse.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_mouse.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_mutex.h SDL2-2.0.10/include/SDL_mutex.h
--- SDL2-2.0.9/include/SDL_mutex.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_mutex.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_name.h SDL2-2.0.10/include/SDL_name.h
--- SDL2-2.0.9/include/SDL_name.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_name.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_opengles2.h SDL2-2.0.10/include/SDL_opengles2.h
--- SDL2-2.0.9/include/SDL_opengles2.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_opengles2.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_opengles.h SDL2-2.0.10/include/SDL_opengles.h
--- SDL2-2.0.9/include/SDL_opengles.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_opengles.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_opengl.h SDL2-2.0.10/include/SDL_opengl.h
--- SDL2-2.0.9/include/SDL_opengl.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_opengl.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_pixels.h SDL2-2.0.10/include/SDL_pixels.h
--- SDL2-2.0.9/include/SDL_pixels.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_pixels.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -168,7 +168,7 @@
((format) && (SDL_PIXELFLAG(format) != 1))
/* Note: If you modify this list, update SDL_GetPixelFormatName() */
-enum
+typedef enum
{
SDL_PIXELFORMAT_UNKNOWN,
SDL_PIXELFORMAT_INDEX1LSB =
@@ -290,7 +290,7 @@
SDL_DEFINE_PIXELFOURCC('N', 'V', '2', '1'),
SDL_PIXELFORMAT_EXTERNAL_OES = /**< Android video texture format */
SDL_DEFINE_PIXELFOURCC('O', 'E', 'S', ' ')
-};
+} SDL_PixelFormatEnum;
typedef struct SDL_Color
{
diff -Naur SDL2-2.0.9/include/SDL_platform.h SDL2-2.0.10/include/SDL_platform.h
--- SDL2-2.0.9/include/SDL_platform.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_platform.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_power.h SDL2-2.0.10/include/SDL_power.h
--- SDL2-2.0.9/include/SDL_power.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_power.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_quit.h SDL2-2.0.10/include/SDL_quit.h
--- SDL2-2.0.9/include/SDL_quit.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_quit.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_rect.h SDL2-2.0.10/include/SDL_rect.h
--- SDL2-2.0.9/include/SDL_rect.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_rect.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -40,7 +40,7 @@
#endif
/**
- * \brief The structure that defines a point
+ * \brief The structure that defines a point (integer)
*
* \sa SDL_EnclosePoints
* \sa SDL_PointInRect
@@ -52,7 +52,20 @@
} SDL_Point;
/**
- * \brief A rectangle, with the origin at the upper left.
+ * \brief The structure that defines a point (floating point)
+ *
+ * \sa SDL_EnclosePoints
+ * \sa SDL_PointInRect
+ */
+typedef struct SDL_FPoint
+{
+ float x;
+ float y;
+} SDL_FPoint;
+
+
+/**
+ * \brief A rectangle, with the origin at the upper left (integer).
*
* \sa SDL_RectEmpty
* \sa SDL_RectEquals
@@ -67,6 +80,19 @@
int w, h;
} SDL_Rect;
+
+/**
+ * \brief A rectangle, with the origin at the upper left (floating point).
+ */
+typedef struct SDL_FRect
+{
+ float x;
+ float y;
+ float w;
+ float h;
+} SDL_FRect;
+
+
/**
* \brief Returns true if point resides inside a rectangle.
*/
diff -Naur SDL2-2.0.9/include/SDL_render.h SDL2-2.0.10/include/SDL_render.h
--- SDL2-2.0.9/include/SDL_render.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_render.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -835,6 +835,148 @@
const SDL_Point *center,
const SDL_RendererFlip flip);
+
+/**
+ * \brief Draw a point on the current rendering target.
+ *
+ * \param renderer The renderer which should draw a point.
+ * \param x The x coordinate of the point.
+ * \param y The y coordinate of the point.
+ *
+ * \return 0 on success, or -1 on error
+ */
+extern DECLSPEC int SDLCALL SDL_RenderDrawPointF(SDL_Renderer * renderer,
+ float x, float y);
+
+/**
+ * \brief Draw multiple points on the current rendering target.
+ *
+ * \param renderer The renderer which should draw multiple points.
+ * \param points The points to draw
+ * \param count The number of points to draw
+ *
+ * \return 0 on success, or -1 on error
+ */
+extern DECLSPEC int SDLCALL SDL_RenderDrawPointsF(SDL_Renderer * renderer,
+ const SDL_FPoint * points,
+ int count);
+
+/**
+ * \brief Draw a line on the current rendering target.
+ *
+ * \param renderer The renderer which should draw a line.
+ * \param x1 The x coordinate of the start point.
+ * \param y1 The y coordinate of the start point.
+ * \param x2 The x coordinate of the end point.
+ * \param y2 The y coordinate of the end point.
+ *
+ * \return 0 on success, or -1 on error
+ */
+extern DECLSPEC int SDLCALL SDL_RenderDrawLineF(SDL_Renderer * renderer,
+ float x1, float y1, float x2, float y2);
+
+/**
+ * \brief Draw a series of connected lines on the current rendering target.
+ *
+ * \param renderer The renderer which should draw multiple lines.
+ * \param points The points along the lines
+ * \param count The number of points, drawing count-1 lines
+ *
+ * \return 0 on success, or -1 on error
+ */
+extern DECLSPEC int SDLCALL SDL_RenderDrawLinesF(SDL_Renderer * renderer,
+ const SDL_FPoint * points,
+ int count);
+
+/**
+ * \brief Draw a rectangle on the current rendering target.
+ *
+ * \param renderer The renderer which should draw a rectangle.
+ * \param rect A pointer to the destination rectangle, or NULL to outline the entire rendering target.
+ *
+ * \return 0 on success, or -1 on error
+ */
+extern DECLSPEC int SDLCALL SDL_RenderDrawRectF(SDL_Renderer * renderer,
+ const SDL_FRect * rect);
+
+/**
+ * \brief Draw some number of rectangles on the current rendering target.
+ *
+ * \param renderer The renderer which should draw multiple rectangles.
+ * \param rects A pointer to an array of destination rectangles.
+ * \param count The number of rectangles.
+ *
+ * \return 0 on success, or -1 on error
+ */
+extern DECLSPEC int SDLCALL SDL_RenderDrawRectsF(SDL_Renderer * renderer,
+ const SDL_FRect * rects,
+ int count);
+
+/**
+ * \brief Fill a rectangle on the current rendering target with the drawing color.
+ *
+ * \param renderer The renderer which should fill a rectangle.
+ * \param rect A pointer to the destination rectangle, or NULL for the entire
+ * rendering target.
+ *
+ * \return 0 on success, or -1 on error
+ */
+extern DECLSPEC int SDLCALL SDL_RenderFillRectF(SDL_Renderer * renderer,
+ const SDL_FRect * rect);
+
+/**
+ * \brief Fill some number of rectangles on the current rendering target with the drawing color.
+ *
+ * \param renderer The renderer which should fill multiple rectangles.
+ * \param rects A pointer to an array of destination rectangles.
+ * \param count The number of rectangles.
+ *
+ * \return 0 on success, or -1 on error
+ */
+extern DECLSPEC int SDLCALL SDL_RenderFillRectsF(SDL_Renderer * renderer,
+ const SDL_FRect * rects,
+ int count);
+
+/**
+ * \brief Copy a portion of the texture to the current rendering target.
+ *
+ * \param renderer The renderer which should copy parts of a texture.
+ * \param texture The source texture.
+ * \param srcrect A pointer to the source rectangle, or NULL for the entire
+ * texture.
+ * \param dstrect A pointer to the destination rectangle, or NULL for the
+ * entire rendering target.
+ *
+ * \return 0 on success, or -1 on error
+ */
+extern DECLSPEC int SDLCALL SDL_RenderCopyF(SDL_Renderer * renderer,
+ SDL_Texture * texture,
+ const SDL_Rect * srcrect,
+ const SDL_FRect * dstrect);
+
+/**
+ * \brief Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center
+ *
+ * \param renderer The renderer which should copy parts of a texture.
+ * \param texture The source texture.
+ * \param srcrect A pointer to the source rectangle, or NULL for the entire
+ * texture.
+ * \param dstrect A pointer to the destination rectangle, or NULL for the
+ * entire rendering target.
+ * \param angle An angle in degrees that indicates the rotation that will be applied to dstrect, rotating it in a clockwise direction
+ * \param center A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done around dstrect.w/2, dstrect.h/2).
+ * \param flip An SDL_RendererFlip value stating which flipping actions should be performed on the texture
+ *
+ * \return 0 on success, or -1 on error
+ */
+extern DECLSPEC int SDLCALL SDL_RenderCopyExF(SDL_Renderer * renderer,
+ SDL_Texture * texture,
+ const SDL_Rect * srcrect,
+ const SDL_FRect * dstrect,
+ const double angle,
+ const SDL_FPoint *center,
+ const SDL_RendererFlip flip);
+
/**
* \brief Read pixels from the current rendering target.
*
@@ -876,6 +1018,31 @@
*/
extern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_Renderer * renderer);
+/**
+ * \brief Force the rendering context to flush any pending commands to the
+ * underlying rendering API.
+ *
+ * You do not need to (and in fact, shouldn't) call this function unless
+ * you are planning to call into OpenGL/Direct3D/Metal/whatever directly
+ * in addition to using an SDL_Renderer.
+ *
+ * This is for a very-specific case: if you are using SDL's render API,
+ * you asked for a specific renderer backend (OpenGL, Direct3D, etc),
+ * you set SDL_HINT_RENDER_BATCHING to "1", and you plan to make
+ * OpenGL/D3D/whatever calls in addition to SDL render API calls. If all of
+ * this applies, you should call SDL_RenderFlush() between calls to SDL's
+ * render API and the low-level API you're using in cooperation.
+ *
+ * In all other cases, you can ignore this function. This is only here to
+ * get maximum performance out of a specific situation. In all other cases,
+ * SDL will do the right thing, perhaps at a performance loss.
+ *
+ * This function is first available in SDL 2.0.10, and is not needed in
+ * 2.0.9 and earlier, as earlier versions did not queue rendering commands
+ * at all, instead flushing them to the OS immediately.
+ */
+extern DECLSPEC int SDLCALL SDL_RenderFlush(SDL_Renderer * renderer);
+
/**
* \brief Bind the texture to the current OpenGL/ES/ES2 context for use with
diff -Naur SDL2-2.0.9/include/SDL_revision.h SDL2-2.0.10/include/SDL_revision.h
--- SDL2-2.0.9/include/SDL_revision.h 2018-10-31 16:07:45.000000000 +0100
+++ SDL2-2.0.10/include/SDL_revision.h 2019-07-25 06:33:05.000000000 +0200
@@ -1,2 +1,2 @@
-#define SDL_REVISION "hg-12373:8feb5da6f2fb"
-#define SDL_REVISION_NUMBER 12373
+#define SDL_REVISION "hg-12952:bc90ce38f1e2"
+#define SDL_REVISION_NUMBER 12952
diff -Naur SDL2-2.0.9/include/SDL_rwops.h SDL2-2.0.10/include/SDL_rwops.h
--- SDL2-2.0.9/include/SDL_rwops.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_rwops.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -176,19 +176,48 @@
#define RW_SEEK_END 2 /**< Seek relative to the end of data */
/**
- * \name Read/write macros
+ * Return the size of the file in this rwops, or -1 if unknown
+ */
+extern DECLSPEC Sint64 SDLCALL SDL_RWsize(SDL_RWops *context);
+
+/**
+ * Seek to \c offset relative to \c whence, one of stdio's whence values:
+ * RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END
*
- * Macros to easily read and write from an SDL_RWops structure.
+ * \return the final offset in the data stream, or -1 on error.
*/
-/* @{ */
-#define SDL_RWsize(ctx) (ctx)->size(ctx)
-#define SDL_RWseek(ctx, offset, whence) (ctx)->seek(ctx, offset, whence)
-#define SDL_RWtell(ctx) (ctx)->seek(ctx, 0, RW_SEEK_CUR)
-#define SDL_RWread(ctx, ptr, size, n) (ctx)->read(ctx, ptr, size, n)
-#define SDL_RWwrite(ctx, ptr, size, n) (ctx)->write(ctx, ptr, size, n)
-#define SDL_RWclose(ctx) (ctx)->close(ctx)
-/* @} *//* Read/write macros */
+extern DECLSPEC Sint64 SDLCALL SDL_RWseek(SDL_RWops *context,
+ Sint64 offset, int whence);
+
+/**
+ * Return the current offset in the data stream, or -1 on error.
+ */
+extern DECLSPEC Sint64 SDLCALL SDL_RWtell(SDL_RWops *context);
+/**
+ * Read up to \c maxnum objects each of size \c size from the data
+ * stream to the area pointed at by \c ptr.
+ *
+ * \return the number of objects read, or 0 at error or end of file.
+ */
+extern DECLSPEC size_t SDLCALL SDL_RWread(SDL_RWops *context,
+ void *ptr, size_t size, size_t maxnum);
+
+/**
+ * Write exactly \c num objects each of size \c size from the area
+ * pointed at by \c ptr to data stream.
+ *
+ * \return the number of objects written, or 0 at error or end of file.
+ */
+extern DECLSPEC size_t SDLCALL SDL_RWwrite(SDL_RWops *context,
+ const void *ptr, size_t size, size_t num);
+
+/**
+ * Close and free an allocated SDL_RWops structure.
+ *
+ * \return 0 if successful or -1 on write error when flushing data.
+ */
+extern DECLSPEC int SDLCALL SDL_RWclose(SDL_RWops *context);
/**
* Load all the data from an SDL data stream.
@@ -209,9 +238,17 @@
/**
* Load an entire file.
*
- * Convenience macro.
+ * The data is allocated with a zero byte at the end (null terminated)
+ *
+ * If \c datasize is not NULL, it is filled with the size of the data read.
+ *
+ * If \c freesrc is non-zero, the stream will be closed after being read.
+ *
+ * The data should be freed with SDL_free().
+ *
+ * \return the data, or NULL if there was an error.
*/
-#define SDL_LoadFile(file, datasize) SDL_LoadFile_RW(SDL_RWFromFile(file, "rb"), datasize, 1)
+extern DECLSPEC void *SDLCALL SDL_LoadFile(const char *file, size_t *datasize);
/**
* \name Read endian functions
diff -Naur SDL2-2.0.9/include/SDL_scancode.h SDL2-2.0.10/include/SDL_scancode.h
--- SDL2-2.0.9/include/SDL_scancode.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_scancode.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -38,7 +38,7 @@
* SDL_Event structure.
*
* The values in this enumeration are based on the USB usage page standard:
- * http://www.usb.org/developers/hidpage/Hut1_12v2.pdf
+ * https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf
*/
typedef enum
{
diff -Naur SDL2-2.0.9/include/SDL_sensor.h SDL2-2.0.10/include/SDL_sensor.h
--- SDL2-2.0.9/include/SDL_sensor.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_sensor.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -26,8 +26,8 @@
*
*/
-#ifndef _SDL_sensor_h
-#define _SDL_sensor_h
+#ifndef SDL_sensor_h_
+#define SDL_sensor_h_
#include "SDL_stdinc.h"
#include "SDL_error.h"
@@ -246,6 +246,6 @@
#endif
#include "close_code.h"
-#endif /* _SDL_sensor_h */
+#endif /* SDL_sensor_h_ */
/* vi: set ts=4 sw=4 expandtab: */
diff -Naur SDL2-2.0.9/include/SDL_shape.h SDL2-2.0.10/include/SDL_shape.h
--- SDL2-2.0.9/include/SDL_shape.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_shape.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_stdinc.h SDL2-2.0.10/include/SDL_stdinc.h
--- SDL2-2.0.9/include/SDL_stdinc.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_stdinc.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_surface.h SDL2-2.0.10/include/SDL_surface.h
--- SDL2-2.0.9/include/SDL_surface.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_surface.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -53,6 +53,7 @@
#define SDL_PREALLOC 0x00000001 /**< Surface uses preallocated memory */
#define SDL_RLEACCEL 0x00000002 /**< Surface is RLE encoded */
#define SDL_DONTFREE 0x00000004 /**< Surface is referenced internally */
+#define SDL_SIMD_ALIGNED 0x00000008 /**< Surface uses aligned memory */
/* @} *//* Surface flags */
/**
diff -Naur SDL2-2.0.9/include/SDL_system.h SDL2-2.0.10/include/SDL_system.h
--- SDL2-2.0.9/include/SDL_system.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_system.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_syswm.h SDL2-2.0.10/include/SDL_syswm.h
--- SDL2-2.0.9/include/SDL_syswm.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_syswm.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -34,16 +34,16 @@
#include "SDL_version.h"
/**
- * \file SDL_syswm.h
+ * \brief SDL_syswm.h
*
* Your application has access to a special type of event ::SDL_SYSWMEVENT,
* which contains window-manager specific information and arrives whenever
* an unhandled window event occurs. This event is ignored by default, but
* you can enable it with SDL_EventState().
*/
-#ifdef SDL_PROTOTYPES_ONLY
struct SDL_SysWMinfo;
-#else
+
+#if !defined(SDL_PROTOTYPES_ONLY)
#if defined(SDL_VIDEO_DRIVER_WINDOWS)
#ifndef WIN32_LEAN_AND_MEAN
@@ -103,6 +103,8 @@
#if defined(SDL_VIDEO_DRIVER_VIVANTE)
#include "SDL_egl.h"
#endif
+#endif /* SDL_PROTOTYPES_ONLY */
+
#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
@@ -110,6 +112,7 @@
extern "C" {
#endif
+#if !defined(SDL_PROTOTYPES_ONLY)
/**
* These are the various supported windowing subsystems
*/
@@ -122,7 +125,7 @@
SDL_SYSWM_COCOA,
SDL_SYSWM_UIKIT,
SDL_SYSWM_WAYLAND,
- SDL_SYSWM_MIR,
+ SDL_SYSWM_MIR, /* no longer available, left for API/ABI compatibility. Remove in 2.1! */
SDL_SYSWM_WINRT,
SDL_SYSWM_ANDROID,
SDL_SYSWM_VIVANTE,
@@ -257,11 +260,11 @@
struct wl_shell_surface *shell_surface; /**< Wayland shell_surface (window manager handle) */
} wl;
#endif
-#if defined(SDL_VIDEO_DRIVER_MIR)
+#if defined(SDL_VIDEO_DRIVER_MIR) /* no longer available, left for API/ABI compatibility. Remove in 2.1! */
struct
{
- struct MirConnection *connection; /**< Mir display server connection */
- struct MirSurface *surface; /**< Mir surface */
+ void *connection; /**< Mir display server connection */
+ void *surface; /**< Mir surface */
} mir;
#endif
diff -Naur SDL2-2.0.9/include/SDL_test_assert.h SDL2-2.0.10/include/SDL_test_assert.h
--- SDL2-2.0.9/include/SDL_test_assert.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_test_assert.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_test_common.h SDL2-2.0.10/include/SDL_test_common.h
--- SDL2-2.0.9/include/SDL_test_common.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_test_common.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -140,14 +140,20 @@
*/
int SDLTest_CommonArg(SDLTest_CommonState * state, int index);
+
/**
- * \brief Returns common usage information
- *
- * \param state The common state describing the test window to create.
+ * \brief Logs command line usage info.
*
- * \returns String with usage information
+ * This logs the appropriate command line options for the subsystems in use
+ * plus other common options, and then any application-specific options.
+ * This uses the SDL_Log() function and splits up output to be friendly to
+ * 80-character-wide terminals.
+ *
+ * \param state The common state describing the test window for the app.
+ * \param argv0 argv[0], as passed to main/SDL_main.
+ * \param options an array of strings for application specific options. The last element of the array should be NULL.
*/
-const char *SDLTest_CommonUsage(SDLTest_CommonState * state);
+void SDLTest_CommonLogUsage(SDLTest_CommonState * state, const char *argv0, const char **options);
/**
* \brief Open test window.
@@ -159,6 +165,17 @@
SDL_bool SDLTest_CommonInit(SDLTest_CommonState * state);
/**
+ * \brief Easy argument handling when test app doesn't need any custom args.
+ *
+ * \param state The common state describing the test window to create.
+ * \param argc argc, as supplied to SDL_main
+ * \param argv argv, as supplied to SDL_main
+ *
+ * \returns False if app should quit, true otherwise.
+ */
+SDL_bool SDLTest_CommonDefaultArgs(SDLTest_CommonState * state, const int argc, char **argv);
+
+/**
* \brief Common event handler for test windows.
*
* \param state The common state used to create test window.
diff -Naur SDL2-2.0.9/include/SDL_test_compare.h SDL2-2.0.10/include/SDL_test_compare.h
--- SDL2-2.0.9/include/SDL_test_compare.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_test_compare.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_test_crc32.h SDL2-2.0.10/include/SDL_test_crc32.h
--- SDL2-2.0.9/include/SDL_test_crc32.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_test_crc32.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_test_font.h SDL2-2.0.10/include/SDL_test_font.h
--- SDL2-2.0.9/include/SDL_test_font.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_test_font.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_test_fuzzer.h SDL2-2.0.10/include/SDL_test_fuzzer.h
--- SDL2-2.0.9/include/SDL_test_fuzzer.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_test_fuzzer.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_test.h SDL2-2.0.10/include/SDL_test.h
--- SDL2-2.0.9/include/SDL_test.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_test.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_test_harness.h SDL2-2.0.10/include/SDL_test_harness.h
--- SDL2-2.0.9/include/SDL_test_harness.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_test_harness.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_test_images.h SDL2-2.0.10/include/SDL_test_images.h
--- SDL2-2.0.9/include/SDL_test_images.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_test_images.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_test_log.h SDL2-2.0.10/include/SDL_test_log.h
--- SDL2-2.0.9/include/SDL_test_log.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_test_log.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_test_md5.h SDL2-2.0.10/include/SDL_test_md5.h
--- SDL2-2.0.9/include/SDL_test_md5.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_test_md5.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_test_memory.h SDL2-2.0.10/include/SDL_test_memory.h
--- SDL2-2.0.9/include/SDL_test_memory.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_test_memory.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -42,14 +42,14 @@
*
* \note This should be called before any other SDL functions for complete tracking coverage
*/
-int SDLTest_TrackAllocations();
+int SDLTest_TrackAllocations(void);
/**
* \brief Print a log of any outstanding allocations
*
* \note This can be called after SDL_Quit()
*/
-void SDLTest_LogAllocations();
+void SDLTest_LogAllocations(void);
/* Ends C function definitions when using C++ */
diff -Naur SDL2-2.0.9/include/SDL_test_random.h SDL2-2.0.10/include/SDL_test_random.h
--- SDL2-2.0.9/include/SDL_test_random.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_test_random.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_thread.h SDL2-2.0.10/include/SDL_thread.h
--- SDL2-2.0.9/include/SDL_thread.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_thread.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_timer.h SDL2-2.0.10/include/SDL_timer.h
--- SDL2-2.0.9/include/SDL_timer.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_timer.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_touch.h SDL2-2.0.10/include/SDL_touch.h
--- SDL2-2.0.9/include/SDL_touch.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_touch.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -41,6 +41,14 @@
typedef Sint64 SDL_TouchID;
typedef Sint64 SDL_FingerID;
+typedef enum
+{
+ SDL_TOUCH_DEVICE_INVALID = -1,
+ SDL_TOUCH_DEVICE_DIRECT, /* touch screen with window-relative coordinates */
+ SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE, /* trackpad with absolute device coordinates */
+ SDL_TOUCH_DEVICE_INDIRECT_RELATIVE /* trackpad with screen cursor-relative coordinates */
+} SDL_TouchDeviceType;
+
typedef struct SDL_Finger
{
SDL_FingerID id;
@@ -52,6 +60,9 @@
/* Used as the device ID for mouse events simulated with touch input */
#define SDL_TOUCH_MOUSEID ((Uint32)-1)
+/* Used as the SDL_TouchID for touch events simulated with mouse input */
+#define SDL_MOUSE_TOUCHID ((Sint64)-1)
+
/* Function prototypes */
@@ -66,6 +77,11 @@
extern DECLSPEC SDL_TouchID SDLCALL SDL_GetTouchDevice(int index);
/**
+ * \brief Get the type of the given touch device.
+ */
+extern DECLSPEC SDL_TouchDeviceType SDLCALL SDL_GetTouchDeviceType(SDL_TouchID touchID);
+
+/**
* \brief Get the number of active fingers for a given touch device.
*/
extern DECLSPEC int SDLCALL SDL_GetNumTouchFingers(SDL_TouchID touchID);
diff -Naur SDL2-2.0.9/include/SDL_types.h SDL2-2.0.10/include/SDL_types.h
--- SDL2-2.0.9/include/SDL_types.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_types.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_version.h SDL2-2.0.10/include/SDL_version.h
--- SDL2-2.0.9/include/SDL_version.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_version.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -59,7 +59,7 @@
*/
#define SDL_MAJOR_VERSION 2
#define SDL_MINOR_VERSION 0
-#define SDL_PATCHLEVEL 9
+#define SDL_PATCHLEVEL 10
/**
* \brief Macro to determine SDL version program was compiled against.
diff -Naur SDL2-2.0.9/include/SDL_video.h SDL2-2.0.10/include/SDL_video.h
--- SDL2-2.0.9/include/SDL_video.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_video.h 2019-07-25 06:32:36.000000000 +0200
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff -Naur SDL2-2.0.9/include/SDL_vulkan.h SDL2-2.0.10/include/SDL_vulkan.h
--- SDL2-2.0.9/include/SDL_vulkan.h 2018-10-31 16:07:22.000000000 +0100
+++ SDL2-2.0.10/include/SDL_vulkan.h 2019-07-25 06:32:36.000000000 +0200
@@ -98,8 +98,8 @@
* applications to link with libvulkan (and historically MoltenVK was
* provided as a static library). If it is not found then, on macOS, SDL
* will attempt to load \c vulkan.framework/vulkan, \c libvulkan.1.dylib,
- * \c MoltenVK.framework/MoltenVK and \c libMoltenVK.dylib in that order.
- * On iOS SDL will attempt to load \c libMoltenVK.dylib. Applications
+ * followed by \c libvulkan.dylib, in that order.
+ * On iOS SDL will attempt to load \c libvulkan.dylib only. Applications
* using a dynamic framework or .dylib must ensure it is included in its
* application bundle.
*
@@ -153,7 +153,7 @@
* is smaller than the number of required extensions, \c SDL_FALSE will be
* returned instead of \c SDL_TRUE, to indicate that not all the required
* extensions were returned.
- *
+ *
* \note If \c window is not NULL, it will be checked against its creation
* flags to ensure that the Vulkan flag is present. This parameter
* will be removed in a future major release.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment