ruby2d 0.12.1 → 1.0.0

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 (620) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.md +7 -0
  3. data/README.md +141 -0
  4. data/USAGE.md +2435 -0
  5. data/assets/Rakefile +637 -0
  6. data/assets/build_support/CMakeLists.txt +94 -0
  7. data/assets/build_support/mruby/build_config.rb +34 -0
  8. data/assets/build_support/mruby/build_config_wasm.rb +30 -0
  9. data/assets/build_support/sdl_test.c +174 -0
  10. data/assets/deps.yaml +16 -0
  11. data/assets/platform/include/SDL3/SDL.h +91 -0
  12. data/assets/platform/include/SDL3/SDL_assert.h +705 -0
  13. data/assets/platform/include/SDL3/SDL_asyncio.h +550 -0
  14. data/assets/platform/include/SDL3/SDL_atomic.h +692 -0
  15. data/assets/platform/include/SDL3/SDL_audio.h +2370 -0
  16. data/assets/platform/include/SDL3/SDL_begin_code.h +553 -0
  17. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_bits.h +47 -27
  18. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_blendmode.h +59 -55
  19. data/assets/platform/include/SDL3/SDL_camera.h +535 -0
  20. data/assets/platform/include/SDL3/SDL_clipboard.h +331 -0
  21. data/assets/{include/SDL2/close_code.h → platform/include/SDL3/SDL_close_code.h} +9 -8
  22. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_copying.h +3 -1
  23. data/assets/platform/include/SDL3/SDL_cpuinfo.h +374 -0
  24. data/assets/platform/include/SDL3/SDL_dialog.h +343 -0
  25. data/assets/platform/include/SDL3/SDL_dlopennote.h +234 -0
  26. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_egl.h +11 -8
  27. data/assets/platform/include/SDL3/SDL_endian.h +645 -0
  28. data/assets/platform/include/SDL3/SDL_error.h +226 -0
  29. data/assets/platform/include/SDL3/SDL_events.h +1645 -0
  30. data/assets/platform/include/SDL3/SDL_filesystem.h +537 -0
  31. data/assets/platform/include/SDL3/SDL_gamepad.h +1656 -0
  32. data/assets/platform/include/SDL3/SDL_gpu.h +4608 -0
  33. data/assets/platform/include/SDL3/SDL_guid.h +106 -0
  34. data/assets/platform/include/SDL3/SDL_haptic.h +1461 -0
  35. data/assets/platform/include/SDL3/SDL_hidapi.h +571 -0
  36. data/assets/platform/include/SDL3/SDL_hints.h +5001 -0
  37. data/assets/platform/include/SDL3/SDL_init.h +507 -0
  38. data/assets/platform/include/SDL3/SDL_intrin.h +410 -0
  39. data/assets/platform/include/SDL3/SDL_iostream.h +1379 -0
  40. data/assets/platform/include/SDL3/SDL_joystick.h +1385 -0
  41. data/assets/platform/include/SDL3/SDL_keyboard.h +608 -0
  42. data/assets/platform/include/SDL3/SDL_keycode.h +347 -0
  43. data/assets/platform/include/SDL3/SDL_loadso.h +145 -0
  44. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_locale.h +40 -24
  45. data/assets/platform/include/SDL3/SDL_log.h +541 -0
  46. data/assets/platform/include/SDL3/SDL_main.h +704 -0
  47. data/assets/platform/include/SDL3/SDL_main_impl.h +151 -0
  48. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_messagebox.h +85 -48
  49. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_metal.h +29 -29
  50. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_misc.h +13 -12
  51. data/assets/platform/include/SDL3/SDL_mouse.h +813 -0
  52. data/assets/platform/include/SDL3/SDL_mutex.h +1117 -0
  53. data/assets/platform/include/SDL3/SDL_oldnames.h +1339 -0
  54. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengl.h +1247 -278
  55. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengl_glext.h +5 -1
  56. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengles.h +6 -7
  57. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengles2.h +10 -11
  58. data/assets/platform/include/SDL3/SDL_pen.h +198 -0
  59. data/assets/platform/include/SDL3/SDL_pixels.h +1441 -0
  60. data/assets/{include/SDL2/SDL_test_log.h → platform/include/SDL3/SDL_platform.h} +25 -26
  61. data/assets/platform/include/SDL3/SDL_platform_defines.h +497 -0
  62. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_power.h +40 -20
  63. data/assets/platform/include/SDL3/SDL_process.h +441 -0
  64. data/assets/platform/include/SDL3/SDL_properties.h +572 -0
  65. data/assets/platform/include/SDL3/SDL_rect.h +528 -0
  66. data/assets/platform/include/SDL3/SDL_render.h +3028 -0
  67. data/assets/platform/include/SDL3/SDL_revision.h +59 -0
  68. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_scancode.h +59 -68
  69. data/assets/platform/include/SDL3/SDL_sensor.h +321 -0
  70. data/assets/platform/include/SDL3/SDL_stdinc.h +6186 -0
  71. data/assets/platform/include/SDL3/SDL_storage.h +686 -0
  72. data/assets/platform/include/SDL3/SDL_surface.h +1769 -0
  73. data/assets/platform/include/SDL3/SDL_system.h +840 -0
  74. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test.h +16 -22
  75. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_assert.h +27 -34
  76. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_common.h +109 -52
  77. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_compare.h +22 -14
  78. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_crc32.h +27 -30
  79. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_font.h +50 -49
  80. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_fuzzer.h +64 -79
  81. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_harness.h +47 -30
  82. data/assets/platform/include/SDL3/SDL_test_log.h +83 -0
  83. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_md5.h +21 -28
  84. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_memory.h +19 -16
  85. data/assets/platform/include/SDL3/SDL_thread.h +602 -0
  86. data/assets/platform/include/SDL3/SDL_time.h +249 -0
  87. data/assets/platform/include/SDL3/SDL_timer.h +454 -0
  88. data/assets/platform/include/SDL3/SDL_touch.h +184 -0
  89. data/assets/platform/include/SDL3/SDL_tray.h +544 -0
  90. data/assets/platform/include/SDL3/SDL_version.h +198 -0
  91. data/assets/platform/include/SDL3/SDL_video.h +3497 -0
  92. data/assets/platform/include/SDL3/SDL_vulkan.h +287 -0
  93. data/assets/platform/include/SDL3_image/SDL_image.h +3328 -0
  94. data/assets/platform/include/SDL3_mixer/SDL_mixer.h +3369 -0
  95. data/assets/platform/include/SDL3_ttf/SDL_textengine.h +181 -0
  96. data/assets/platform/include/SDL3_ttf/SDL_ttf.h +2833 -0
  97. data/assets/{include → platform/include}/mrbconf.h +42 -31
  98. data/assets/{include → platform/include}/mruby/array.h +3 -4
  99. data/assets/{include → platform/include}/mruby/boxing_nan.h +10 -0
  100. data/assets/platform/include/mruby/boxing_no.h +59 -0
  101. data/assets/{include → platform/include}/mruby/boxing_word.h +72 -26
  102. data/assets/platform/include/mruby/class.h +157 -0
  103. data/assets/{include → platform/include}/mruby/common.h +30 -1
  104. data/assets/{include → platform/include}/mruby/compile.h +52 -74
  105. data/assets/{include → platform/include}/mruby/data.h +2 -2
  106. data/assets/{include → platform/include}/mruby/debug.h +12 -5
  107. data/assets/{include → platform/include}/mruby/dump.h +7 -9
  108. data/assets/{include → platform/include}/mruby/endian.h +1 -1
  109. data/assets/platform/include/mruby/error.h +173 -0
  110. data/assets/platform/include/mruby/gc.h +79 -0
  111. data/assets/{include → platform/include}/mruby/hash.h +1 -7
  112. data/assets/platform/include/mruby/internal.h +282 -0
  113. data/assets/platform/include/mruby/irep.h +143 -0
  114. data/assets/{include → platform/include}/mruby/istruct.h +1 -1
  115. data/assets/platform/include/mruby/khash.h +455 -0
  116. data/assets/platform/include/mruby/mempool.h +19 -0
  117. data/assets/{include → platform/include}/mruby/numeric.h +7 -10
  118. data/assets/platform/include/mruby/object.h +51 -0
  119. data/assets/{include → platform/include}/mruby/opcode.h +5 -5
  120. data/assets/{include → platform/include}/mruby/ops.h +19 -6
  121. data/assets/platform/include/mruby/presym/id.h +1447 -0
  122. data/assets/{include → platform/include}/mruby/presym/scanning.h +10 -7
  123. data/assets/platform/include/mruby/presym/table.h +2893 -0
  124. data/assets/platform/include/mruby/presym.h +65 -0
  125. data/assets/platform/include/mruby/proc.h +184 -0
  126. data/assets/{include → platform/include}/mruby/range.h +0 -2
  127. data/assets/{include → platform/include}/mruby/string.h +33 -53
  128. data/assets/platform/include/mruby/throw.h +81 -0
  129. data/assets/{include → platform/include}/mruby/value.h +64 -29
  130. data/assets/{include → platform/include}/mruby/variable.h +6 -23
  131. data/assets/{include → platform/include}/mruby/version.h +7 -7
  132. data/assets/{include → platform/include}/mruby.h +238 -116
  133. data/assets/platform/macos-arm64/bin/mrbc +0 -0
  134. data/assets/platform/macos-arm64/lib/libSDL3.a +0 -0
  135. data/assets/platform/macos-arm64/lib/libSDL3_image.a +0 -0
  136. data/assets/platform/macos-arm64/lib/libSDL3_mixer.a +0 -0
  137. data/assets/platform/macos-arm64/lib/libSDL3_ttf.a +0 -0
  138. data/assets/platform/macos-arm64/lib/libmruby.a +0 -0
  139. data/assets/platform/wasm/lib/libFLAC.a +0 -0
  140. data/assets/platform/wasm/lib/libSDL3.a +0 -0
  141. data/assets/platform/wasm/lib/libSDL3_image.a +0 -0
  142. data/assets/platform/wasm/lib/libSDL3_mixer.a +0 -0
  143. data/assets/platform/wasm/lib/libSDL3_ttf.a +0 -0
  144. data/assets/platform/wasm/lib/libfreetype.a +0 -0
  145. data/assets/platform/wasm/lib/libharfbuzz.a +0 -0
  146. data/assets/platform/wasm/lib/libmruby.a +0 -0
  147. data/assets/platform/wasm/lib/libogg.a +0 -0
  148. data/assets/platform/wasm/lib/libplutosvg.a +0 -0
  149. data/assets/platform/wasm/lib/libplutovg.a +0 -0
  150. data/assets/platform/wasm/lib/libpng.a +0 -0
  151. data/assets/platform/wasm/lib/libpng16.a +0 -0
  152. data/assets/platform/wasm/lib/libvorbis.a +0 -0
  153. data/assets/platform/wasm/lib/libvorbisfile.a +0 -0
  154. data/assets/platform/wasm/lib/libzlibstatic.a +0 -0
  155. data/assets/platform/windows-arm64-mingw-ucrt/bin/mrbc.exe +0 -0
  156. data/assets/platform/windows-arm64-mingw-ucrt/lib/libSDL3.a +0 -0
  157. data/assets/platform/windows-arm64-mingw-ucrt/lib/libSDL3_image.a +0 -0
  158. data/assets/platform/windows-arm64-mingw-ucrt/lib/libSDL3_mixer.a +0 -0
  159. data/assets/platform/windows-arm64-mingw-ucrt/lib/libSDL3_ttf.a +0 -0
  160. data/assets/platform/windows-arm64-mingw-ucrt/lib/libmruby.a +0 -0
  161. data/assets/platform/windows-x86_64-mingw-ucrt/bin/mrbc.exe +0 -0
  162. data/assets/platform/windows-x86_64-mingw-ucrt/lib/libSDL3.a +0 -0
  163. data/assets/platform/windows-x86_64-mingw-ucrt/lib/libSDL3_image.a +0 -0
  164. data/assets/platform/windows-x86_64-mingw-ucrt/lib/libSDL3_mixer.a +0 -0
  165. data/assets/platform/windows-x86_64-mingw-ucrt/lib/libSDL3_ttf.a +0 -0
  166. data/assets/platform/windows-x86_64-mingw-ucrt/lib/libmruby.a +0 -0
  167. data/assets/resources/fonts/outfit/OFL.txt +93 -0
  168. data/assets/resources/fonts/outfit/outfit.ttf +0 -0
  169. data/assets/resources/fonts/roboto_mono/OFL.txt +91 -0
  170. data/assets/resources/fonts/roboto_mono/roboto_mono.ttf +0 -0
  171. data/assets/resources/icons/icon.icns +0 -0
  172. data/assets/resources/icons/icon.png +0 -0
  173. data/assets/resources/spritesheets/License.txt +28 -0
  174. data/assets/resources/spritesheets/spritesheet-backgrounds.png +0 -0
  175. data/assets/resources/spritesheets/spritesheet-backgrounds.xml +16 -0
  176. data/assets/resources/spritesheets/spritesheet-characters.png +0 -0
  177. data/assets/resources/spritesheets/spritesheet-characters.xml +47 -0
  178. data/assets/resources/spritesheets/spritesheet-enemies.png +0 -0
  179. data/assets/resources/spritesheets/spritesheet-enemies.xml +62 -0
  180. data/assets/resources/spritesheets/spritesheet-tiles.png +0 -0
  181. data/assets/resources/spritesheets/spritesheet-tiles.xml +316 -0
  182. data/assets/{wasm → resources/web}/template.html +1 -1
  183. data/assets/target.rb +131 -0
  184. data/bin/ruby2d +281 -82
  185. data/examples/astar.rb +269 -0
  186. data/examples/asteroids.rb +403 -0
  187. data/examples/bezier_editor.rb +96 -0
  188. data/examples/boids.rb +191 -0
  189. data/examples/bouncing_balls.rb +119 -0
  190. data/examples/breakout.rb +186 -0
  191. data/examples/constellations.rb +100 -0
  192. data/examples/dashboard.rb +133 -0
  193. data/examples/double_pendulum.rb +254 -0
  194. data/examples/falling_sand.rb +291 -0
  195. data/examples/fireworks.rb +110 -0
  196. data/examples/fluid_dynamics.rb +340 -0
  197. data/examples/fourier_epicycles.rb +142 -0
  198. data/examples/fractal_tree.rb +326 -0
  199. data/examples/game_of_life.rb +148 -0
  200. data/examples/gamepads.rb +333 -0
  201. data/examples/hill_driver.rb +613 -0
  202. data/examples/logo_animation.rb +251 -0
  203. data/examples/lorenz_attractor.rb +115 -0
  204. data/examples/mandelbrot.rb +207 -0
  205. data/examples/marching_squares.rb +200 -0
  206. data/examples/maze.rb +323 -0
  207. data/examples/nbody.rb +338 -0
  208. data/examples/outrun.rb +391 -0
  209. data/examples/pixel_paint.rb +313 -0
  210. data/examples/platformer.rb +335 -0
  211. data/examples/ray_casting_maze.rb +175 -0
  212. data/examples/shadow_casting.rb +151 -0
  213. data/examples/shape_recognizer.rb +908 -0
  214. data/examples/snake.rb +144 -0
  215. data/examples/sprite_sheets.rb +246 -0
  216. data/examples/swarm.rb +206 -0
  217. data/examples/tsp_annealing.rb +104 -0
  218. data/examples/ui_controls.rb +163 -0
  219. data/examples/wireframe_3d.rb +139 -0
  220. data/ext/ruby2d/audio.c +324 -0
  221. data/ext/ruby2d/canvas.c +1715 -494
  222. data/ext/ruby2d/ext.c +541 -0
  223. data/ext/ruby2d/extconf.rb +122 -145
  224. data/ext/ruby2d/font.c +566 -20
  225. data/ext/ruby2d/fps.c +92 -0
  226. data/ext/ruby2d/image.c +466 -41
  227. data/ext/ruby2d/ruby2d.c +374 -1890
  228. data/ext/ruby2d/ruby2d.h +840 -460
  229. data/ext/ruby2d/shapes.c +931 -101
  230. data/ext/ruby2d/text.c +586 -21
  231. data/ext/ruby2d/window.c +1693 -283
  232. data/lib/ruby2d/atlas_parser.rb +194 -0
  233. data/lib/ruby2d/audio.rb +73 -0
  234. data/lib/ruby2d/benchmark.rb +259 -0
  235. data/lib/ruby2d/bitmap_text.rb +155 -0
  236. data/lib/ruby2d/button.rb +402 -0
  237. data/lib/ruby2d/canvas.rb +703 -279
  238. data/lib/ruby2d/circle.rb +206 -29
  239. data/lib/ruby2d/cli/browser.rb +314 -0
  240. data/lib/ruby2d/cli/build.rb +471 -257
  241. data/lib/ruby2d/cli/colorize.rb +7 -5
  242. data/lib/ruby2d/cli/examples.rb +127 -0
  243. data/lib/ruby2d/cli/launch.rb +24 -39
  244. data/lib/ruby2d/cli/lib_files.rb +48 -0
  245. data/lib/ruby2d/cli/messages.rb +40 -0
  246. data/lib/ruby2d/cli/setup.rb +273 -0
  247. data/lib/ruby2d/cli/static_server.rb +160 -0
  248. data/lib/ruby2d/cli/usage.rb +255 -0
  249. data/lib/ruby2d/color.rb +191 -69
  250. data/lib/ruby2d/core.rb +37 -19
  251. data/lib/ruby2d/deps_help.rb +89 -0
  252. data/lib/ruby2d/dsl.rb +51 -12
  253. data/lib/ruby2d/ellipse.rb +228 -0
  254. data/lib/ruby2d/exceptions.rb +0 -2
  255. data/lib/ruby2d/font.rb +34 -74
  256. data/lib/ruby2d/gamepad.rb +323 -0
  257. data/lib/ruby2d/gem_paths.rb +19 -0
  258. data/lib/ruby2d/image.rb +155 -52
  259. data/lib/ruby2d/interactive.rb +103 -0
  260. data/lib/ruby2d/json_parser.rb +268 -0
  261. data/lib/ruby2d/line.rb +194 -85
  262. data/lib/ruby2d/mruby_compat.rb +12 -0
  263. data/lib/ruby2d/polygon.rb +297 -0
  264. data/lib/ruby2d/polyline.rb +368 -0
  265. data/lib/ruby2d/quad.rb +358 -94
  266. data/lib/ruby2d/rectangle.rb +77 -19
  267. data/lib/ruby2d/renderable.rb +411 -11
  268. data/lib/ruby2d/sprite.rb +471 -180
  269. data/lib/ruby2d/sprite_sheet.rb +64 -0
  270. data/lib/ruby2d/square.rb +29 -17
  271. data/lib/ruby2d/text.rb +196 -65
  272. data/lib/ruby2d/tileset.rb +139 -81
  273. data/lib/ruby2d/triangle.rb +324 -89
  274. data/lib/ruby2d/version.rb +1 -3
  275. data/lib/ruby2d/vertices.rb +62 -85
  276. data/lib/ruby2d/warnings.rb +29 -0
  277. data/lib/ruby2d/window/class_methods.rb +218 -0
  278. data/lib/ruby2d/window/gamepad_events.rb +141 -0
  279. data/lib/ruby2d/window/key_events.rb +74 -0
  280. data/lib/ruby2d/window/mouse_events.rb +171 -0
  281. data/lib/ruby2d/window/object_events.rb +168 -0
  282. data/lib/ruby2d/window.rb +632 -585
  283. data/lib/ruby2d.rb +14 -19
  284. metadata +275 -443
  285. data/assets/app.icns +0 -0
  286. data/assets/include/GL/glew.h +0 -26427
  287. data/assets/include/GLES2/gl2.h +0 -656
  288. data/assets/include/GLES2/gl2ext.h +0 -3949
  289. data/assets/include/GLES2/gl2ext_angle.h +0 -701
  290. data/assets/include/GLES2/gl2platform.h +0 -27
  291. data/assets/include/GLES3/gl3.h +0 -1192
  292. data/assets/include/GLES3/gl31.h +0 -1507
  293. data/assets/include/GLES3/gl32.h +0 -1808
  294. data/assets/include/GLES3/gl3platform.h +0 -27
  295. data/assets/include/KHR/khrplatform.h +0 -290
  296. data/assets/include/SDL2/SDL.h +0 -233
  297. data/assets/include/SDL2/SDL_assert.h +0 -326
  298. data/assets/include/SDL2/SDL_atomic.h +0 -415
  299. data/assets/include/SDL2/SDL_audio.h +0 -1500
  300. data/assets/include/SDL2/SDL_clipboard.h +0 -141
  301. data/assets/include/SDL2/SDL_config.h +0 -61
  302. data/assets/include/SDL2/SDL_config_android.h +0 -194
  303. data/assets/include/SDL2/SDL_config_emscripten.h +0 -218
  304. data/assets/include/SDL2/SDL_config_iphoneos.h +0 -217
  305. data/assets/include/SDL2/SDL_config_macosx.h +0 -277
  306. data/assets/include/SDL2/SDL_config_minimal.h +0 -95
  307. data/assets/include/SDL2/SDL_config_ngage.h +0 -89
  308. data/assets/include/SDL2/SDL_config_os2.h +0 -207
  309. data/assets/include/SDL2/SDL_config_pandora.h +0 -141
  310. data/assets/include/SDL2/SDL_config_windows.h +0 -331
  311. data/assets/include/SDL2/SDL_config_wingdk.h +0 -253
  312. data/assets/include/SDL2/SDL_config_winrt.h +0 -220
  313. data/assets/include/SDL2/SDL_config_xbox.h +0 -235
  314. data/assets/include/SDL2/SDL_cpuinfo.h +0 -594
  315. data/assets/include/SDL2/SDL_endian.h +0 -348
  316. data/assets/include/SDL2/SDL_error.h +0 -163
  317. data/assets/include/SDL2/SDL_events.h +0 -1166
  318. data/assets/include/SDL2/SDL_filesystem.h +0 -149
  319. data/assets/include/SDL2/SDL_gamecontroller.h +0 -1074
  320. data/assets/include/SDL2/SDL_gesture.h +0 -117
  321. data/assets/include/SDL2/SDL_guid.h +0 -100
  322. data/assets/include/SDL2/SDL_haptic.h +0 -1341
  323. data/assets/include/SDL2/SDL_hidapi.h +0 -451
  324. data/assets/include/SDL2/SDL_hints.h +0 -2569
  325. data/assets/include/SDL2/SDL_image.h +0 -2173
  326. data/assets/include/SDL2/SDL_joystick.h +0 -1066
  327. data/assets/include/SDL2/SDL_keyboard.h +0 -353
  328. data/assets/include/SDL2/SDL_keycode.h +0 -358
  329. data/assets/include/SDL2/SDL_loadso.h +0 -115
  330. data/assets/include/SDL2/SDL_log.h +0 -404
  331. data/assets/include/SDL2/SDL_main.h +0 -275
  332. data/assets/include/SDL2/SDL_mixer.h +0 -2784
  333. data/assets/include/SDL2/SDL_mouse.h +0 -465
  334. data/assets/include/SDL2/SDL_mutex.h +0 -471
  335. data/assets/include/SDL2/SDL_name.h +0 -33
  336. data/assets/include/SDL2/SDL_pixels.h +0 -644
  337. data/assets/include/SDL2/SDL_platform.h +0 -261
  338. data/assets/include/SDL2/SDL_quit.h +0 -58
  339. data/assets/include/SDL2/SDL_rect.h +0 -376
  340. data/assets/include/SDL2/SDL_render.h +0 -1919
  341. data/assets/include/SDL2/SDL_revision.h +0 -6
  342. data/assets/include/SDL2/SDL_rwops.h +0 -841
  343. data/assets/include/SDL2/SDL_sensor.h +0 -322
  344. data/assets/include/SDL2/SDL_shape.h +0 -155
  345. data/assets/include/SDL2/SDL_stdinc.h +0 -830
  346. data/assets/include/SDL2/SDL_surface.h +0 -997
  347. data/assets/include/SDL2/SDL_system.h +0 -623
  348. data/assets/include/SDL2/SDL_syswm.h +0 -386
  349. data/assets/include/SDL2/SDL_test_images.h +0 -78
  350. data/assets/include/SDL2/SDL_test_random.h +0 -115
  351. data/assets/include/SDL2/SDL_thread.h +0 -464
  352. data/assets/include/SDL2/SDL_timer.h +0 -222
  353. data/assets/include/SDL2/SDL_touch.h +0 -150
  354. data/assets/include/SDL2/SDL_ttf.h +0 -2316
  355. data/assets/include/SDL2/SDL_types.h +0 -29
  356. data/assets/include/SDL2/SDL_version.h +0 -204
  357. data/assets/include/SDL2/SDL_video.h +0 -2150
  358. data/assets/include/SDL2/SDL_vulkan.h +0 -215
  359. data/assets/include/SDL2/begin_code.h +0 -187
  360. data/assets/include/mruby/boxing_no.h +0 -58
  361. data/assets/include/mruby/class.h +0 -108
  362. data/assets/include/mruby/error.h +0 -147
  363. data/assets/include/mruby/gc.h +0 -94
  364. data/assets/include/mruby/irep.h +0 -147
  365. data/assets/include/mruby/khash.h +0 -284
  366. data/assets/include/mruby/object.h +0 -43
  367. data/assets/include/mruby/presym/disable.h +0 -70
  368. data/assets/include/mruby/presym/enable.h +0 -37
  369. data/assets/include/mruby/presym.h +0 -40
  370. data/assets/include/mruby/proc.h +0 -211
  371. data/assets/include/mruby/throw.h +0 -66
  372. data/assets/macos/universal/bin/mrbc +0 -0
  373. data/assets/macos/universal/lib/libFLAC.a +0 -0
  374. data/assets/macos/universal/lib/libSDL2.a +0 -0
  375. data/assets/macos/universal/lib/libSDL2_image.a +0 -0
  376. data/assets/macos/universal/lib/libSDL2_mixer.a +0 -0
  377. data/assets/macos/universal/lib/libSDL2_ttf.a +0 -0
  378. data/assets/macos/universal/lib/libavif.a +0 -0
  379. data/assets/macos/universal/lib/libbrotlicommon-static.a +0 -0
  380. data/assets/macos/universal/lib/libbrotlidec-static.a +0 -0
  381. data/assets/macos/universal/lib/libfreetype.a +0 -0
  382. data/assets/macos/universal/lib/libgraphite2.a +0 -0
  383. data/assets/macos/universal/lib/libharfbuzz.a +0 -0
  384. data/assets/macos/universal/lib/libhwy.a +0 -0
  385. data/assets/macos/universal/lib/libjpeg.a +0 -0
  386. data/assets/macos/universal/lib/libjxl.a +0 -0
  387. data/assets/macos/universal/lib/libmodplug.a +0 -0
  388. data/assets/macos/universal/lib/libmpg123.a +0 -0
  389. data/assets/macos/universal/lib/libmruby.a +0 -0
  390. data/assets/macos/universal/lib/libogg.a +0 -0
  391. data/assets/macos/universal/lib/libpng.a +0 -0
  392. data/assets/macos/universal/lib/libtiff.a +0 -0
  393. data/assets/macos/universal/lib/libvorbis.a +0 -0
  394. data/assets/macos/universal/lib/libvorbisfile.a +0 -0
  395. data/assets/macos/universal/lib/libwebp.a +0 -0
  396. data/assets/macos/universal/lib/libzstd.a +0 -0
  397. data/assets/test_media/README.md +0 -3
  398. data/assets/test_media/bitstream_vera/COPYRIGHT.txt +0 -124
  399. data/assets/test_media/bitstream_vera/vera.ttf +0 -0
  400. data/assets/test_media/boom.png +0 -0
  401. data/assets/test_media/coin.png +0 -0
  402. data/assets/test_media/colors.png +0 -0
  403. data/assets/test_media/controller.png +0 -0
  404. data/assets/test_media/dial.wav +0 -0
  405. data/assets/test_media/hero.png +0 -0
  406. data/assets/test_media/image.bmp +0 -0
  407. data/assets/test_media/image.jpg +0 -0
  408. data/assets/test_media/image.png +0 -0
  409. data/assets/test_media/music.flac +0 -0
  410. data/assets/test_media/music.mp3 +0 -0
  411. data/assets/test_media/music.ogg +0 -0
  412. data/assets/test_media/music.wav +0 -0
  413. data/assets/test_media/originals/boom.pxm +0 -0
  414. data/assets/test_media/originals/coin.pxm +0 -0
  415. data/assets/test_media/originals/controller.sketch +0 -0
  416. data/assets/test_media/originals/hero.pxm +0 -0
  417. data/assets/test_media/originals/image.pxm +0 -0
  418. data/assets/test_media/originals/music.caf +0 -0
  419. data/assets/test_media/originals/texture_atlas.pxm +0 -0
  420. data/assets/test_media/rondo_alla_turka.ogg +0 -0
  421. data/assets/test_media/sound.flac +0 -0
  422. data/assets/test_media/sound.mp3 +0 -0
  423. data/assets/test_media/sound.ogg +0 -0
  424. data/assets/test_media/sound.wav +0 -0
  425. data/assets/test_media/sprite_sheet.png +0 -0
  426. data/assets/test_media/texture_atlas.png +0 -0
  427. data/assets/wasm/libmruby.a +0 -0
  428. data/assets/windows/mingw-w64-ucrt-x86_64/bin/mrbc.exe +0 -0
  429. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libFLAC.a +0 -0
  430. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libLerc.a +0 -0
  431. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2.a +0 -0
  432. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_image.a +0 -0
  433. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_mixer.a +0 -0
  434. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_ttf.a +0 -0
  435. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libbrotlicommon.a +0 -0
  436. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libbrotlidec.a +0 -0
  437. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libbz2.a +0 -0
  438. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libdeflate.a +0 -0
  439. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libfreetype.a +0 -0
  440. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libglew32.a +0 -0
  441. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libgraphite2.a +0 -0
  442. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libharfbuzz.a +0 -0
  443. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libhwy.a +0 -0
  444. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libjbig.a +0 -0
  445. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libjpeg.a +0 -0
  446. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libjxl.a +0 -0
  447. data/assets/windows/mingw-w64-ucrt-x86_64/lib/liblzma.a +0 -0
  448. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmodplug.a +0 -0
  449. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmpg123.a +0 -0
  450. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmruby.a +0 -0
  451. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libogg.a +0 -0
  452. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libopus.a +0 -0
  453. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libopusfile.a +0 -0
  454. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libpng.a +0 -0
  455. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libsndfile.a +0 -0
  456. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libssp.a +0 -1
  457. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libstdc++.a +0 -0
  458. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libtiff.a +0 -0
  459. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libvorbis.a +0 -0
  460. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libvorbisfile.a +0 -0
  461. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libwebp.a +0 -0
  462. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libz.a +0 -0
  463. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libzstd.a +0 -0
  464. data/assets/windows/mingw-w64-x86_64/bin/mrbc.exe +0 -0
  465. data/assets/windows/mingw-w64-x86_64/lib/libFLAC.a +0 -0
  466. data/assets/windows/mingw-w64-x86_64/lib/libLerc.a +0 -0
  467. data/assets/windows/mingw-w64-x86_64/lib/libSDL2.a +0 -0
  468. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_image.a +0 -0
  469. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_mixer.a +0 -0
  470. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_ttf.a +0 -0
  471. data/assets/windows/mingw-w64-x86_64/lib/libbrotlicommon.a +0 -0
  472. data/assets/windows/mingw-w64-x86_64/lib/libbrotlidec.a +0 -0
  473. data/assets/windows/mingw-w64-x86_64/lib/libbz2.a +0 -0
  474. data/assets/windows/mingw-w64-x86_64/lib/libdeflate.a +0 -0
  475. data/assets/windows/mingw-w64-x86_64/lib/libfreetype.a +0 -0
  476. data/assets/windows/mingw-w64-x86_64/lib/libglew32.a +0 -0
  477. data/assets/windows/mingw-w64-x86_64/lib/libgraphite2.a +0 -0
  478. data/assets/windows/mingw-w64-x86_64/lib/libharfbuzz.a +0 -0
  479. data/assets/windows/mingw-w64-x86_64/lib/libhwy.a +0 -0
  480. data/assets/windows/mingw-w64-x86_64/lib/libjbig.a +0 -0
  481. data/assets/windows/mingw-w64-x86_64/lib/libjpeg.a +0 -0
  482. data/assets/windows/mingw-w64-x86_64/lib/libjxl.a +0 -0
  483. data/assets/windows/mingw-w64-x86_64/lib/liblzma.a +0 -0
  484. data/assets/windows/mingw-w64-x86_64/lib/libmodplug.a +0 -0
  485. data/assets/windows/mingw-w64-x86_64/lib/libmpg123.a +0 -0
  486. data/assets/windows/mingw-w64-x86_64/lib/libmruby.a +0 -0
  487. data/assets/windows/mingw-w64-x86_64/lib/libogg.a +0 -0
  488. data/assets/windows/mingw-w64-x86_64/lib/libopus.a +0 -0
  489. data/assets/windows/mingw-w64-x86_64/lib/libopusfile.a +0 -0
  490. data/assets/windows/mingw-w64-x86_64/lib/libpng.a +0 -0
  491. data/assets/windows/mingw-w64-x86_64/lib/libsndfile.a +0 -0
  492. data/assets/windows/mingw-w64-x86_64/lib/libssp.a +0 -1
  493. data/assets/windows/mingw-w64-x86_64/lib/libstdc++.a +0 -0
  494. data/assets/windows/mingw-w64-x86_64/lib/libtiff.a +0 -0
  495. data/assets/windows/mingw-w64-x86_64/lib/libvorbis.a +0 -0
  496. data/assets/windows/mingw-w64-x86_64/lib/libvorbisfile.a +0 -0
  497. data/assets/windows/mingw-w64-x86_64/lib/libwebp.a +0 -0
  498. data/assets/windows/mingw-w64-x86_64/lib/libz.a +0 -0
  499. data/assets/windows/mingw-w64-x86_64/lib/libzstd.a +0 -0
  500. data/assets/xcode/ios/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -98
  501. data/assets/xcode/ios/Assets.xcassets/Contents.json +0 -6
  502. data/assets/xcode/ios/Base.lproj/LaunchScreen.storyboard +0 -27
  503. data/assets/xcode/ios/Info.plist +0 -43
  504. data/assets/xcode/ios/MRuby.framework/Headers/mrbconf.h +0 -143
  505. data/assets/xcode/ios/MRuby.framework/Headers/mruby/array.h +0 -280
  506. data/assets/xcode/ios/MRuby.framework/Headers/mruby/boxing_nan.h +0 -102
  507. data/assets/xcode/ios/MRuby.framework/Headers/mruby/boxing_no.h +0 -56
  508. data/assets/xcode/ios/MRuby.framework/Headers/mruby/boxing_word.h +0 -144
  509. data/assets/xcode/ios/MRuby.framework/Headers/mruby/class.h +0 -97
  510. data/assets/xcode/ios/MRuby.framework/Headers/mruby/common.h +0 -77
  511. data/assets/xcode/ios/MRuby.framework/Headers/mruby/compile.h +0 -195
  512. data/assets/xcode/ios/MRuby.framework/Headers/mruby/data.h +0 -75
  513. data/assets/xcode/ios/MRuby.framework/Headers/mruby/debug.h +0 -67
  514. data/assets/xcode/ios/MRuby.framework/Headers/mruby/dump.h +0 -196
  515. data/assets/xcode/ios/MRuby.framework/Headers/mruby/error.h +0 -75
  516. data/assets/xcode/ios/MRuby.framework/Headers/mruby/gc.h +0 -91
  517. data/assets/xcode/ios/MRuby.framework/Headers/mruby/hash.h +0 -215
  518. data/assets/xcode/ios/MRuby.framework/Headers/mruby/irep.h +0 -75
  519. data/assets/xcode/ios/MRuby.framework/Headers/mruby/istruct.h +0 -47
  520. data/assets/xcode/ios/MRuby.framework/Headers/mruby/khash.h +0 -274
  521. data/assets/xcode/ios/MRuby.framework/Headers/mruby/numeric.h +0 -161
  522. data/assets/xcode/ios/MRuby.framework/Headers/mruby/object.h +0 -44
  523. data/assets/xcode/ios/MRuby.framework/Headers/mruby/opcode.h +0 -69
  524. data/assets/xcode/ios/MRuby.framework/Headers/mruby/ops.h +0 -117
  525. data/assets/xcode/ios/MRuby.framework/Headers/mruby/proc.h +0 -131
  526. data/assets/xcode/ios/MRuby.framework/Headers/mruby/range.h +0 -49
  527. data/assets/xcode/ios/MRuby.framework/Headers/mruby/re.h +0 -16
  528. data/assets/xcode/ios/MRuby.framework/Headers/mruby/string.h +0 -444
  529. data/assets/xcode/ios/MRuby.framework/Headers/mruby/throw.h +0 -55
  530. data/assets/xcode/ios/MRuby.framework/Headers/mruby/value.h +0 -309
  531. data/assets/xcode/ios/MRuby.framework/Headers/mruby/variable.h +0 -136
  532. data/assets/xcode/ios/MRuby.framework/Headers/mruby/version.h +0 -110
  533. data/assets/xcode/ios/MRuby.framework/Headers/mruby.h +0 -1282
  534. data/assets/xcode/ios/MRuby.framework/Info.plist +0 -20
  535. data/assets/xcode/ios/MRuby.framework/MRuby +0 -0
  536. data/assets/xcode/ios/MyApp.xcodeproj/project.pbxproj +0 -368
  537. data/assets/xcode/ios/MyApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  538. data/assets/xcode/ios/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  539. data/assets/xcode/ios/MyApp.xcodeproj/project.xcworkspace/xcshareddata/MyApp.xcscmblueprint +0 -30
  540. data/assets/xcode/ios/main.c +0 -1
  541. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +0 -16
  542. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json +0 -6
  543. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json +0 -17
  544. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +0 -16
  545. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json +0 -6
  546. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +0 -16
  547. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json +0 -6
  548. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +0 -16
  549. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json +0 -6
  550. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json +0 -17
  551. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +0 -16
  552. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json +0 -6
  553. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +0 -16
  554. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json +0 -6
  555. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json +0 -32
  556. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json +0 -16
  557. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json +0 -16
  558. data/assets/xcode/tvos/Assets.xcassets/Contents.json +0 -6
  559. data/assets/xcode/tvos/Assets.xcassets/LaunchImage.launchimage/Contents.json +0 -22
  560. data/assets/xcode/tvos/Info.plist +0 -30
  561. data/assets/xcode/tvos/MRuby.framework/Headers/mrbconf.h +0 -143
  562. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/array.h +0 -280
  563. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/boxing_nan.h +0 -102
  564. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/boxing_no.h +0 -56
  565. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/boxing_word.h +0 -144
  566. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/class.h +0 -97
  567. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/common.h +0 -77
  568. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/compile.h +0 -195
  569. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/data.h +0 -75
  570. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/debug.h +0 -67
  571. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/dump.h +0 -196
  572. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/error.h +0 -75
  573. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/gc.h +0 -91
  574. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/hash.h +0 -215
  575. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/irep.h +0 -75
  576. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/istruct.h +0 -47
  577. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/khash.h +0 -274
  578. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/numeric.h +0 -161
  579. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/object.h +0 -44
  580. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/opcode.h +0 -69
  581. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/ops.h +0 -117
  582. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/proc.h +0 -131
  583. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/range.h +0 -49
  584. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/re.h +0 -16
  585. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/string.h +0 -444
  586. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/throw.h +0 -55
  587. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/value.h +0 -309
  588. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/variable.h +0 -136
  589. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/version.h +0 -110
  590. data/assets/xcode/tvos/MRuby.framework/Headers/mruby.h +0 -1282
  591. data/assets/xcode/tvos/MRuby.framework/Info.plist +0 -20
  592. data/assets/xcode/tvos/MRuby.framework/MRuby +0 -0
  593. data/assets/xcode/tvos/MyApp.xcodeproj/project.pbxproj +0 -350
  594. data/assets/xcode/tvos/MyApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  595. data/assets/xcode/tvos/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  596. data/assets/xcode/tvos/MyApp.xcodeproj/project.xcworkspace/xcshareddata/MyApp.xcscmblueprint +0 -30
  597. data/assets/xcode/tvos/main.c +0 -1
  598. data/ext/ruby2d/common.c +0 -185
  599. data/ext/ruby2d/controllers.c +0 -110
  600. data/ext/ruby2d/gl.c +0 -398
  601. data/ext/ruby2d/gl2.c +0 -86
  602. data/ext/ruby2d/gl3.c +0 -304
  603. data/ext/ruby2d/gles.c +0 -302
  604. data/ext/ruby2d/input.c +0 -48
  605. data/ext/ruby2d/music.c +0 -127
  606. data/ext/ruby2d/sound.c +0 -132
  607. data/lib/ruby2d/cli/console.rb +0 -65
  608. data/lib/ruby2d/cli/enable_console.rb +0 -7
  609. data/lib/ruby2d/cli/platform.rb +0 -17
  610. data/lib/ruby2d/music.rb +0 -77
  611. data/lib/ruby2d/pixel.rb +0 -18
  612. data/lib/ruby2d/pixmap.rb +0 -39
  613. data/lib/ruby2d/pixmap_atlas.rb +0 -56
  614. data/lib/ruby2d/sound.rb +0 -61
  615. data/lib/ruby2d/texture.rb +0 -38
  616. /data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengles2_gl2.h +0 -0
  617. /data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengles2_gl2ext.h +0 -0
  618. /data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengles2_gl2platform.h +0 -0
  619. /data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengles2_khrplatform.h +0 -0
  620. /data/assets/{include → platform/include}/mruby/re.h +0 -0
@@ -0,0 +1,553 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2026 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
+ /* WIKI CATEGORY: BeginCode */
23
+
24
+ /**
25
+ * # CategoryBeginCode
26
+ *
27
+ * `SDL_begin_code.h` sets things up for C dynamic library function
28
+ * definitions, static inlined functions, and structures aligned at 4-byte
29
+ * alignment. If you don't like ugly C preprocessor code, don't look at this
30
+ * file. :)
31
+ *
32
+ * SDL's headers use this; applications generally should not include this
33
+ * header directly.
34
+ */
35
+
36
+ /* This shouldn't be nested -- included it around code only. */
37
+ #ifdef SDL_begin_code_h
38
+ #error Nested inclusion of SDL_begin_code.h
39
+ #endif
40
+ #define SDL_begin_code_h
41
+
42
+ #ifdef SDL_WIKI_DOCUMENTATION_SECTION
43
+
44
+ /**
45
+ * A macro to tag a symbol as deprecated.
46
+ *
47
+ * A function is marked deprecated by adding this macro to its declaration:
48
+ *
49
+ * ```c
50
+ * extern SDL_DEPRECATED int ThisFunctionWasABadIdea(void);
51
+ * ```
52
+ *
53
+ * Compilers with deprecation support can give a warning when a deprecated
54
+ * function is used. This symbol may be used in SDL's headers, but apps are
55
+ * welcome to use it for their own interfaces as well.
56
+ *
57
+ * SDL, on occasion, might deprecate a function for various reasons. However,
58
+ * SDL never removes symbols before major versions, so deprecated interfaces
59
+ * in SDL3 will remain available until SDL4, where it would be expected an app
60
+ * would have to take steps to migrate anyhow.
61
+ *
62
+ * On compilers without a deprecation mechanism, this is defined to nothing,
63
+ * and using a deprecated function will not generate a warning.
64
+ *
65
+ * \since This macro is available since SDL 3.2.0.
66
+ */
67
+ #define SDL_DEPRECATED __attribute__((deprecated))
68
+
69
+ /**
70
+ * A macro to tag a symbol as a public API.
71
+ *
72
+ * SDL uses this macro for all its public functions. On some targets, it is
73
+ * used to signal to the compiler that this function needs to be exported from
74
+ * a shared library, but it might have other side effects.
75
+ *
76
+ * This symbol is used in SDL's headers, but apps and other libraries are
77
+ * welcome to use it for their own interfaces as well.
78
+ *
79
+ * \since This macro is available since SDL 3.2.0.
80
+ */
81
+ #define SDL_DECLSPEC __attribute__ ((visibility("default")))
82
+
83
+ /**
84
+ * A macro to set a function's calling conventions.
85
+ *
86
+ * SDL uses this macro for all its public functions, and any callbacks it
87
+ * defines. This macro guarantees that calling conventions match between SDL
88
+ * and the app, even if the two were built with different compilers or
89
+ * optimization settings.
90
+ *
91
+ * When writing a callback function, it is very important for it to be
92
+ * correctly tagged with SDLCALL, as mismatched calling conventions can cause
93
+ * strange behaviors and can be difficult to diagnose. Plus, on many
94
+ * platforms, SDLCALL is defined to nothing, so compilers won't be able to
95
+ * warn that the tag is missing.
96
+ *
97
+ * This symbol is used in SDL's headers, but apps and other libraries are
98
+ * welcome to use it for their own interfaces as well.
99
+ *
100
+ * \since This macro is available since SDL 3.2.0.
101
+ */
102
+ #define SDLCALL __cdecl
103
+
104
+ /**
105
+ * A macro to request a function be inlined.
106
+ *
107
+ * This is a hint to the compiler to inline a function. The compiler is free
108
+ * to ignore this request. On compilers without inline support, this is
109
+ * defined to nothing.
110
+ *
111
+ * \since This macro is available since SDL 3.2.0.
112
+ */
113
+ #define SDL_INLINE __inline
114
+
115
+ /**
116
+ * A macro to demand a function be inlined.
117
+ *
118
+ * This is a command to the compiler to inline a function. SDL uses this macro
119
+ * in its public headers for a handful of simple functions. On compilers
120
+ * without forceinline support, this is defined to `static SDL_INLINE`, which
121
+ * is often good enough.
122
+ *
123
+ * This symbol is used in SDL's headers, but apps and other libraries are
124
+ * welcome to use it for their own interfaces as well.
125
+ *
126
+ * \since This macro is available since SDL 3.2.0.
127
+ */
128
+ #define SDL_FORCE_INLINE __forceinline
129
+
130
+ /**
131
+ * A macro to tag a function as never-returning.
132
+ *
133
+ * This is a hint to the compiler that a function does not return. An example
134
+ * of a function like this is the C runtime's exit() function.
135
+ *
136
+ * This hint can lead to code optimizations, and help analyzers understand
137
+ * code flow better. On compilers without noreturn support, this is defined to
138
+ * nothing.
139
+ *
140
+ * This symbol is used in SDL's headers, but apps and other libraries are
141
+ * welcome to use it for their own interfaces as well.
142
+ *
143
+ * \since This macro is available since SDL 3.2.0.
144
+ */
145
+ #define SDL_NORETURN __attribute__((noreturn))
146
+
147
+ /**
148
+ * A macro to tag a function as never-returning (for analysis purposes).
149
+ *
150
+ * This is almost identical to SDL_NORETURN, except functions marked with this
151
+ * _can_ actually return. The difference is that this isn't used for code
152
+ * generation, but rather static analyzers use this information to assume
153
+ * truths about program state and available code paths. Specifically, this tag
154
+ * is useful for writing an assertion mechanism. Indeed, SDL_assert uses this
155
+ * tag behind the scenes. Generally, apps that don't understand the specific
156
+ * use-case for this tag should avoid using it directly.
157
+ *
158
+ * On compilers without analyzer_noreturn support, this is defined to nothing.
159
+ *
160
+ * This symbol is used in SDL's headers, but apps and other libraries are
161
+ * welcome to use it for their own interfaces as well.
162
+ *
163
+ * \since This macro is available since SDL 3.2.0.
164
+ */
165
+ #define SDL_ANALYZER_NORETURN __attribute__((analyzer_noreturn))
166
+
167
+
168
+ /**
169
+ * A macro to signal that a case statement without a `break` is intentional.
170
+ *
171
+ * C compilers have gotten more aggressive about warning when a switch's
172
+ * `case` block does not end with a `break` or other flow control statement,
173
+ * flowing into the next case's code, as this is a common accident that leads
174
+ * to strange bugs. But sometimes falling through to the next case is the
175
+ * correct and desired behavior. This symbol lets an app communicate this
176
+ * intention to the compiler, so it doesn't generate a warning.
177
+ *
178
+ * It is used like this:
179
+ *
180
+ * ```c
181
+ * switch (x) {
182
+ * case 1:
183
+ * DoSomethingOnlyForOne();
184
+ * SDL_FALLTHROUGH; // tell the compiler this was intentional.
185
+ * case 2:
186
+ * DoSomethingForOneAndTwo();
187
+ * break;
188
+ * }
189
+ * ```
190
+ *
191
+ * \since This macro is available since SDL 3.2.0.
192
+ */
193
+ #define SDL_FALLTHROUGH [[fallthrough]]
194
+
195
+ /**
196
+ * A macro to tag a function's return value as critical.
197
+ *
198
+ * This is a hint to the compiler that a function's return value should not be
199
+ * ignored.
200
+ *
201
+ * If an NODISCARD function's return value is thrown away (the function is
202
+ * called as if it returns `void`), the compiler will issue a warning.
203
+ *
204
+ * While it's generally good practice to check return values for errors, often
205
+ * times legitimate programs do not for good reasons. Be careful about what
206
+ * functions are tagged as NODISCARD. It operates best when used on a function
207
+ * that's failure is surprising and catastrophic; a good example would be a
208
+ * program that checks the return values of all its file write function calls
209
+ * but not the call to close the file, which it assumes incorrectly never
210
+ * fails.
211
+ *
212
+ * Function callers that want to throw away a NODISCARD return value can call
213
+ * the function with a `(void)` cast, which informs the compiler the act is
214
+ * intentional.
215
+ *
216
+ * On compilers without nodiscard support, this is defined to nothing.
217
+ *
218
+ * \since This macro is available since SDL 3.2.0.
219
+ */
220
+ #define SDL_NODISCARD [[nodiscard]]
221
+
222
+ /**
223
+ * A macro to tag a function as an allocator.
224
+ *
225
+ * This is a hint to the compiler that a function is an allocator, like
226
+ * malloc(), with certain rules. A description of how GCC treats this hint is
227
+ * here:
228
+ *
229
+ * https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-malloc-function-attribute
230
+ *
231
+ * On compilers without allocator tag support, this is defined to nothing.
232
+ *
233
+ * Most apps don't need to, and should not, use this directly.
234
+ *
235
+ * \since This macro is available since SDL 3.2.0.
236
+ */
237
+ #define SDL_MALLOC __declspec(allocator) __desclspec(restrict)
238
+
239
+ /**
240
+ * A macro to tag a function as returning a certain allocation.
241
+ *
242
+ * This is a hint to the compiler that a function allocates and returns a
243
+ * specific amount of memory based on one of its arguments. For example, the C
244
+ * runtime's malloc() function could use this macro with an argument of 1
245
+ * (first argument to malloc is the size of the allocation).
246
+ *
247
+ * On compilers without alloc_size support, this is defined to nothing.
248
+ *
249
+ * Most apps don't need to, and should not, use this directly.
250
+ *
251
+ * \since This macro is available since SDL 3.2.0.
252
+ */
253
+ #define SDL_ALLOC_SIZE(p) __attribute__((alloc_size(p)))
254
+
255
+ /**
256
+ * A macro to tag a pointer variable, to help with pointer aliasing.
257
+ *
258
+ * A good explanation of the restrict keyword is here:
259
+ *
260
+ * https://en.wikipedia.org/wiki/Restrict
261
+ *
262
+ * On compilers without restrict support, this is defined to nothing.
263
+ *
264
+ * \since This macro is available since SDL 3.4.0.
265
+ */
266
+ #define SDL_RESTRICT __restrict
267
+
268
+ /**
269
+ * Check if the compiler supports a given builtin functionality.
270
+ *
271
+ * This allows preprocessor checks for things that otherwise might fail to
272
+ * compile.
273
+ *
274
+ * Supported by virtually all clang versions and more-recent GCCs. Use this
275
+ * instead of checking the clang version if possible.
276
+ *
277
+ * On compilers without has_builtin support, this is defined to 0 (always
278
+ * false).
279
+ *
280
+ * \since This macro is available since SDL 3.2.0.
281
+ */
282
+ #define SDL_HAS_BUILTIN(x) __has_builtin(x)
283
+
284
+ /**
285
+ * A macro to specify data alignment.
286
+ *
287
+ * This informs the compiler that a given datatype or variable must be aligned
288
+ * to a specific byte count.
289
+ *
290
+ * For example:
291
+ *
292
+ * ```c
293
+ * // make sure this is struct is aligned to 16 bytes for SIMD access.
294
+ * typedef struct {
295
+ * float x, y, z, w;
296
+ * } SDL_ALIGNED(16) MySIMDAlignedData;
297
+ *
298
+ * // make sure this one field in a struct is aligned to 16 bytes for SIMD access.
299
+ * typedef struct {
300
+ * SomeStuff stuff;
301
+ * float SDL_ALIGNED(16) position[4];
302
+ * SomeOtherStuff other_stuff;
303
+ * } MyStruct;
304
+ *
305
+ * // make sure this variable is aligned to 32 bytes.
306
+ * int SDL_ALIGNED(32) myval = 0;
307
+ * ```
308
+ *
309
+ * Alignment is only guaranteed for things the compiler places: local
310
+ * variables on the stack and global/static variables. To dynamically allocate
311
+ * something that respects this alignment, use SDL_aligned_alloc() or some
312
+ * other mechanism.
313
+ *
314
+ * On compilers without alignment support, this macro is defined to an invalid
315
+ * symbol, to make it clear that the current compiler is likely to generate
316
+ * incorrect code when it sees this macro.
317
+ *
318
+ * \param x the byte count to align to, so the data's address will be a
319
+ * multiple of this value.
320
+ *
321
+ * \since This macro is available since SDL 3.4.0.
322
+ */
323
+ #define SDL_ALIGNED(x) __attribute__((aligned(x)))
324
+
325
+ /* end of wiki documentation section. */
326
+ #endif
327
+
328
+ /* `restrict` is from C99, but __restrict works with both Visual Studio and GCC. */
329
+ #ifndef SDL_RESTRICT
330
+ # if defined(restrict) || ((defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)))
331
+ # define SDL_RESTRICT restrict
332
+ # elif defined(_MSC_VER) || defined(__GNUC__) || defined(__clang__)
333
+ # define SDL_RESTRICT __restrict
334
+ # else
335
+ # define SDL_RESTRICT
336
+ # endif
337
+ #endif
338
+
339
+ #ifndef SDL_HAS_BUILTIN
340
+ #ifdef __has_builtin
341
+ #define SDL_HAS_BUILTIN(x) __has_builtin(x)
342
+ #else
343
+ #define SDL_HAS_BUILTIN(x) 0
344
+ #endif
345
+ #endif
346
+
347
+ #ifndef SDL_DEPRECATED
348
+ # if defined(__GNUC__) && (__GNUC__ >= 4) /* technically, this arrived in gcc 3.1, but oh well. */
349
+ # define SDL_DEPRECATED __attribute__((deprecated))
350
+ # elif defined(_MSC_VER)
351
+ # define SDL_DEPRECATED __declspec(deprecated)
352
+ # else
353
+ # define SDL_DEPRECATED
354
+ # endif
355
+ #endif
356
+
357
+ #ifndef SDL_UNUSED
358
+ # ifdef __GNUC__
359
+ # define SDL_UNUSED __attribute__((unused))
360
+ # else
361
+ # define SDL_UNUSED
362
+ # endif
363
+ #endif
364
+
365
+ /* Some compilers use a special export keyword */
366
+ #ifndef SDL_DECLSPEC
367
+ # if defined(SDL_PLATFORM_WINDOWS)
368
+ # ifdef DLL_EXPORT
369
+ # define SDL_DECLSPEC __declspec(dllexport)
370
+ # else
371
+ # define SDL_DECLSPEC
372
+ # endif
373
+ # else
374
+ # if defined(__GNUC__) && __GNUC__ >= 4
375
+ # define SDL_DECLSPEC __attribute__ ((visibility("default")))
376
+ # else
377
+ # define SDL_DECLSPEC
378
+ # endif
379
+ # endif
380
+ #endif
381
+
382
+ /* By default SDL uses the C calling convention */
383
+ #ifndef SDLCALL
384
+ #if defined(SDL_PLATFORM_WINDOWS) && !defined(__GNUC__)
385
+ #define SDLCALL __cdecl
386
+ #else
387
+ #define SDLCALL
388
+ #endif
389
+ #endif /* SDLCALL */
390
+
391
+ /* Force structure packing at 4 byte alignment.
392
+ This is necessary if the header is included in code which has structure
393
+ packing set to an alternate value, say for loading structures from disk.
394
+ The packing is reset to the previous value in SDL_close_code.h
395
+ */
396
+ #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__)
397
+ #ifdef _MSC_VER
398
+ #pragma warning(disable: 4103)
399
+ #endif
400
+ #ifdef __clang__
401
+ #pragma clang diagnostic ignored "-Wpragma-pack"
402
+ #endif
403
+ #ifdef __BORLANDC__
404
+ #pragma nopackwarning
405
+ #endif
406
+ #ifdef _WIN64
407
+ /* Use 8-byte alignment on 64-bit architectures, so pointers are aligned */
408
+ #pragma pack(push,8)
409
+ #else
410
+ #pragma pack(push,4)
411
+ #endif
412
+ #endif /* Compiler needs structure packing set */
413
+
414
+ #ifndef SDL_INLINE
415
+ #ifdef __GNUC__
416
+ #define SDL_INLINE __inline__
417
+ #elif defined(_MSC_VER) || defined(__BORLANDC__) || \
418
+ defined(__DMC__) || defined(__SC__) || \
419
+ defined(__WATCOMC__) || defined(__LCC__) || \
420
+ defined(__DECC) || defined(__CC_ARM)
421
+ #define SDL_INLINE __inline
422
+ #ifndef __inline__
423
+ #define __inline__ __inline
424
+ #endif
425
+ #else
426
+ #define SDL_INLINE inline
427
+ #ifndef __inline__
428
+ #define __inline__ inline
429
+ #endif
430
+ #endif
431
+ #endif /* SDL_INLINE not defined */
432
+
433
+ #ifndef SDL_FORCE_INLINE
434
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
435
+ #define SDL_FORCE_INLINE __forceinline
436
+ #elif ( (defined(__GNUC__) && (__GNUC__ >= 4)) || defined(__clang__) )
437
+ #define SDL_FORCE_INLINE __attribute__((always_inline)) static __inline__
438
+ #else
439
+ #define SDL_FORCE_INLINE static SDL_INLINE
440
+ #endif
441
+ #endif /* SDL_FORCE_INLINE not defined */
442
+
443
+ #ifndef SDL_NORETURN
444
+ #if defined(__GNUC__)
445
+ #define SDL_NORETURN __attribute__((noreturn))
446
+ #elif defined(_MSC_VER)
447
+ #define SDL_NORETURN __declspec(noreturn)
448
+ #else
449
+ #define SDL_NORETURN
450
+ #endif
451
+ #endif /* SDL_NORETURN not defined */
452
+
453
+ #ifdef __clang__
454
+ #if __has_feature(attribute_analyzer_noreturn)
455
+ #define SDL_ANALYZER_NORETURN __attribute__((analyzer_noreturn))
456
+ #endif
457
+ #endif
458
+
459
+ #ifndef SDL_ANALYZER_NORETURN
460
+ #define SDL_ANALYZER_NORETURN
461
+ #endif
462
+
463
+ /* Apparently this is needed by several Windows compilers */
464
+ #ifndef __MACH__
465
+ #ifndef NULL
466
+ #ifdef __cplusplus
467
+ #define NULL 0
468
+ #else
469
+ #define NULL ((void *)0)
470
+ #endif
471
+ #endif /* NULL */
472
+ #endif /* __MACH__ */
473
+
474
+ #ifndef SDL_FALLTHROUGH
475
+ #if (defined(__cplusplus) && __cplusplus >= 201703L) || \
476
+ (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L)
477
+ #define SDL_FALLTHROUGH [[fallthrough]]
478
+ #else
479
+ #if defined(__has_attribute) && !defined(__SUNPRO_C) && !defined(__SUNPRO_CC)
480
+ #define SDL_HAS_FALLTHROUGH __has_attribute(__fallthrough__)
481
+ #else
482
+ #define SDL_HAS_FALLTHROUGH 0
483
+ #endif /* __has_attribute */
484
+ #if SDL_HAS_FALLTHROUGH && \
485
+ ((defined(__GNUC__) && __GNUC__ >= 7) || \
486
+ (defined(__clang_major__) && __clang_major__ >= 10))
487
+ #define SDL_FALLTHROUGH __attribute__((__fallthrough__))
488
+ #else
489
+ #define SDL_FALLTHROUGH do {} while (0) /* fallthrough */
490
+ #endif /* SDL_HAS_FALLTHROUGH */
491
+ #undef SDL_HAS_FALLTHROUGH
492
+ #endif /* C++17 or C2x */
493
+ #endif /* SDL_FALLTHROUGH not defined */
494
+
495
+ #ifndef SDL_NODISCARD
496
+ #if (defined(__cplusplus) && __cplusplus >= 201703L) || \
497
+ (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L)
498
+ #define SDL_NODISCARD [[nodiscard]]
499
+ #elif ( (defined(__GNUC__) && (__GNUC__ >= 4)) || defined(__clang__) )
500
+ #define SDL_NODISCARD __attribute__((warn_unused_result))
501
+ #elif defined(_MSC_VER) && (_MSC_VER >= 1700)
502
+ #define SDL_NODISCARD _Check_return_
503
+ #else
504
+ #define SDL_NODISCARD
505
+ #endif /* C++17 or C23 */
506
+ #endif /* SDL_NODISCARD not defined */
507
+
508
+ #ifndef SDL_MALLOC
509
+ #if defined(__GNUC__) && (__GNUC__ >= 3)
510
+ #define SDL_MALLOC __attribute__((malloc))
511
+ /** FIXME
512
+ #elif defined(_MSC_VER)
513
+ #define SDL_MALLOC __declspec(allocator) __desclspec(restrict)
514
+ **/
515
+ #else
516
+ #define SDL_MALLOC
517
+ #endif
518
+ #endif /* SDL_MALLOC not defined */
519
+
520
+ #ifndef SDL_ALLOC_SIZE
521
+ #if (defined(__clang__) && __clang_major__ >= 4) || (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
522
+ #define SDL_ALLOC_SIZE(p) __attribute__((alloc_size(p)))
523
+ #elif defined(_MSC_VER)
524
+ #define SDL_ALLOC_SIZE(p)
525
+ #else
526
+ #define SDL_ALLOC_SIZE(p)
527
+ #endif
528
+ #endif /* SDL_ALLOC_SIZE not defined */
529
+
530
+ #ifndef SDL_ALLOC_SIZE2
531
+ #if (defined(__clang__) && __clang_major__ >= 4) || (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
532
+ #define SDL_ALLOC_SIZE2(p1, p2) __attribute__((alloc_size(p1, p2)))
533
+ #elif defined(_MSC_VER)
534
+ #define SDL_ALLOC_SIZE2(p1, p2)
535
+ #else
536
+ #define SDL_ALLOC_SIZE2(p1, p2)
537
+ #endif
538
+ #endif /* SDL_ALLOC_SIZE2 not defined */
539
+
540
+ #ifndef SDL_ALIGNED
541
+ #if defined(__clang__) || defined(__GNUC__)
542
+ #define SDL_ALIGNED(x) __attribute__((aligned(x)))
543
+ #elif defined(_MSC_VER)
544
+ #define SDL_ALIGNED(x) __declspec(align(x))
545
+ #elif defined(__cplusplus) && (__cplusplus >= 201103L)
546
+ #define SDL_ALIGNED(x) alignas(x)
547
+ #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
548
+ #define SDL_ALIGNED(x) _Alignas(x)
549
+ #else
550
+ #define SDL_ALIGNED(x) PLEASE_DEFINE_SDL_ALIGNED
551
+ #endif
552
+ #endif /* SDL_ALIGNED not defined */
553
+
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2026 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
@@ -20,33 +20,22 @@
20
20
  */
21
21
 
22
22
  /**
23
- * \file SDL_bits.h
23
+ * # CategoryBits
24
24
  *
25
- * Functions for fiddling with bits and bitmasks.
25
+ * Functions for fiddling with bits and bitmasks.
26
26
  */
27
27
 
28
28
  #ifndef SDL_bits_h_
29
29
  #define SDL_bits_h_
30
30
 
31
- #include "SDL_stdinc.h"
31
+ #include <SDL3/SDL_stdinc.h>
32
32
 
33
- #include "begin_code.h"
33
+ #include <SDL3/SDL_begin_code.h>
34
34
  /* Set up for C function definitions, even when using C++ */
35
35
  #ifdef __cplusplus
36
36
  extern "C" {
37
37
  #endif
38
38
 
39
- /**
40
- * \file SDL_bits.h
41
- */
42
-
43
- /**
44
- * Get the index of the most significant bit. Result is undefined when called
45
- * with 0. This operation can also be stated as "count leading zeroes" and
46
- * "log base 2".
47
- *
48
- * \return the index of the most significant bit, or -1 if the value is 0.
49
- */
50
39
  #if defined(__WATCOMC__) && defined(__386__)
51
40
  extern __inline int _SDL_bsr_watcom(Uint32);
52
41
  #pragma aux _SDL_bsr_watcom = \
@@ -56,8 +45,24 @@ extern __inline int _SDL_bsr_watcom(Uint32);
56
45
  modify exact [eax] nomemory;
57
46
  #endif
58
47
 
59
- SDL_FORCE_INLINE int
60
- SDL_MostSignificantBitIndex32(Uint32 x)
48
+ /**
49
+ * Get the index of the most significant (set) bit in a 32-bit number.
50
+ *
51
+ * This operation can also be stated as "count leading zeroes" and "log base 2".
52
+ *
53
+ * Note that this is a forced-inline function in a header, and not a public
54
+ * API function available in the SDL library (which is to say, the code is
55
+ * embedded in the calling program and the linker and dynamic loader will not
56
+ * be able to find this function inside SDL itself).
57
+ *
58
+ * \param x the 32-bit value to examine.
59
+ * \returns the index of the most significant bit, or -1 if the value is 0.
60
+ *
61
+ * \threadsafety It is safe to call this function from any thread.
62
+ *
63
+ * \since This function is available since SDL 3.2.0.
64
+ */
65
+ SDL_FORCE_INLINE int SDL_MostSignificantBitIndex32(Uint32 x)
61
66
  {
62
67
  #if defined(__GNUC__) && (__GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
63
68
  /* Count Leading Zeroes builtin in GCC.
@@ -72,10 +77,10 @@ SDL_MostSignificantBitIndex32(Uint32 x)
72
77
  return -1;
73
78
  }
74
79
  return _SDL_bsr_watcom(x);
75
- #elif defined(_MSC_VER)
80
+ #elif defined(_MSC_VER) && _MSC_VER >= 1400
76
81
  unsigned long index;
77
82
  if (_BitScanReverse(&index, x)) {
78
- return index;
83
+ return (int)index;
79
84
  }
80
85
  return -1;
81
86
  #else
@@ -106,21 +111,36 @@ SDL_MostSignificantBitIndex32(Uint32 x)
106
111
  #endif
107
112
  }
108
113
 
109
- SDL_FORCE_INLINE SDL_bool
110
- SDL_HasExactlyOneBitSet32(Uint32 x)
114
+ /**
115
+ * Determine if a unsigned 32-bit value has exactly one bit set.
116
+ *
117
+ * If there are no bits set (`x` is zero), or more than one bit set, this
118
+ * returns false. If any one bit is exclusively set, this returns true.
119
+ *
120
+ * Note that this is a forced-inline function in a header, and not a public
121
+ * API function available in the SDL library (which is to say, the code is
122
+ * embedded in the calling program and the linker and dynamic loader will not
123
+ * be able to find this function inside SDL itself).
124
+ *
125
+ * \param x the 32-bit value to examine.
126
+ * \returns true if exactly one bit is set in `x`, false otherwise.
127
+ *
128
+ * \threadsafety It is safe to call this function from any thread.
129
+ *
130
+ * \since This function is available since SDL 3.2.0.
131
+ */
132
+ SDL_FORCE_INLINE bool SDL_HasExactlyOneBitSet32(Uint32 x)
111
133
  {
112
134
  if (x && !(x & (x - 1))) {
113
- return SDL_TRUE;
135
+ return true;
114
136
  }
115
- return SDL_FALSE;
137
+ return false;
116
138
  }
117
139
 
118
140
  /* Ends C function definitions when using C++ */
119
141
  #ifdef __cplusplus
120
142
  }
121
143
  #endif
122
- #include "close_code.h"
144
+ #include <SDL3/SDL_close_code.h>
123
145
 
124
146
  #endif /* SDL_bits_h_ */
125
-
126
- /* vi: set ts=4 sw=4 expandtab: */