ruby2d 0.9.3 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/assets/README.md +7 -9
  3. data/assets/Rakefile +85 -0
  4. data/assets/include/SDL2/SDL.h +1 -1
  5. data/assets/include/SDL2/SDL_assert.h +1 -1
  6. data/assets/include/SDL2/SDL_atomic.h +20 -2
  7. data/assets/include/SDL2/SDL_audio.h +47 -14
  8. data/assets/include/SDL2/SDL_bits.h +10 -1
  9. data/assets/include/SDL2/SDL_blendmode.h +7 -7
  10. data/assets/include/SDL2/SDL_clipboard.h +1 -1
  11. data/assets/include/SDL2/SDL_config.h +24 -390
  12. data/assets/include/SDL2/SDL_config_android.h +178 -0
  13. data/assets/include/SDL2/SDL_config_iphoneos.h +201 -0
  14. data/assets/include/SDL2/SDL_config_macosx.h +240 -0
  15. data/assets/include/SDL2/SDL_config_minimal.h +85 -0
  16. data/assets/include/SDL2/SDL_config_os2.h +170 -0
  17. data/assets/include/SDL2/SDL_config_pandora.h +133 -0
  18. data/assets/include/SDL2/SDL_config_psp.h +164 -0
  19. data/assets/include/SDL2/SDL_config_windows.h +257 -0
  20. data/assets/include/SDL2/SDL_config_winrt.h +240 -0
  21. data/assets/include/SDL2/SDL_config_wiz.h +146 -0
  22. data/assets/include/SDL2/SDL_copying.h +20 -0
  23. data/assets/include/SDL2/SDL_cpuinfo.h +90 -8
  24. data/assets/include/SDL2/SDL_egl.h +1 -1
  25. data/assets/include/SDL2/SDL_endian.h +1 -1
  26. data/assets/include/SDL2/SDL_error.h +1 -1
  27. data/assets/include/SDL2/SDL_events.h +4 -1
  28. data/assets/include/SDL2/SDL_filesystem.h +1 -1
  29. data/assets/include/SDL2/SDL_gamecontroller.h +1 -1
  30. data/assets/include/SDL2/SDL_gesture.h +1 -1
  31. data/assets/include/SDL2/SDL_haptic.h +1 -1
  32. data/assets/include/SDL2/SDL_hints.h +145 -14
  33. data/assets/include/SDL2/SDL_image.h +2 -2
  34. data/assets/include/SDL2/SDL_joystick.h +1 -1
  35. data/assets/include/SDL2/SDL_keyboard.h +1 -1
  36. data/assets/include/SDL2/SDL_keycode.h +1 -1
  37. data/assets/include/SDL2/SDL_loadso.h +1 -1
  38. data/assets/include/SDL2/SDL_log.h +1 -1
  39. data/assets/include/SDL2/SDL_main.h +28 -16
  40. data/assets/include/SDL2/SDL_messagebox.h +1 -1
  41. data/assets/include/SDL2/SDL_mouse.h +1 -1
  42. data/assets/include/SDL2/SDL_mutex.h +1 -1
  43. data/assets/include/SDL2/SDL_name.h +1 -1
  44. data/assets/include/SDL2/SDL_opengl.h +1 -1
  45. data/assets/include/SDL2/SDL_opengles.h +1 -1
  46. data/assets/include/SDL2/SDL_opengles2.h +1 -1
  47. data/assets/include/SDL2/SDL_pixels.h +3 -3
  48. data/assets/include/SDL2/SDL_platform.h +1 -1
  49. data/assets/include/SDL2/SDL_power.h +1 -1
  50. data/assets/include/SDL2/SDL_quit.h +1 -1
  51. data/assets/include/SDL2/SDL_rect.h +29 -3
  52. data/assets/include/SDL2/SDL_render.h +168 -1
  53. data/assets/include/SDL2/SDL_revision.h +2 -2
  54. data/assets/include/SDL2/SDL_rwops.h +50 -13
  55. data/assets/include/SDL2/SDL_scancode.h +2 -2
  56. data/assets/include/SDL2/SDL_sensor.h +4 -4
  57. data/assets/include/SDL2/SDL_shape.h +1 -1
  58. data/assets/include/SDL2/SDL_stdinc.h +1 -1
  59. data/assets/include/SDL2/SDL_surface.h +2 -1
  60. data/assets/include/SDL2/SDL_system.h +1 -1
  61. data/assets/include/SDL2/SDL_syswm.h +11 -8
  62. data/assets/include/SDL2/SDL_test.h +1 -1
  63. data/assets/include/SDL2/SDL_test_assert.h +1 -1
  64. data/assets/include/SDL2/SDL_test_common.h +22 -5
  65. data/assets/include/SDL2/SDL_test_compare.h +1 -1
  66. data/assets/include/SDL2/SDL_test_crc32.h +1 -1
  67. data/assets/include/SDL2/SDL_test_font.h +1 -1
  68. data/assets/include/SDL2/SDL_test_fuzzer.h +1 -1
  69. data/assets/include/SDL2/SDL_test_harness.h +1 -1
  70. data/assets/include/SDL2/SDL_test_images.h +1 -1
  71. data/assets/include/SDL2/SDL_test_log.h +1 -1
  72. data/assets/include/SDL2/SDL_test_md5.h +1 -1
  73. data/assets/include/SDL2/SDL_test_memory.h +3 -3
  74. data/assets/include/SDL2/SDL_test_random.h +1 -1
  75. data/assets/include/SDL2/SDL_thread.h +1 -1
  76. data/assets/include/SDL2/SDL_timer.h +1 -1
  77. data/assets/include/SDL2/SDL_touch.h +17 -1
  78. data/assets/include/SDL2/SDL_types.h +1 -1
  79. data/assets/include/SDL2/SDL_version.h +2 -2
  80. data/assets/include/SDL2/SDL_video.h +1 -1
  81. data/assets/include/SDL2/SDL_vulkan.h +3 -3
  82. data/assets/include/SDL2/begin_code.h +4 -1
  83. data/assets/include/SDL2/close_code.h +4 -1
  84. data/assets/include/simple2d.h +22 -0
  85. data/assets/linux/simple2d/Makefile +11 -8
  86. data/assets/linux/simple2d/bin/simple2d.sh +13 -7
  87. data/assets/linux/simple2d/include/simple2d.h +22 -0
  88. data/assets/linux/simple2d/src/gl.c +17 -13
  89. data/assets/linux/simple2d/src/gl3.c +105 -32
  90. data/assets/linux/simple2d/src/sound.c +37 -0
  91. data/assets/linux/simple2d/src/window.c +11 -0
  92. data/assets/macos/lib/libFLAC.a +0 -0
  93. data/assets/macos/lib/libSDL2.a +0 -0
  94. data/assets/macos/lib/libSDL2_image.a +0 -0
  95. data/assets/macos/lib/libSDL2_mixer.a +0 -0
  96. data/assets/macos/lib/libSDL2_ttf.a +0 -0
  97. data/assets/macos/lib/libfreetype.a +0 -0
  98. data/assets/macos/lib/libjpeg.a +0 -0
  99. data/assets/macos/lib/libmpg123.a +0 -0
  100. data/assets/macos/lib/libogg.a +0 -0
  101. data/assets/macos/lib/libpng16.a +0 -0
  102. data/assets/macos/lib/libsimple2d.a +0 -0
  103. data/assets/macos/lib/libtiff.a +0 -0
  104. data/assets/macos/lib/libwebp.a +0 -0
  105. data/assets/mingw/bin/SDL2.dll +0 -0
  106. data/assets/mingw/bin/SDL2_image.dll +0 -0
  107. data/assets/mingw/bin/libpng16-16.dll +0 -0
  108. data/assets/mingw/bin/libtiff-5.dll +0 -0
  109. data/assets/mingw/bin/libwebp-7.dll +0 -0
  110. data/assets/mingw/lib/libSDL2.a +0 -0
  111. data/assets/mingw/lib/libSDL2.dll.a +0 -0
  112. data/assets/mingw/lib/libSDL2_image.a +0 -0
  113. data/assets/mingw/lib/libSDL2_image.dll.a +0 -0
  114. data/assets/mingw/lib/libSDL2_test.a +0 -0
  115. data/assets/mingw/lib/libSDL2main.a +0 -0
  116. data/assets/mingw/lib/libsimple2d.a +0 -0
  117. data/ext/ruby2d/extconf.rb +1 -1
  118. data/lib/ruby2d/version.rb +1 -1
  119. metadata +14 -2
@@ -0,0 +1,146 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2019 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
+
22
+ #ifndef SDL_config_wiz_h_
23
+ #define SDL_config_wiz_h_
24
+ #define SDL_config_h_
25
+
26
+ /* This is a set of defines to configure the SDL features */
27
+
28
+ /* General platform specific identifiers */
29
+ #include "SDL_platform.h"
30
+
31
+ #define SDL_BYTEORDER 1234
32
+
33
+ #define STDC_HEADERS 1
34
+ #define HAVE_ALLOCA_H 1
35
+ #define HAVE_CTYPE_H 1
36
+ #define HAVE_ICONV_H 1
37
+ #define HAVE_INTTYPES_H 1
38
+ #define HAVE_LIMITS_H 1
39
+ #define HAVE_MALLOC_H 1
40
+ #define HAVE_MATH_H 1
41
+ #define HAVE_MEMORY_H 1
42
+ #define HAVE_SIGNAL_H 1
43
+ #define HAVE_STDARG_H 1
44
+ #define HAVE_STDINT_H 1
45
+ #define HAVE_STDIO_H 1
46
+ #define HAVE_STDLIB_H 1
47
+ #define HAVE_STRINGS_H 1
48
+ #define HAVE_STRING_H 1
49
+ #define HAVE_SYS_TYPES_H 1
50
+
51
+ #define HAVE_MALLOC 1
52
+ #define HAVE_CALLOC 1
53
+ #define HAVE_REALLOC 1
54
+ #define HAVE_FREE 1
55
+ #define HAVE_ALLOCA 1
56
+ #define HAVE_GETENV 1
57
+ #define HAVE_SETENV 1
58
+ #define HAVE_PUTENV 1
59
+ #define HAVE_UNSETENV 1
60
+ #define HAVE_QSORT 1
61
+ #define HAVE_ABS 1
62
+ #define HAVE_BCOPY 1
63
+ #define HAVE_MEMSET 1
64
+ #define HAVE_MEMCPY 1
65
+ #define HAVE_MEMMOVE 1
66
+ #define HAVE_STRLEN 1
67
+ #define HAVE_STRCHR 1
68
+ #define HAVE_STRRCHR 1
69
+ #define HAVE_STRSTR 1
70
+ #define HAVE_STRTOL 1
71
+ #define HAVE_STRTOUL 1
72
+ #define HAVE_STRTOLL 1
73
+ #define HAVE_STRTOULL 1
74
+ #define HAVE_ATOI 1
75
+ #define HAVE_ATOF 1
76
+ #define HAVE_STRCMP 1
77
+ #define HAVE_STRNCMP 1
78
+ #define HAVE_STRCASECMP 1
79
+ #define HAVE_STRNCASECMP 1
80
+ #define HAVE_VSSCANF 1
81
+ #define HAVE_VSNPRINTF 1
82
+ #define HAVE_M_PI 1
83
+ #define HAVE_ACOS 1
84
+ #define HAVE_ACOSF 1
85
+ #define HAVE_ASIN 1
86
+ #define HAVE_ASINF 1
87
+ #define HAVE_ATAN 1
88
+ #define HAVE_ATANF 1
89
+ #define HAVE_ATAN2 1
90
+ #define HAVE_ATAN2F 1
91
+ #define HAVE_CEIL 1
92
+ #define HAVE_CEILF 1
93
+ #define HAVE_COPYSIGN 1
94
+ #define HAVE_COPYSIGNF 1
95
+ #define HAVE_COS 1
96
+ #define HAVE_COSF 1
97
+ #define HAVE_EXP 1
98
+ #define HAVE_EXPF 1
99
+ #define HAVE_FABS 1
100
+ #define HAVE_FABSF 1
101
+ #define HAVE_FLOOR 1
102
+ #define HAVE_FLOORF 1
103
+ #define HAVE_FMOD 1
104
+ #define HAVE_FMODF 1
105
+ #define HAVE_LOG 1
106
+ #define HAVE_LOGF 1
107
+ #define HAVE_LOG10 1
108
+ #define HAVE_LOG10F 1
109
+ #define HAVE_POW 1
110
+ #define HAVE_POWF 1
111
+ #define HAVE_SCALBN 1
112
+ #define HAVE_SCALBNF 1
113
+ #define HAVE_SIN 1
114
+ #define HAVE_SINF 1
115
+ #define HAVE_SQRT 1
116
+ #define HAVE_SQRTF 1
117
+ #define HAVE_TAN 1
118
+ #define HAVE_TANF 1
119
+ #define HAVE_SIGACTION 1
120
+ #define HAVE_SETJMP 1
121
+ #define HAVE_NANOSLEEP 1
122
+ #define HAVE_POW 1
123
+
124
+ #define SDL_AUDIO_DRIVER_DUMMY 1
125
+ #define SDL_AUDIO_DRIVER_OSS 1
126
+
127
+ #define SDL_INPUT_LINUXEV 1
128
+ #define SDL_INPUT_TSLIB 1
129
+ #define SDL_JOYSTICK_LINUX 1
130
+ #define SDL_HAPTIC_LINUX 1
131
+
132
+ #define SDL_SENSOR_DUMMY 1
133
+
134
+ #define SDL_LOADSO_DLOPEN 1
135
+
136
+ #define SDL_THREAD_PTHREAD 1
137
+ #define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP 1
138
+
139
+ #define SDL_TIMER_UNIX 1
140
+
141
+ #define SDL_VIDEO_DRIVER_DUMMY 1
142
+ #define SDL_VIDEO_DRIVER_PANDORA 1
143
+ #define SDL_VIDEO_RENDER_OGL_ES 1
144
+ #define SDL_VIDEO_OPENGL_ES 1
145
+
146
+ #endif /* SDL_config_wiz_h_ */
@@ -0,0 +1,20 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2019 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
+ */
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -41,24 +41,43 @@
41
41
  #else
42
42
  #include <intrin.h>
43
43
  #ifndef _WIN64
44
+ #ifndef __MMX__
44
45
  #define __MMX__
46
+ #endif
47
+ #ifndef __3dNOW__
45
48
  #define __3dNOW__
46
49
  #endif
50
+ #endif
51
+ #ifndef __SSE__
47
52
  #define __SSE__
53
+ #endif
54
+ #ifndef __SSE2__
48
55
  #define __SSE2__
56
+ #endif
49
57
  #endif /* __clang__ */
50
58
  #elif defined(__MINGW64_VERSION_MAJOR)
51
59
  #include <intrin.h>
52
60
  #else
53
- #ifdef __ALTIVEC__
54
- #if defined(HAVE_ALTIVEC_H) && !defined(__APPLE_ALTIVEC__) && !defined(SDL_DISABLE_ALTIVEC_H)
61
+ /* 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. */
62
+ #if defined(HAVE_ALTIVEC_H) && defined(__ALTIVEC__) && !defined(__APPLE_ALTIVEC__) && defined(SDL_ENABLE_ALTIVEC_H)
55
63
  #include <altivec.h>
56
- #undef pixel
57
- #undef bool
58
64
  #endif
59
- #endif
60
- #if defined(__ARM_NEON__) && !defined(SDL_DISABLE_ARM_NEON_H)
61
- #include <arm_neon.h>
65
+ #if !defined(SDL_DISABLE_ARM_NEON_H)
66
+ # if defined(__ARM_NEON)
67
+ # include <arm_neon.h>
68
+ # elif defined(__WINDOWS__) || defined(__WINRT__)
69
+ /* Visual Studio doesn't define __ARM_ARCH, but _M_ARM (if set, always 7), and _M_ARM64 (if set, always 1). */
70
+ # if defined(_M_ARM)
71
+ # include <armintr.h>
72
+ # include <arm_neon.h>
73
+ # define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */
74
+ # endif
75
+ # if defined (_M_ARM64)
76
+ # include <armintr.h>
77
+ # include <arm_neon.h>
78
+ # define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */
79
+ # endif
80
+ # endif
62
81
  #endif
63
82
  #if defined(__3dNOW__) && !defined(SDL_DISABLE_MM3DNOW_H)
64
83
  #include <mm3dnow.h>
@@ -177,6 +196,69 @@ extern DECLSPEC SDL_bool SDLCALL SDL_HasNEON(void);
177
196
  */
178
197
  extern DECLSPEC int SDLCALL SDL_GetSystemRAM(void);
179
198
 
199
+ /**
200
+ * \brief Report the alignment this system needs for SIMD allocations.
201
+ *
202
+ * This will return the minimum number of bytes to which a pointer must be
203
+ * aligned to be compatible with SIMD instructions on the current machine.
204
+ * For example, if the machine supports SSE only, it will return 16, but if
205
+ * it supports AVX-512F, it'll return 64 (etc). This only reports values for
206
+ * instruction sets SDL knows about, so if your SDL build doesn't have
207
+ * SDL_HasAVX512F(), then it might return 16 for the SSE support it sees and
208
+ * not 64 for the AVX-512 instructions that exist but SDL doesn't know about.
209
+ * Plan accordingly.
210
+ */
211
+ extern DECLSPEC size_t SDLCALL SDL_SIMDGetAlignment(void);
212
+
213
+ /**
214
+ * \brief Allocate memory in a SIMD-friendly way.
215
+ *
216
+ * This will allocate a block of memory that is suitable for use with SIMD
217
+ * instructions. Specifically, it will be properly aligned and padded for
218
+ * the system's supported vector instructions.
219
+ *
220
+ * The memory returned will be padded such that it is safe to read or write
221
+ * an incomplete vector at the end of the memory block. This can be useful
222
+ * so you don't have to drop back to a scalar fallback at the end of your
223
+ * SIMD processing loop to deal with the final elements without overflowing
224
+ * the allocated buffer.
225
+ *
226
+ * You must free this memory with SDL_FreeSIMD(), not free() or SDL_free()
227
+ * or delete[], etc.
228
+ *
229
+ * Note that SDL will only deal with SIMD instruction sets it is aware of;
230
+ * for example, SDL 2.0.8 knows that SSE wants 16-byte vectors
231
+ * (SDL_HasSSE()), and AVX2 wants 32 bytes (SDL_HasAVX2()), but doesn't
232
+ * know that AVX-512 wants 64. To be clear: if you can't decide to use an
233
+ * instruction set with an SDL_Has*() function, don't use that instruction
234
+ * set with memory allocated through here.
235
+ *
236
+ * SDL_AllocSIMD(0) will return a non-NULL pointer, assuming the system isn't
237
+ * out of memory.
238
+ *
239
+ * \param len The length, in bytes, of the block to allocated. The actual
240
+ * allocated block might be larger due to padding, etc.
241
+ * \return Pointer to newly-allocated block, NULL if out of memory.
242
+ *
243
+ * \sa SDL_SIMDAlignment
244
+ * \sa SDL_SIMDFree
245
+ */
246
+ extern DECLSPEC void * SDLCALL SDL_SIMDAlloc(const size_t len);
247
+
248
+ /**
249
+ * \brief Deallocate memory obtained from SDL_SIMDAlloc
250
+ *
251
+ * It is not valid to use this function on a pointer from anything but
252
+ * SDL_SIMDAlloc(). It can't be used on pointers from malloc, realloc,
253
+ * SDL_malloc, memalign, new[], etc.
254
+ *
255
+ * However, SDL_SIMDFree(NULL) is a legal no-op.
256
+ *
257
+ * \sa SDL_SIMDAlloc
258
+ */
259
+ extern DECLSPEC void SDLCALL SDL_SIMDFree(void *ptr);
260
+
261
+ /* vi: set ts=4 sw=4 expandtab: */
180
262
  /* Ends C function definitions when using C++ */
181
263
  #ifdef __cplusplus
182
264
  }
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -594,6 +594,9 @@ typedef union SDL_Event
594
594
  Uint8 padding[56];
595
595
  } SDL_Event;
596
596
 
597
+ /* Make sure we haven't broken binary compatibility */
598
+ SDL_COMPILE_TIME_ASSERT(SDL_Event, sizeof(SDL_Event) == 56);
599
+
597
600
 
598
601
  /* Function prototypes */
599
602
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -315,6 +315,16 @@ extern "C" {
315
315
  */
316
316
  #define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_EVENTS"
317
317
 
318
+ /**
319
+ * \brief A variable controlling whether mouse events should generate synthetic touch events
320
+ *
321
+ * This variable can be set to the following values:
322
+ * "0" - Mouse events will not generate touch events (default for desktop platforms)
323
+ * "1" - Mouse events will generate touch events (default for mobile platforms, such as Android and iOS)
324
+ */
325
+
326
+ #define SDL_HINT_MOUSE_TOUCH_EVENTS "SDL_MOUSE_TOUCH_EVENTS"
327
+
318
328
  /**
319
329
  * \brief Minimize your SDL_Window if it loses key focus when in fullscreen mode. Defaults to true.
320
330
  *
@@ -436,6 +446,16 @@ extern "C" {
436
446
  */
437
447
  #define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
438
448
 
449
+ /**
450
+ * \brief A variable that lets you provide a file with extra gamecontroller db entries.
451
+ *
452
+ * The file should contain lines of gamecontroller config data, see SDL_gamecontroller.h
453
+ *
454
+ * This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER)
455
+ * You can update mappings after the system is initialized with SDL_GameControllerMappingForGUID() and SDL_GameControllerAddMapping()
456
+ */
457
+ #define SDL_HINT_GAMECONTROLLERCONFIG_FILE "SDL_GAMECONTROLLERCONFIG_FILE"
458
+
439
459
  /**
440
460
  * \brief A variable containing a list of devices to skip when scanning for game controllers.
441
461
  *
@@ -836,19 +856,7 @@ extern "C" {
836
856
  */
837
857
  #define SDL_HINT_IME_INTERNAL_EDITING "SDL_IME_INTERNAL_EDITING"
838
858
 
839
- /**
840
- * \brief A variable to control whether mouse and touch events are to be treated together or separately
841
- *
842
- * The variable can be set to the following values:
843
- * "0" - Mouse events will be handled as touch events, and touch will raise fake mouse
844
- * events. This is the behaviour of SDL <= 2.0.3. (default)
845
- * "1" - Mouse events will be handled separately from pure touch events.
846
- *
847
- * The value of this hint is used at runtime, so it can be changed at any time.
848
- */
849
- #define SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH "SDL_ANDROID_SEPARATE_MOUSE_AND_TOUCH"
850
-
851
- /**
859
+ /**
852
860
  * \brief A variable to control whether we trap the Android back button to handle it manually.
853
861
  * This is necessary for the right mouse button to work on some Android devices, or
854
862
  * to be able to trap the back button for use in your code reliably. If set to true,
@@ -865,6 +873,17 @@ extern "C" {
865
873
  */
866
874
  #define SDL_HINT_ANDROID_TRAP_BACK_BUTTON "SDL_ANDROID_TRAP_BACK_BUTTON"
867
875
 
876
+ /**
877
+ * \brief A variable to control whether the event loop will block itself when the app is paused.
878
+ *
879
+ * The variable can be set to the following values:
880
+ * "0" - Non blocking.
881
+ * "1" - Blocking. (default)
882
+ *
883
+ * The value should be set before SDL is initialized.
884
+ */
885
+ #define SDL_HINT_ANDROID_BLOCK_ON_PAUSE "SDL_ANDROID_BLOCK_ON_PAUSE"
886
+
868
887
  /**
869
888
  * \brief A variable to control whether the return key on the soft keyboard
870
889
  * should hide the soft keyboard on Android and iOS.
@@ -1043,6 +1062,118 @@ extern "C" {
1043
1062
  */
1044
1063
  #define SDL_HINT_AUDIO_CATEGORY "SDL_AUDIO_CATEGORY"
1045
1064
 
1065
+ /**
1066
+ * \brief A variable controlling whether the 2D render API is compatible or efficient.
1067
+ *
1068
+ * This variable can be set to the following values:
1069
+ *
1070
+ * "0" - Don't use batching to make rendering more efficient.
1071
+ * "1" - Use batching, but might cause problems if app makes its own direct OpenGL calls.
1072
+ *
1073
+ * Up to SDL 2.0.9, the render API would draw immediately when requested. Now
1074
+ * it batches up draw requests and sends them all to the GPU only when forced
1075
+ * to (during SDL_RenderPresent, when changing render targets, by updating a
1076
+ * texture that the batch needs, etc). This is significantly more efficient,
1077
+ * but it can cause problems for apps that expect to render on top of the
1078
+ * render API's output. As such, SDL will disable batching if a specific
1079
+ * render backend is requested (since this might indicate that the app is
1080
+ * planning to use the underlying graphics API directly). This hint can
1081
+ * be used to explicitly request batching in this instance. It is a contract
1082
+ * that you will either never use the underlying graphics API directly, or
1083
+ * if you do, you will call SDL_RenderFlush() before you do so any current
1084
+ * batch goes to the GPU before your work begins. Not following this contract
1085
+ * will result in undefined behavior.
1086
+ */
1087
+ #define SDL_HINT_RENDER_BATCHING "SDL_RENDER_BATCHING"
1088
+
1089
+
1090
+ /**
1091
+ * \brief A variable controlling whether SDL logs all events pushed onto its internal queue.
1092
+ *
1093
+ * This variable can be set to the following values:
1094
+ *
1095
+ * "0" - Don't log any events (default)
1096
+ * "1" - Log all events except mouse and finger motion, which are pretty spammy.
1097
+ * "2" - Log all events.
1098
+ *
1099
+ * This is generally meant to be used to debug SDL itself, but can be useful
1100
+ * for application developers that need better visibility into what is going
1101
+ * on in the event queue. Logged events are sent through SDL_Log(), which
1102
+ * means by default they appear on stdout on most platforms or maybe
1103
+ * OutputDebugString() on Windows, and can be funneled by the app with
1104
+ * SDL_LogSetOutputFunction(), etc.
1105
+ *
1106
+ * This hint can be toggled on and off at runtime, if you only need to log
1107
+ * events for a small subset of program execution.
1108
+ */
1109
+ #define SDL_HINT_EVENT_LOGGING "SDL_EVENT_LOGGING"
1110
+
1111
+
1112
+
1113
+ /**
1114
+ * \brief Controls how the size of the RIFF chunk affects the loading of a WAVE file.
1115
+ *
1116
+ * The size of the RIFF chunk (which includes all the sub-chunks of the WAVE
1117
+ * file) is not always reliable. In case the size is wrong, it's possible to
1118
+ * just ignore it and step through the chunks until a fixed limit is reached.
1119
+ *
1120
+ * Note that files that have trailing data unrelated to the WAVE file or
1121
+ * corrupt files may slow down the loading process without a reliable boundary.
1122
+ * By default, SDL stops after 10000 chunks to prevent wasting time. Use the
1123
+ * environment variable SDL_WAVE_CHUNK_LIMIT to adjust this value.
1124
+ *
1125
+ * This variable can be set to the following values:
1126
+ *
1127
+ * "force" - Always use the RIFF chunk size as a boundary for the chunk search
1128
+ * "ignorezero" - Like "force", but a zero size searches up to 4 GiB (default)
1129
+ * "ignore" - Ignore the RIFF chunk size and always search up to 4 GiB
1130
+ * "maximum" - Search for chunks until the end of file (not recommended)
1131
+ */
1132
+ #define SDL_HINT_WAVE_RIFF_CHUNK_SIZE "SDL_WAVE_RIFF_CHUNK_SIZE"
1133
+
1134
+ /**
1135
+ * \brief Controls how a truncated WAVE file is handled.
1136
+ *
1137
+ * A WAVE file is considered truncated if any of the chunks are incomplete or
1138
+ * the data chunk size is not a multiple of the block size. By default, SDL
1139
+ * decodes until the first incomplete block, as most applications seem to do.
1140
+ *
1141
+ * This variable can be set to the following values:
1142
+ *
1143
+ * "verystrict" - Raise an error if the file is truncated
1144
+ * "strict" - Like "verystrict", but the size of the RIFF chunk is ignored
1145
+ * "dropframe" - Decode until the first incomplete sample frame
1146
+ * "dropblock" - Decode until the first incomplete block (default)
1147
+ */
1148
+ #define SDL_HINT_WAVE_TRUNCATION "SDL_WAVE_TRUNCATION"
1149
+
1150
+ /**
1151
+ * \brief Controls how the fact chunk affects the loading of a WAVE file.
1152
+ *
1153
+ * The fact chunk stores information about the number of samples of a WAVE
1154
+ * file. The Standards Update from Microsoft notes that this value can be used
1155
+ * to 'determine the length of the data in seconds'. This is especially useful
1156
+ * for compressed formats (for which this is a mandatory chunk) if they produce
1157
+ * multiple sample frames per block and truncating the block is not allowed.
1158
+ * The fact chunk can exactly specify how many sample frames there should be
1159
+ * in this case.
1160
+ *
1161
+ * Unfortunately, most application seem to ignore the fact chunk and so SDL
1162
+ * ignores it by default as well.
1163
+ *
1164
+ * This variable can be set to the following values:
1165
+ *
1166
+ * "truncate" - Use the number of samples to truncate the wave data if
1167
+ * the fact chunk is present and valid
1168
+ * "strict" - Like "truncate", but raise an error if the fact chunk
1169
+ * is invalid, not present for non-PCM formats, or if the
1170
+ * data chunk doesn't have that many samples
1171
+ * "ignorezero" - Like "truncate", but ignore fact chunk if the number of
1172
+ * samples is zero
1173
+ * "ignore" - Ignore fact chunk entirely (default)
1174
+ */
1175
+ #define SDL_HINT_WAVE_FACT_CHUNK "SDL_WAVE_FACT_CHUNK"
1176
+
1046
1177
  /**
1047
1178
  * \brief An enumeration of hint priorities
1048
1179
  */