ruby2d 0.9.2 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. checksums.yaml +4 -4
  2. data/assets/README.md +7 -8
  3. data/assets/Rakefile +85 -0
  4. data/assets/include/SDL2/SDL.h +4 -1
  5. data/assets/include/SDL2/SDL_assert.h +3 -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 +10 -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 +182 -0
  13. data/assets/include/SDL2/SDL_config_iphoneos.h +207 -0
  14. data/assets/include/SDL2/SDL_config_macosx.h +266 -0
  15. data/assets/include/SDL2/SDL_config_minimal.h +85 -0
  16. data/assets/include/SDL2/SDL_config_os2.h +188 -0
  17. data/assets/include/SDL2/SDL_config_pandora.h +135 -0
  18. data/assets/include/SDL2/SDL_config_psp.h +165 -0
  19. data/assets/include/SDL2/SDL_config_windows.h +288 -0
  20. data/assets/include/SDL2/SDL_config_winrt.h +243 -0
  21. data/assets/include/SDL2/SDL_config_wiz.h +149 -0
  22. data/assets/include/SDL2/SDL_copying.h +20 -0
  23. data/assets/include/SDL2/SDL_cpuinfo.h +119 -8
  24. data/assets/include/SDL2/SDL_egl.h +4 -1
  25. data/assets/include/SDL2/SDL_endian.h +6 -3
  26. data/assets/include/SDL2/SDL_error.h +38 -2
  27. data/assets/include/SDL2/SDL_events.h +67 -28
  28. data/assets/include/SDL2/SDL_filesystem.h +1 -1
  29. data/assets/include/SDL2/SDL_gamecontroller.h +160 -9
  30. data/assets/include/SDL2/SDL_gesture.h +1 -1
  31. data/assets/include/SDL2/SDL_haptic.h +10 -1
  32. data/assets/include/SDL2/SDL_hints.h +460 -17
  33. data/assets/include/SDL2/SDL_image.h +2 -2
  34. data/assets/include/SDL2/SDL_joystick.h +115 -24
  35. data/assets/include/SDL2/SDL_keyboard.h +1 -1
  36. data/assets/include/SDL2/SDL_keycode.h +11 -9
  37. data/assets/include/SDL2/SDL_loadso.h +1 -1
  38. data/assets/include/SDL2/SDL_locale.h +101 -0
  39. data/assets/include/SDL2/SDL_log.h +3 -3
  40. data/assets/include/SDL2/SDL_main.h +28 -16
  41. data/assets/include/SDL2/SDL_messagebox.h +6 -4
  42. data/assets/include/SDL2/SDL_metal.h +117 -0
  43. data/assets/include/SDL2/SDL_misc.h +75 -0
  44. data/assets/include/SDL2/SDL_mouse.h +1 -1
  45. data/assets/include/SDL2/SDL_mutex.h +1 -1
  46. data/assets/include/SDL2/SDL_name.h +1 -1
  47. data/assets/include/SDL2/SDL_opengl.h +1 -1
  48. data/assets/include/SDL2/SDL_opengl_glext.h +3 -0
  49. data/assets/include/SDL2/SDL_opengles.h +1 -1
  50. data/assets/include/SDL2/SDL_opengles2.h +1 -1
  51. data/assets/include/SDL2/SDL_pixels.h +27 -18
  52. data/assets/include/SDL2/SDL_platform.h +1 -1
  53. data/assets/include/SDL2/SDL_power.h +1 -1
  54. data/assets/include/SDL2/SDL_quit.h +1 -1
  55. data/assets/include/SDL2/SDL_rect.h +29 -3
  56. data/assets/include/SDL2/SDL_render.h +230 -3
  57. data/assets/include/SDL2/SDL_revision.h +2 -2
  58. data/assets/include/SDL2/SDL_rwops.h +51 -22
  59. data/assets/include/SDL2/SDL_scancode.h +2 -2
  60. data/assets/include/SDL2/SDL_sensor.h +28 -12
  61. data/assets/include/SDL2/SDL_shape.h +1 -1
  62. data/assets/include/SDL2/SDL_stdinc.h +44 -4
  63. data/assets/include/SDL2/SDL_surface.h +12 -2
  64. data/assets/include/SDL2/SDL_system.h +50 -4
  65. data/assets/include/SDL2/SDL_syswm.h +39 -9
  66. data/assets/include/SDL2/SDL_test.h +1 -1
  67. data/assets/include/SDL2/SDL_test_assert.h +1 -1
  68. data/assets/include/SDL2/SDL_test_common.h +32 -2
  69. data/assets/include/SDL2/SDL_test_compare.h +1 -1
  70. data/assets/include/SDL2/SDL_test_crc32.h +1 -1
  71. data/assets/include/SDL2/SDL_test_font.h +1 -1
  72. data/assets/include/SDL2/SDL_test_fuzzer.h +1 -1
  73. data/assets/include/SDL2/SDL_test_harness.h +1 -1
  74. data/assets/include/SDL2/SDL_test_images.h +1 -1
  75. data/assets/include/SDL2/SDL_test_log.h +1 -1
  76. data/assets/include/SDL2/SDL_test_md5.h +1 -1
  77. data/assets/include/SDL2/SDL_test_memory.h +3 -3
  78. data/assets/include/SDL2/SDL_test_random.h +1 -1
  79. data/assets/include/SDL2/SDL_thread.h +34 -11
  80. data/assets/include/SDL2/SDL_timer.h +1 -1
  81. data/assets/include/SDL2/SDL_touch.h +17 -1
  82. data/assets/include/SDL2/SDL_types.h +1 -1
  83. data/assets/include/SDL2/SDL_version.h +2 -2
  84. data/assets/include/SDL2/SDL_video.h +11 -5
  85. data/assets/include/SDL2/SDL_vulkan.h +9 -11
  86. data/assets/include/SDL2/begin_code.h +8 -9
  87. data/assets/include/SDL2/close_code.h +4 -1
  88. data/assets/macos/lib/libFLAC.a +0 -0
  89. data/assets/macos/lib/libSDL2.a +0 -0
  90. data/assets/macos/lib/libSDL2_image.a +0 -0
  91. data/assets/macos/lib/libSDL2_mixer.a +0 -0
  92. data/assets/macos/lib/libSDL2_ttf.a +0 -0
  93. data/assets/macos/lib/libfreetype.a +0 -0
  94. data/assets/macos/lib/libjpeg.a +0 -0
  95. data/assets/macos/lib/libmpg123.a +0 -0
  96. data/assets/macos/lib/libogg.a +0 -0
  97. data/assets/macos/lib/libpng16.a +0 -0
  98. data/assets/macos/lib/libtiff.a +0 -0
  99. data/assets/macos/lib/libvorbis.a +0 -0
  100. data/assets/macos/lib/libvorbisfile.a +0 -0
  101. data/assets/macos/lib/libwebp.a +0 -0
  102. data/assets/mingw/bin/SDL2.dll +0 -0
  103. data/assets/mingw/bin/SDL2_image.dll +0 -0
  104. data/assets/mingw/bin/libpng16-16.dll +0 -0
  105. data/assets/mingw/bin/libtiff-5.dll +0 -0
  106. data/assets/mingw/bin/libwebp-7.dll +0 -0
  107. data/assets/mingw/lib/libSDL2.a +0 -0
  108. data/assets/mingw/lib/libSDL2.dll.a +0 -0
  109. data/assets/mingw/lib/libSDL2_image.a +0 -0
  110. data/assets/mingw/lib/libSDL2_image.dll.a +0 -0
  111. data/assets/mingw/lib/libSDL2_test.a +0 -0
  112. data/assets/mingw/lib/libSDL2main.a +0 -0
  113. data/bin/ruby2d +2 -1
  114. data/{assets/linux/simple2d/src/simple2d.c → ext/ruby2d/common.c} +32 -32
  115. data/{assets/linux/simple2d/src → ext/ruby2d}/controllers.c +17 -17
  116. data/ext/ruby2d/extconf.rb +6 -36
  117. data/{assets/linux/simple2d/src → ext/ruby2d}/gl.c +106 -85
  118. data/{assets/linux/simple2d/src → ext/ruby2d}/gl2.c +35 -20
  119. data/{assets/linux/simple2d/src → ext/ruby2d}/gl3.c +146 -58
  120. data/{assets/linux/simple2d/src → ext/ruby2d}/gles.c +41 -26
  121. data/{assets/linux/simple2d/src → ext/ruby2d}/image.c +16 -16
  122. data/{assets/linux/simple2d/src → ext/ruby2d}/input.c +8 -8
  123. data/{assets/linux/simple2d/src → ext/ruby2d}/music.c +30 -17
  124. data/ext/ruby2d/ruby2d.c +427 -290
  125. data/ext/ruby2d/ruby2d.h +789 -0
  126. data/{assets/linux/simple2d/src → ext/ruby2d}/shapes.c +18 -18
  127. data/ext/ruby2d/sound.c +118 -0
  128. data/{assets/linux/simple2d/src → ext/ruby2d}/sprite.c +16 -16
  129. data/{assets/linux/simple2d/src → ext/ruby2d}/text.c +22 -22
  130. data/ext/ruby2d/tileset.c +30 -0
  131. data/{assets/linux/simple2d/src → ext/ruby2d}/window.c +71 -60
  132. data/lib/ruby2d.rb +5 -2
  133. data/lib/ruby2d/circle.rb +18 -2
  134. data/lib/ruby2d/cli/build.rb +3 -8
  135. data/lib/ruby2d/cli/colorize.rb +10 -0
  136. data/lib/ruby2d/dsl.rb +16 -9
  137. data/lib/ruby2d/entity.rb +17 -0
  138. data/lib/ruby2d/font.rb +4 -3
  139. data/lib/ruby2d/image.rb +24 -1
  140. data/lib/ruby2d/line.rb +20 -0
  141. data/lib/ruby2d/music.rb +5 -0
  142. data/lib/ruby2d/pixel.rb +17 -0
  143. data/lib/ruby2d/quad.rb +18 -0
  144. data/lib/ruby2d/rectangle.rb +11 -2
  145. data/lib/ruby2d/renderable.rb +4 -8
  146. data/lib/ruby2d/sound.rb +5 -0
  147. data/lib/ruby2d/sprite.rb +35 -3
  148. data/lib/ruby2d/square.rb +9 -0
  149. data/lib/ruby2d/text.rb +22 -1
  150. data/lib/ruby2d/tileset.rb +69 -0
  151. data/lib/ruby2d/triangle.rb +16 -0
  152. data/lib/ruby2d/version.rb +1 -1
  153. data/lib/ruby2d/window.rb +249 -22
  154. metadata +41 -27
  155. data/assets/include/simple2d.h +0 -735
  156. data/assets/linux/simple2d/Makefile +0 -250
  157. data/assets/linux/simple2d/bin/simple2d.sh +0 -1249
  158. data/assets/linux/simple2d/include/simple2d.h +0 -735
  159. data/assets/linux/simple2d/src/sound.c +0 -56
  160. data/assets/macos/lib/libsimple2d.a +0 -0
  161. data/assets/mingw/lib/libsimple2d.a +0 -0
  162. data/lib/ruby2d/colorize.rb +0 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 68b61e2fafeade49bbde64e9cf5f4ac9b547e993a6b93e33b6f6682987d9bdab
4
- data.tar.gz: cb55b6a5b15697b2ab43957927dd25b14759342b9924eb9c355f080fc8d29790
3
+ metadata.gz: '0059bb28289e915843965295b765cb9538ee1fcb167ad7614232170afe755c59'
4
+ data.tar.gz: 7b06dcf7936082f49778cd8652ed9e2475572e241031d6cd321547d8abab62c5
5
5
  SHA512:
6
- metadata.gz: 5132d8b96019444a50ac3b63de338069abf2179833d6a066658d8716fc6cfdd6e728c5185ed47aedcc9304f424b7c98c3f44fad7b7eb681c2db41376017ee42e
7
- data.tar.gz: b073bad73e499447a94a21bc3e85218b741250d9b9f1d9798f2fdf202c1bab334740ff8bd479de46798deed8328ca07027dd55b8de39f1583551d6d276f32fbe
6
+ metadata.gz: 209a09d9d45bcdcb92c985f87a8f2696264790f5cc33e37120689af8768d8224e01811c3d093347b48899437731b48518fbac9c2f511982f7c884740503c54a6
7
+ data.tar.gz: 6fcede24174d4e97f60cf338488970cedd6990be9e4755097442b62f7346b4a1df06f86cdf98a65757683f831afedb9bf222e456af9b949387cee7c48bd141e8
data/assets/README.md CHANGED
@@ -13,11 +13,10 @@
13
13
 
14
14
  ## Updating
15
15
 
16
- - From [simple2d/deps](https://github.com/simple2d/deps):
17
- - Copy over SDL and GLEW headers to `include/`
18
- - Copy over `macos/lib`, `mingw/lib`, and `mingw/bin`
19
- - Copy over Xcode iOS and tvOS projects from `xcode/ios` and `xcode/tvos`
20
- - Copy iOS and tvOS [MRuby frameworks](https://github.com/ruby2d/mruby-frameworks) to their respective project directories, add them to the Xcode projects (Target -> Build Phases -> Link Binary with Libraries) and the "Header Search Paths"; Rename Bundle Identifiers from "Simple2D.MyApp" to "Ruby2D.MyApp"
21
- - From your local [Simple 2D](https://github.com/simple2d) project
22
- - Copy `simple2d.h` to `include/`
23
- - Copy the `libsimple2d.a` builds to their respective `macos/lib` and `mingw/lib` directories
16
+ 1. Update the Simple 2D version in the [Rakefile](Rakefile)
17
+ 2. Run `rake`
18
+
19
+ To update the Xcode projects:
20
+ - Copy over Xcode iOS and tvOS projects from `xcode/ios` and `xcode/tvos` in [simple2d/deps](https://github.com/simple2d/deps)
21
+ - Add frameworks to the Xcode projects (Target -> Build Phases -> Link Binary with Libraries) and the "Header Search Paths"
22
+ - Rename Bundle Identifiers from "Simple2D.MyApp" to "Ruby2D.MyApp"
data/assets/Rakefile ADDED
@@ -0,0 +1,85 @@
1
+ # The Simple 2D version to use
2
+ S2D_VERISON = '1.2.0'
3
+
4
+ # Extend `String` to include some fancy colors
5
+ class String
6
+ def ruby2d_colorize(c); "\e[#{c}m#{self}\e[0m" end
7
+ def bold; ruby2d_colorize('1') end
8
+ def info; ruby2d_colorize('1;34') end
9
+ def warn; ruby2d_colorize('1;33') end
10
+ def error; ruby2d_colorize('1;31') end
11
+ end
12
+
13
+ def print_task(task)
14
+ print "\n", "==> ".info, task.bold, "\n"
15
+ end
16
+
17
+ def run_cmd(cmd)
18
+ puts "\n==> #{cmd}\n".bold
19
+ system cmd
20
+ end
21
+
22
+ task default: 'update'
23
+
24
+ desc 'Update assets'
25
+ task :update do
26
+
27
+ print_task 'Clean out directories'
28
+ FileUtils.rm_rf Dir.glob('include/*')
29
+ FileUtils.rm_rf Dir.glob('linux/*')
30
+ FileUtils.rm_rf Dir.glob('macos/*')
31
+ FileUtils.rm_rf Dir.glob('mingw/*')
32
+ FileUtils.rm_rf 'ios/MRuby.framework'
33
+ FileUtils.rm_rf 'tvos/MRuby.framework'
34
+ FileUtils.mkdir_p 'tmp'
35
+ FileUtils.rm_rf Dir.glob('tmp/*')
36
+
37
+ print_task 'Download dependencies'
38
+ run_cmd "git clone --branch v#{S2D_VERISON} --recursive --depth 1 https://github.com/simple2d/simple2d tmp/simple2d"
39
+
40
+ def download_simple2d_release(release)
41
+ release = "simple2d-#{release}-#{S2D_VERISON}"
42
+ run_cmd "curl -L -o tmp/#{release}.zip https://github.com/simple2d/simple2d/releases/download/v#{S2D_VERISON}/#{release}.zip"
43
+ run_cmd "unzip -q tmp/#{release}.zip -d tmp/#{release}"
44
+ end
45
+
46
+ download_simple2d_release 'apple'
47
+ download_simple2d_release 'windows-mingw'
48
+ download_simple2d_release 'windows-vc'
49
+
50
+ run_cmd 'git clone --depth 1 https://github.com/ruby2d/mruby-frameworks tmp/ruby2d-mruby-frameworks'
51
+
52
+ print_task 'Copy files from `simple2d` repo'
53
+ FileUtils.cp 'tmp/simple2d/include/simple2d.h', 'include'
54
+ FileUtils.cp_r Dir.glob('tmp/simple2d/deps/headers/*'), 'include'
55
+
56
+ print_task 'Copy files for macOS'
57
+ FileUtils.mkdir_p 'macos/lib'
58
+ FileUtils.cp_r Dir.glob('tmp/simple2d/deps/macos/lib/*'), 'macos/lib'
59
+ S2D_APPLE_RELEASE="simple2d-apple-#{S2D_VERISON}"
60
+ FileUtils.cp "tmp/#{S2D_APPLE_RELEASE}/#{S2D_APPLE_RELEASE}/macOS/libsimple2d.a", 'macos/lib'
61
+
62
+ print_task 'Copy files for tvOS and macOS'
63
+ FileUtils.cp_r 'tmp/ruby2d-mruby-frameworks/ios/MRuby.framework', 'ios'
64
+ FileUtils.cp_r 'tmp/ruby2d-mruby-frameworks/tvos/MRuby.framework', 'tvos'
65
+
66
+ print_task 'Copy files for Linux'
67
+ FileUtils.mkdir_p 'linux/simple2d/bin'
68
+ FileUtils.mkdir_p 'linux/simple2d/include'
69
+ FileUtils.mkdir_p 'linux/simple2d/src'
70
+ FileUtils.cp 'tmp/simple2d/bin/simple2d.sh', 'linux/simple2d/bin'
71
+ FileUtils.cp 'tmp/simple2d/include/simple2d.h', 'linux/simple2d/include'
72
+ FileUtils.cp_r Dir.glob('tmp/simple2d/src/*'), 'linux/simple2d/src'
73
+ FileUtils.cp 'tmp/simple2d/Makefile', 'linux/simple2d'
74
+
75
+ print_task 'Copy files for MinGW'
76
+ FileUtils.mkdir_p 'mingw/bin'
77
+ FileUtils.mkdir_p 'mingw/lib'
78
+ FileUtils.cp_r Dir.glob('tmp/simple2d/deps/mingw/bin/*'), 'mingw/bin'
79
+ FileUtils.cp_r Dir.glob('tmp/simple2d/deps/mingw/lib/*'), 'mingw/lib'
80
+ S2D_MINGW_RELEASE="simple2d-windows-mingw-#{S2D_VERISON}"
81
+ FileUtils.cp "tmp/#{S2D_MINGW_RELEASE}/lib/libsimple2d.a", 'mingw/lib'
82
+
83
+ print_task "Done! 😎\n"
84
+
85
+ end
@@ -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-2020 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
@@ -47,6 +47,7 @@
47
47
  #include "SDL_loadso.h"
48
48
  #include "SDL_log.h"
49
49
  #include "SDL_messagebox.h"
50
+ #include "SDL_metal.h"
50
51
  #include "SDL_mutex.h"
51
52
  #include "SDL_power.h"
52
53
  #include "SDL_render.h"
@@ -58,6 +59,8 @@
58
59
  #include "SDL_timer.h"
59
60
  #include "SDL_version.h"
60
61
  #include "SDL_video.h"
62
+ #include "SDL_locale.h"
63
+ #include "SDL_misc.h"
61
64
 
62
65
  #include "begin_code.h"
63
66
  /* Set up for C function definitions, even when using C++ */
@@ -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-2020 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
@@ -53,6 +53,8 @@ assert can have unique static variables associated with it.
53
53
  #define SDL_TriggerBreakpoint() __debugbreak()
54
54
  #elif ( (!defined(__NACL__)) && ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))) )
55
55
  #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" )
56
+ #elif ( defined(__APPLE__) && defined(__arm64__) ) /* this might work on other ARM targets, but this is a known quantity... */
57
+ #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "brk #22\n\t" )
56
58
  #elif defined(__386__) && defined(__WATCOMC__)
57
59
  #define SDL_TriggerBreakpoint() { _asm { int 0x03 } }
58
60
  #elif defined(HAVE_SIGNAL_H) && !defined(__WATCOMC__)
@@ -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-2020 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
@@ -162,12 +162,29 @@ extern DECLSPEC void SDLCALL SDL_MemoryBarrierAcquireFunction(void);
162
162
  #define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
163
163
  #define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
164
164
  #elif defined(__GNUC__) && defined(__arm__)
165
- #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__)
165
+ #if 0 /* defined(__LINUX__) || defined(__ANDROID__) */
166
+ /* Information from:
167
+ https://chromium.googlesource.com/chromium/chromium/+/trunk/base/atomicops_internals_arm_gcc.h#19
168
+
169
+ The Linux kernel provides a helper function which provides the right code for a memory barrier,
170
+ hard-coded at address 0xffff0fa0
171
+ */
172
+ typedef void (*SDL_KernelMemoryBarrierFunc)();
173
+ #define SDL_MemoryBarrierRelease() ((SDL_KernelMemoryBarrierFunc)0xffff0fa0)()
174
+ #define SDL_MemoryBarrierAcquire() ((SDL_KernelMemoryBarrierFunc)0xffff0fa0)()
175
+ #elif 0 /* defined(__QNXNTO__) */
176
+ #include <sys/cpuinline.h>
177
+
178
+ #define SDL_MemoryBarrierRelease() __cpu_membarrier()
179
+ #define SDL_MemoryBarrierAcquire() __cpu_membarrier()
180
+ #else
181
+ #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__)
166
182
  #define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
167
183
  #define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
168
184
  #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__)
169
185
  #ifdef __thumb__
170
186
  /* The mcr instruction isn't available in thumb mode, use real functions */
187
+ #define SDL_MEMORY_BARRIER_USES_FUNCTION
171
188
  #define SDL_MemoryBarrierRelease() SDL_MemoryBarrierReleaseFunction()
172
189
  #define SDL_MemoryBarrierAcquire() SDL_MemoryBarrierAcquireFunction()
173
190
  #else
@@ -177,6 +194,7 @@ extern DECLSPEC void SDLCALL SDL_MemoryBarrierAcquireFunction(void);
177
194
  #else
178
195
  #define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("" : : : "memory")
179
196
  #define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("" : : : "memory")
197
+ #endif /* __LINUX__ || __ANDROID__ */
180
198
  #endif /* __GNUC__ && __arm__ */
181
199
  #else
182
200
  #if (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x5120))
@@ -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-2020 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
@@ -420,23 +420,56 @@ extern DECLSPEC void SDLCALL SDL_PauseAudioDevice(SDL_AudioDeviceID dev,
420
420
  /* @} *//* Pause audio functions */
421
421
 
422
422
  /**
423
- * This function loads a WAVE from the data source, automatically freeing
424
- * that source if \c freesrc is non-zero. For example, to load a WAVE file,
425
- * you could do:
423
+ * \brief Load the audio data of a WAVE file into memory
424
+ *
425
+ * Loading a WAVE file requires \c src, \c spec, \c audio_buf and \c audio_len
426
+ * to be valid pointers. The entire data portion of the file is then loaded
427
+ * into memory and decoded if necessary.
428
+ *
429
+ * If \c freesrc is non-zero, the data source gets automatically closed and
430
+ * freed before the function returns.
431
+ *
432
+ * Supported are RIFF WAVE files with the formats PCM (8, 16, 24, and 32 bits),
433
+ * IEEE Float (32 bits), Microsoft ADPCM and IMA ADPCM (4 bits), and A-law and
434
+ * µ-law (8 bits). Other formats are currently unsupported and cause an error.
435
+ *
436
+ * If this function succeeds, the pointer returned by it is equal to \c spec
437
+ * and the pointer to the audio data allocated by the function is written to
438
+ * \c audio_buf and its length in bytes to \c audio_len. The \ref SDL_AudioSpec
439
+ * members \c freq, \c channels, and \c format are set to the values of the
440
+ * audio data in the buffer. The \c samples member is set to a sane default and
441
+ * all others are set to zero.
442
+ *
443
+ * It's necessary to use SDL_FreeWAV() to free the audio data returned in
444
+ * \c audio_buf when it is no longer used.
445
+ *
446
+ * Because of the underspecification of the Waveform format, there are many
447
+ * problematic files in the wild that cause issues with strict decoders. To
448
+ * provide compatibility with these files, this decoder is lenient in regards
449
+ * to the truncation of the file, the fact chunk, and the size of the RIFF
450
+ * chunk. The hints SDL_HINT_WAVE_RIFF_CHUNK_SIZE, SDL_HINT_WAVE_TRUNCATION,
451
+ * and SDL_HINT_WAVE_FACT_CHUNK can be used to tune the behavior of the
452
+ * loading process.
453
+ *
454
+ * Any file that is invalid (due to truncation, corruption, or wrong values in
455
+ * the headers), too big, or unsupported causes an error. Additionally, any
456
+ * critical I/O error from the data source will terminate the loading process
457
+ * with an error. The function returns NULL on error and in all cases (with the
458
+ * exception of \c src being NULL), an appropriate error message will be set.
459
+ *
460
+ * It is required that the data source supports seeking.
461
+ *
462
+ * Example:
426
463
  * \code
427
464
  * SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...);
428
465
  * \endcode
429
466
  *
430
- * If this function succeeds, it returns the given SDL_AudioSpec,
431
- * filled with the audio data format of the wave data, and sets
432
- * \c *audio_buf to a malloc()'d buffer containing the audio data,
433
- * and sets \c *audio_len to the length of that audio buffer, in bytes.
434
- * You need to free the audio buffer with SDL_FreeWAV() when you are
435
- * done with it.
436
- *
437
- * This function returns NULL and sets the SDL error message if the
438
- * wave file cannot be opened, uses an unknown data format, or is
439
- * corrupt. Currently raw and MS-ADPCM WAVE files are supported.
467
+ * \param src The data source with the WAVE data
468
+ * \param freesrc A integer value that makes the function close the data source if non-zero
469
+ * \param spec A pointer filled with the audio format of the audio data
470
+ * \param audio_buf A pointer filled with the audio data allocated by the function
471
+ * \param audio_len A pointer filled with the length of the audio data buffer in bytes
472
+ * \return NULL on error, or non-NULL on success.
440
473
  */
441
474
  extern DECLSPEC SDL_AudioSpec *SDLCALL SDL_LoadWAV_RW(SDL_RWops * src,
442
475
  int freesrc,
@@ -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-2020 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
@@ -101,6 +101,15 @@ SDL_MostSignificantBitIndex32(Uint32 x)
101
101
  #endif
102
102
  }
103
103
 
104
+ SDL_FORCE_INLINE SDL_bool
105
+ SDL_HasExactlyOneBitSet32(Uint32 x)
106
+ {
107
+ if (x && !(x & (x - 1))) {
108
+ return SDL_TRUE;
109
+ }
110
+ return SDL_FALSE;
111
+ }
112
+
104
113
  /* Ends C function definitions when using C++ */
105
114
  #ifdef __cplusplus
106
115
  }
@@ -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-2020 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
@@ -50,6 +50,9 @@ typedef enum
50
50
  SDL_BLENDMODE_MOD = 0x00000004, /**< color modulate
51
51
  dstRGB = srcRGB * dstRGB
52
52
  dstA = dstA */
53
+ SDL_BLENDMODE_MUL = 0x00000008, /**< color multiply
54
+ dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA))
55
+ dstA = (srcA * dstA) + (dstA * (1-srcA)) */
53
56
  SDL_BLENDMODE_INVALID = 0x7FFFFFFF
54
57
 
55
58
  /* Additional custom blend modes can be returned by SDL_ComposeCustomBlendMode() */
@@ -90,12 +93,12 @@ typedef enum
90
93
  /**
91
94
  * \brief Create a custom blend mode, which may or may not be supported by a given renderer
92
95
  *
93
- * \param srcColorFactor
94
- * \param dstColorFactor
95
- * \param colorOperation
96
- * \param srcAlphaFactor
97
- * \param dstAlphaFactor
98
- * \param alphaOperation
96
+ * \param srcColorFactor source color factor
97
+ * \param dstColorFactor destination color factor
98
+ * \param colorOperation color operation
99
+ * \param srcAlphaFactor source alpha factor
100
+ * \param dstAlphaFactor destination alpha factor
101
+ * \param alphaOperation alpha operation
99
102
  *
100
103
  * The result of the blend mode operation will be:
101
104
  * dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor
@@ -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-2020 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,7 +1,6 @@
1
- /* include/SDL_config.h. Generated from SDL_config.h.in by configure. */
2
1
  /*
3
2
  Simple DirectMedia Layer
4
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
5
4
 
6
5
  This software is provided 'as-is', without any express or implied
7
6
  warranty. In no event will the authors be held liable for any damages
@@ -23,399 +22,34 @@
23
22
  #ifndef SDL_config_h_
24
23
  #define SDL_config_h_
25
24
 
26
- /**
27
- * \file SDL_config.h.in
28
- *
29
- * This is a set of defines to configure the SDL features
30
- */
31
-
32
- /* General platform specific identifiers */
33
25
  #include "SDL_platform.h"
34
26
 
35
- /* Make sure that this isn't included by Visual C++ */
36
- #ifdef _MSC_VER
37
- #error You should run hg revert SDL_config.h
38
- #endif
39
-
40
- /* C language features */
41
- /* #undef const */
42
- /* #undef inline */
43
- /* #undef volatile */
27
+ /**
28
+ * \file SDL_config.h
29
+ */
44
30
 
45
- /* C datatypes */
46
- #ifdef __LP64__
47
- #define SIZEOF_VOIDP 8
31
+ /* Add any platform that doesn't build using the configure system. */
32
+ #if defined(__WIN32__)
33
+ #include "SDL_config_windows.h"
34
+ #elif defined(__WINRT__)
35
+ #include "SDL_config_winrt.h"
36
+ #elif defined(__MACOSX__)
37
+ #include "SDL_config_macosx.h"
38
+ #elif defined(__IPHONEOS__)
39
+ #include "SDL_config_iphoneos.h"
40
+ #elif defined(__ANDROID__)
41
+ #include "SDL_config_android.h"
42
+ #elif defined(__PSP__)
43
+ #include "SDL_config_psp.h"
44
+ #elif defined(__OS2__)
45
+ #include "SDL_config_os2.h"
48
46
  #else
49
- #define SIZEOF_VOIDP 4
50
- #endif
51
- #define HAVE_GCC_ATOMICS 1
52
- /* #undef HAVE_GCC_SYNC_LOCK_TEST_AND_SET */
47
+ /* This is a minimal configuration just to get SDL running on new platforms. */
48
+ #include "SDL_config_minimal.h"
49
+ #endif /* platform config */
53
50
 
54
- /* Comment this if you want to build without any C library requirements */
55
- #define HAVE_LIBC 1
56
- #if HAVE_LIBC
57
-
58
- /* Useful headers */
59
- #define STDC_HEADERS 1
60
- #define HAVE_ALLOCA_H 1
61
- #define HAVE_CTYPE_H 1
62
- #define HAVE_FLOAT_H 1
63
- #define HAVE_ICONV_H 1
64
- #define HAVE_INTTYPES_H 1
65
- #define HAVE_LIMITS_H 1
66
- /* #undef HAVE_MALLOC_H */
67
- #define HAVE_MATH_H 1
68
- #define HAVE_MEMORY_H 1
69
- #define HAVE_SIGNAL_H 1
70
- #define HAVE_STDARG_H 1
71
- #define HAVE_STDINT_H 1
72
- #define HAVE_STDIO_H 1
73
- #define HAVE_STDLIB_H 1
74
- #define HAVE_STRINGS_H 1
75
- #define HAVE_STRING_H 1
76
- #define HAVE_SYS_TYPES_H 1
77
- #define HAVE_WCHAR_H 1
78
- /* #undef HAVE_PTHREAD_NP_H */
79
- #define HAVE_LIBUNWIND_H 1
80
-
81
- /* C library functions */
82
- #define HAVE_MALLOC 1
83
- #define HAVE_CALLOC 1
84
- #define HAVE_REALLOC 1
85
- #define HAVE_FREE 1
86
- #define HAVE_ALLOCA 1
87
- #ifndef __WIN32__ /* Don't use C runtime versions of these on Windows */
88
- #define HAVE_GETENV 1
89
- #define HAVE_SETENV 1
90
- #define HAVE_PUTENV 1
91
- #define HAVE_UNSETENV 1
51
+ #ifdef USING_GENERATED_CONFIG_H
52
+ #error Wrong SDL_config.h, check your include path?
92
53
  #endif
93
- #define HAVE_QSORT 1
94
- #define HAVE_ABS 1
95
- #define HAVE_BCOPY 1
96
- #define HAVE_MEMSET 1
97
- #define HAVE_MEMCPY 1
98
- #define HAVE_MEMMOVE 1
99
- #define HAVE_MEMCMP 1
100
- #define HAVE_WCSLEN 1
101
- /* #undef HAVE_WCSLCPY */
102
- /* #undef HAVE_WCSLCAT */
103
- #define HAVE_WCSCMP 1
104
- #define HAVE_STRLEN 1
105
- #define HAVE_STRLCPY 1
106
- #define HAVE_STRLCAT 1
107
- /* #undef HAVE__STRREV */
108
- /* #undef HAVE__STRUPR */
109
- /* #undef HAVE__STRLWR */
110
- /* #undef HAVE_INDEX */
111
- /* #undef HAVE_RINDEX */
112
- #define HAVE_STRCHR 1
113
- #define HAVE_STRRCHR 1
114
- #define HAVE_STRSTR 1
115
- /* #undef HAVE_ITOA */
116
- /* #undef HAVE__LTOA */
117
- /* #undef HAVE__UITOA */
118
- /* #undef HAVE__ULTOA */
119
- #define HAVE_STRTOL 1
120
- #define HAVE_STRTOUL 1
121
- /* #undef HAVE__I64TOA */
122
- /* #undef HAVE__UI64TOA */
123
- #define HAVE_STRTOLL 1
124
- #define HAVE_STRTOULL 1
125
- #define HAVE_STRTOD 1
126
- #define HAVE_ATOI 1
127
- #define HAVE_ATOF 1
128
- #define HAVE_STRCMP 1
129
- #define HAVE_STRNCMP 1
130
- /* #undef HAVE__STRICMP */
131
- #define HAVE_STRCASECMP 1
132
- /* #undef HAVE__STRNICMP */
133
- #define HAVE_STRNCASECMP 1
134
- /* #undef HAVE_SSCANF */
135
- #define HAVE_VSSCANF 1
136
- /* #undef HAVE_SNPRINTF */
137
- #define HAVE_VSNPRINTF 1
138
- #define HAVE_M_PI /**/
139
- #define HAVE_ACOS 1
140
- #define HAVE_ACOSF 1
141
- #define HAVE_ASIN 1
142
- #define HAVE_ASINF 1
143
- #define HAVE_ATAN 1
144
- #define HAVE_ATANF 1
145
- #define HAVE_ATAN2 1
146
- #define HAVE_ATAN2F 1
147
- #define HAVE_CEIL 1
148
- #define HAVE_CEILF 1
149
- #define HAVE_COPYSIGN 1
150
- #define HAVE_COPYSIGNF 1
151
- #define HAVE_COS 1
152
- #define HAVE_COSF 1
153
- #define HAVE_EXP 1
154
- #define HAVE_EXPF 1
155
- #define HAVE_FABS 1
156
- #define HAVE_FABSF 1
157
- #define HAVE_FLOOR 1
158
- #define HAVE_FLOORF 1
159
- #define HAVE_FMOD 1
160
- #define HAVE_FMODF 1
161
- #define HAVE_LOG 1
162
- #define HAVE_LOGF 1
163
- #define HAVE_LOG10 1
164
- #define HAVE_LOG10F 1
165
- #define HAVE_POW 1
166
- #define HAVE_POWF 1
167
- #define HAVE_SCALBN 1
168
- #define HAVE_SCALBNF 1
169
- #define HAVE_SIN 1
170
- #define HAVE_SINF 1
171
- #define HAVE_SQRT 1
172
- #define HAVE_SQRTF 1
173
- #define HAVE_TAN 1
174
- #define HAVE_TANF 1
175
- /* #undef HAVE_FOPEN64 */
176
- #define HAVE_FSEEKO 1
177
- /* #undef HAVE_FSEEKO64 */
178
- #define HAVE_SIGACTION 1
179
- #define HAVE_SA_SIGACTION 1
180
- #define HAVE_SETJMP 1
181
- #define HAVE_NANOSLEEP 1
182
- #define HAVE_SYSCONF 1
183
- #define HAVE_SYSCTLBYNAME 1
184
- /* #undef HAVE_CLOCK_GETTIME */
185
- /* #undef HAVE_GETPAGESIZE */
186
- #define HAVE_MPROTECT 1
187
- #define HAVE_ICONV 1
188
- #define HAVE_PTHREAD_SETNAME_NP 1
189
- /* #undef HAVE_PTHREAD_SET_NAME_NP */
190
- /* #undef HAVE_SEM_TIMEDWAIT */
191
- /* #undef HAVE_GETAUXVAL */
192
- #define HAVE_POLL 1
193
-
194
- #else
195
- #define HAVE_STDARG_H 1
196
- #define HAVE_STDDEF_H 1
197
- #define HAVE_STDINT_H 1
198
- #endif /* HAVE_LIBC */
199
-
200
- /* #undef HAVE_ALTIVEC_H */
201
- /* #undef HAVE_DBUS_DBUS_H */
202
- /* #undef HAVE_FCITX_FRONTEND_H */
203
- /* #undef HAVE_IBUS_IBUS_H */
204
- #define HAVE_IMMINTRIN_H 1
205
- /* #undef HAVE_LIBSAMPLERATE_H */
206
- /* #undef HAVE_LIBUDEV_H */
207
-
208
- /* #undef HAVE_DDRAW_H */
209
- /* #undef HAVE_DINPUT_H */
210
- /* #undef HAVE_DSOUND_H */
211
- /* #undef HAVE_DXGI_H */
212
- /* #undef HAVE_XINPUT_H */
213
- /* #undef HAVE_ENDPOINTVOLUME_H */
214
- /* #undef HAVE_MMDEVICEAPI_H */
215
- /* #undef HAVE_AUDIOCLIENT_H */
216
- /* #undef HAVE_XINPUT_GAMEPAD_EX */
217
- /* #undef HAVE_XINPUT_STATE_EX */
218
-
219
- /* SDL internal assertion support */
220
- /* #undef SDL_DEFAULT_ASSERT_LEVEL */
221
-
222
- /* Allow disabling of core subsystems */
223
- /* #undef SDL_ATOMIC_DISABLED */
224
- /* #undef SDL_AUDIO_DISABLED */
225
- /* #undef SDL_CPUINFO_DISABLED */
226
- /* #undef SDL_EVENTS_DISABLED */
227
- /* #undef SDL_FILE_DISABLED */
228
- /* #undef SDL_JOYSTICK_DISABLED */
229
- /* #undef SDL_HAPTIC_DISABLED */
230
- /* #undef SDL_SENSOR_DISABLED */
231
- /* #undef SDL_LOADSO_DISABLED */
232
- /* #undef SDL_RENDER_DISABLED */
233
- /* #undef SDL_THREADS_DISABLED */
234
- /* #undef SDL_TIMERS_DISABLED */
235
- /* #undef SDL_VIDEO_DISABLED */
236
- /* #undef SDL_POWER_DISABLED */
237
- /* #undef SDL_FILESYSTEM_DISABLED */
238
-
239
- /* Enable various audio drivers */
240
- /* #undef SDL_AUDIO_DRIVER_ALSA */
241
- /* #undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC */
242
- /* #undef SDL_AUDIO_DRIVER_ANDROID */
243
- /* #undef SDL_AUDIO_DRIVER_ARTS */
244
- /* #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC */
245
- #define SDL_AUDIO_DRIVER_COREAUDIO 1
246
- #define SDL_AUDIO_DRIVER_DISK 1
247
- /* #undef SDL_AUDIO_DRIVER_DSOUND */
248
- #define SDL_AUDIO_DRIVER_DUMMY 1
249
- /* #undef SDL_AUDIO_DRIVER_EMSCRIPTEN */
250
- /* #undef SDL_AUDIO_DRIVER_ESD */
251
- /* #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC */
252
- /* #undef SDL_AUDIO_DRIVER_FUSIONSOUND */
253
- /* #undef SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC */
254
- /* #undef SDL_AUDIO_DRIVER_HAIKU */
255
- /* #undef SDL_AUDIO_DRIVER_JACK */
256
- /* #undef SDL_AUDIO_DRIVER_JACK_DYNAMIC */
257
- /* #undef SDL_AUDIO_DRIVER_NACL */
258
- /* #undef SDL_AUDIO_DRIVER_NAS */
259
- /* #undef SDL_AUDIO_DRIVER_NAS_DYNAMIC */
260
- /* #undef SDL_AUDIO_DRIVER_NETBSD */
261
- /* #undef SDL_AUDIO_DRIVER_OSS */
262
- /* #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H */
263
- /* #undef SDL_AUDIO_DRIVER_PAUDIO */
264
- /* #undef SDL_AUDIO_DRIVER_PULSEAUDIO */
265
- /* #undef SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC */
266
- /* #undef SDL_AUDIO_DRIVER_QSA */
267
- /* #undef SDL_AUDIO_DRIVER_SNDIO */
268
- /* #undef SDL_AUDIO_DRIVER_SNDIO_DYNAMIC */
269
- /* #undef SDL_AUDIO_DRIVER_SUNAUDIO */
270
- /* #undef SDL_AUDIO_DRIVER_WASAPI */
271
- /* #undef SDL_AUDIO_DRIVER_WINMM */
272
-
273
- /* Enable various input drivers */
274
- /* #undef SDL_INPUT_LINUXEV */
275
- /* #undef SDL_INPUT_LINUXKD */
276
- /* #undef SDL_INPUT_TSLIB */
277
- /* #undef SDL_JOYSTICK_HAIKU */
278
- /* #undef SDL_JOYSTICK_DINPUT */
279
- /* #undef SDL_JOYSTICK_XINPUT */
280
- /* #undef SDL_JOYSTICK_DUMMY */
281
- #define SDL_JOYSTICK_IOKIT 1
282
- /* #undef SDL_JOYSTICK_LINUX */
283
- /* #undef SDL_JOYSTICK_ANDROID */
284
- /* #undef SDL_JOYSTICK_WINMM */
285
- /* #undef SDL_JOYSTICK_USBHID */
286
- /* #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H */
287
- #define SDL_JOYSTICK_HIDAPI 1
288
- /* #undef SDL_JOYSTICK_EMSCRIPTEN */
289
- /* #undef SDL_HAPTIC_DUMMY */
290
- /* #undef SDL_HAPTIC_ANDROID */
291
- /* #undef SDL_HAPTIC_LINUX */
292
- #define SDL_HAPTIC_IOKIT 1
293
- /* #undef SDL_HAPTIC_DINPUT */
294
- /* #undef SDL_HAPTIC_XINPUT */
295
-
296
- /* Enable various sensor drivers */
297
- /* #undef SDL_SENSOR_ANDROID */
298
- #define SDL_SENSOR_DUMMY 1
299
-
300
- /* Enable various shared object loading systems */
301
- #define SDL_LOADSO_DLOPEN 1
302
- /* #undef SDL_LOADSO_DUMMY */
303
- /* #undef SDL_LOADSO_LDG */
304
- /* #undef SDL_LOADSO_WINDOWS */
305
-
306
- /* Enable various threading systems */
307
- #define SDL_THREAD_PTHREAD 1
308
- #define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
309
- /* #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP */
310
- /* #undef SDL_THREAD_WINDOWS */
311
-
312
- /* Enable various timer systems */
313
- /* #undef SDL_TIMER_HAIKU */
314
- /* #undef SDL_TIMER_DUMMY */
315
- #define SDL_TIMER_UNIX 1
316
- /* #undef SDL_TIMER_WINDOWS */
317
-
318
- /* Enable various video drivers */
319
- /* #undef SDL_VIDEO_DRIVER_HAIKU */
320
- #define SDL_VIDEO_DRIVER_COCOA 1
321
- /* #undef SDL_VIDEO_DRIVER_DIRECTFB */
322
- /* #undef SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC */
323
- #define SDL_VIDEO_DRIVER_DUMMY 1
324
- /* #undef SDL_VIDEO_DRIVER_WINDOWS */
325
- /* #undef SDL_VIDEO_DRIVER_WAYLAND */
326
- /* #undef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH */
327
- /* #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC */
328
- /* #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL */
329
- /* #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR */
330
- /* #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON */
331
- /* #undef SDL_VIDEO_DRIVER_MIR */
332
- /* #undef SDL_VIDEO_DRIVER_MIR_DYNAMIC */
333
- /* #undef SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON */
334
- /* #undef SDL_VIDEO_DRIVER_X11 */
335
- /* #undef SDL_VIDEO_DRIVER_RPI */
336
- /* #undef SDL_VIDEO_DRIVER_KMSDRM */
337
- /* #undef SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC */
338
- /* #undef SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM */
339
- /* #undef SDL_VIDEO_DRIVER_ANDROID */
340
- /* #undef SDL_VIDEO_DRIVER_EMSCRIPTEN */
341
- /* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC */
342
- /* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT */
343
- /* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR */
344
- /* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA */
345
- /* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 */
346
- /* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR */
347
- /* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS */
348
- /* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE */
349
- /* #undef SDL_VIDEO_DRIVER_X11_XCURSOR */
350
- /* #undef SDL_VIDEO_DRIVER_X11_XDBE */
351
- /* #undef SDL_VIDEO_DRIVER_X11_XINERAMA */
352
- /* #undef SDL_VIDEO_DRIVER_X11_XINPUT2 */
353
- /* #undef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH */
354
- /* #undef SDL_VIDEO_DRIVER_X11_XRANDR */
355
- /* #undef SDL_VIDEO_DRIVER_X11_XSCRNSAVER */
356
- /* #undef SDL_VIDEO_DRIVER_X11_XSHAPE */
357
- /* #undef SDL_VIDEO_DRIVER_X11_XVIDMODE */
358
- /* #undef SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS */
359
- /* #undef SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY */
360
- /* #undef SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM */
361
- /* #undef SDL_VIDEO_DRIVER_NACL */
362
- /* #undef SDL_VIDEO_DRIVER_VIVANTE */
363
- /* #undef SDL_VIDEO_DRIVER_VIVANTE_VDK */
364
- /* #undef SDL_VIDEO_DRIVER_QNX */
365
-
366
- /* #undef SDL_VIDEO_RENDER_D3D */
367
- /* #undef SDL_VIDEO_RENDER_D3D11 */
368
- #define SDL_VIDEO_RENDER_OGL 1
369
- /* #undef SDL_VIDEO_RENDER_OGL_ES */
370
- #define SDL_VIDEO_RENDER_OGL_ES2 1
371
- /* #undef SDL_VIDEO_RENDER_DIRECTFB */
372
- #define SDL_VIDEO_RENDER_METAL 1
373
-
374
- /* Enable OpenGL support */
375
- #define SDL_VIDEO_OPENGL 1
376
- /* #undef SDL_VIDEO_OPENGL_ES */
377
- #define SDL_VIDEO_OPENGL_ES2 1
378
- /* #undef SDL_VIDEO_OPENGL_BGL */
379
- #define SDL_VIDEO_OPENGL_CGL 1
380
- #define SDL_VIDEO_OPENGL_EGL 1
381
- /* #undef SDL_VIDEO_OPENGL_GLX */
382
- /* #undef SDL_VIDEO_OPENGL_WGL */
383
- /* #undef SDL_VIDEO_OPENGL_OSMESA */
384
- /* #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC */
385
-
386
- /* Enable Vulkan support */
387
- #define SDL_VIDEO_VULKAN 1
388
-
389
- /* Enable system power support */
390
- /* #undef SDL_POWER_LINUX */
391
- /* #undef SDL_POWER_WINDOWS */
392
- #define SDL_POWER_MACOSX 1
393
- /* #undef SDL_POWER_HAIKU */
394
- /* #undef SDL_POWER_ANDROID */
395
- /* #undef SDL_POWER_EMSCRIPTEN */
396
- /* #undef SDL_POWER_HARDWIRED */
397
-
398
- /* Enable system filesystem support */
399
- /* #undef SDL_FILESYSTEM_HAIKU */
400
- #define SDL_FILESYSTEM_COCOA 1
401
- /* #undef SDL_FILESYSTEM_DUMMY */
402
- /* #undef SDL_FILESYSTEM_UNIX */
403
- /* #undef SDL_FILESYSTEM_WINDOWS */
404
- /* #undef SDL_FILESYSTEM_NACL */
405
- /* #undef SDL_FILESYSTEM_ANDROID */
406
- /* #undef SDL_FILESYSTEM_EMSCRIPTEN */
407
-
408
- /* Enable assembly routines */
409
- #define SDL_ASSEMBLY_ROUTINES 1
410
- /* #undef SDL_ALTIVEC_BLITTERS */
411
-
412
- /* Enable ime support */
413
- /* #undef SDL_USE_IME */
414
-
415
- /* Enable dynamic udev support */
416
- /* #undef SDL_UDEV_DYNAMIC */
417
-
418
- /* Enable dynamic libsamplerate support */
419
- /* #undef SDL_LIBSAMPLERATE_DYNAMIC */
420
54
 
421
55
  #endif /* SDL_config_h_ */