ruby2d-rpeck-windows 0.11.1

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 (289) hide show
  1. checksums.yaml +7 -0
  2. data/assets/README.md +22 -0
  3. data/assets/Rakefile +85 -0
  4. data/assets/app.icns +0 -0
  5. data/assets/include/SDL2/SDL.h +138 -0
  6. data/assets/include/SDL2/SDL_assert.h +293 -0
  7. data/assets/include/SDL2/SDL_atomic.h +295 -0
  8. data/assets/include/SDL2/SDL_audio.h +859 -0
  9. data/assets/include/SDL2/SDL_bits.h +121 -0
  10. data/assets/include/SDL2/SDL_blendmode.h +123 -0
  11. data/assets/include/SDL2/SDL_clipboard.h +71 -0
  12. data/assets/include/SDL2/SDL_config.h +55 -0
  13. data/assets/include/SDL2/SDL_config_android.h +182 -0
  14. data/assets/include/SDL2/SDL_config_iphoneos.h +207 -0
  15. data/assets/include/SDL2/SDL_config_macosx.h +266 -0
  16. data/assets/include/SDL2/SDL_config_minimal.h +85 -0
  17. data/assets/include/SDL2/SDL_config_os2.h +188 -0
  18. data/assets/include/SDL2/SDL_config_pandora.h +135 -0
  19. data/assets/include/SDL2/SDL_config_psp.h +165 -0
  20. data/assets/include/SDL2/SDL_config_windows.h +288 -0
  21. data/assets/include/SDL2/SDL_config_winrt.h +243 -0
  22. data/assets/include/SDL2/SDL_config_wiz.h +149 -0
  23. data/assets/include/SDL2/SDL_copying.h +20 -0
  24. data/assets/include/SDL2/SDL_cpuinfo.h +299 -0
  25. data/assets/include/SDL2/SDL_egl.h +1676 -0
  26. data/assets/include/SDL2/SDL_endian.h +263 -0
  27. data/assets/include/SDL2/SDL_error.h +112 -0
  28. data/assets/include/SDL2/SDL_events.h +827 -0
  29. data/assets/include/SDL2/SDL_filesystem.h +136 -0
  30. data/assets/include/SDL2/SDL_gamecontroller.h +541 -0
  31. data/assets/include/SDL2/SDL_gesture.h +87 -0
  32. data/assets/include/SDL2/SDL_haptic.h +1247 -0
  33. data/assets/include/SDL2/SDL_hints.h +1578 -0
  34. data/assets/include/SDL2/SDL_image.h +161 -0
  35. data/assets/include/SDL2/SDL_joystick.h +499 -0
  36. data/assets/include/SDL2/SDL_keyboard.h +217 -0
  37. data/assets/include/SDL2/SDL_keycode.h +351 -0
  38. data/assets/include/SDL2/SDL_loadso.h +81 -0
  39. data/assets/include/SDL2/SDL_locale.h +101 -0
  40. data/assets/include/SDL2/SDL_log.h +211 -0
  41. data/assets/include/SDL2/SDL_main.h +180 -0
  42. data/assets/include/SDL2/SDL_messagebox.h +146 -0
  43. data/assets/include/SDL2/SDL_metal.h +117 -0
  44. data/assets/include/SDL2/SDL_misc.h +75 -0
  45. data/assets/include/SDL2/SDL_mixer.h +651 -0
  46. data/assets/include/SDL2/SDL_mouse.h +302 -0
  47. data/assets/include/SDL2/SDL_mutex.h +251 -0
  48. data/assets/include/SDL2/SDL_name.h +33 -0
  49. data/assets/include/SDL2/SDL_opengl.h +2183 -0
  50. data/assets/include/SDL2/SDL_opengl_glext.h +11180 -0
  51. data/assets/include/SDL2/SDL_opengles.h +39 -0
  52. data/assets/include/SDL2/SDL_opengles2.h +52 -0
  53. data/assets/include/SDL2/SDL_opengles2_gl2.h +621 -0
  54. data/assets/include/SDL2/SDL_opengles2_gl2ext.h +2050 -0
  55. data/assets/include/SDL2/SDL_opengles2_gl2platform.h +30 -0
  56. data/assets/include/SDL2/SDL_opengles2_khrplatform.h +282 -0
  57. data/assets/include/SDL2/SDL_pixels.h +479 -0
  58. data/assets/include/SDL2/SDL_platform.h +198 -0
  59. data/assets/include/SDL2/SDL_power.h +75 -0
  60. data/assets/include/SDL2/SDL_quit.h +58 -0
  61. data/assets/include/SDL2/SDL_rect.h +174 -0
  62. data/assets/include/SDL2/SDL_render.h +1158 -0
  63. data/assets/include/SDL2/SDL_revision.h +2 -0
  64. data/assets/include/SDL2/SDL_rwops.h +283 -0
  65. data/assets/include/SDL2/SDL_scancode.h +413 -0
  66. data/assets/include/SDL2/SDL_sensor.h +267 -0
  67. data/assets/include/SDL2/SDL_shape.h +144 -0
  68. data/assets/include/SDL2/SDL_stdinc.h +647 -0
  69. data/assets/include/SDL2/SDL_surface.h +563 -0
  70. data/assets/include/SDL2/SDL_system.h +325 -0
  71. data/assets/include/SDL2/SDL_syswm.h +354 -0
  72. data/assets/include/SDL2/SDL_test.h +69 -0
  73. data/assets/include/SDL2/SDL_test_assert.h +105 -0
  74. data/assets/include/SDL2/SDL_test_common.h +218 -0
  75. data/assets/include/SDL2/SDL_test_compare.h +69 -0
  76. data/assets/include/SDL2/SDL_test_crc32.h +124 -0
  77. data/assets/include/SDL2/SDL_test_font.h +81 -0
  78. data/assets/include/SDL2/SDL_test_fuzzer.h +384 -0
  79. data/assets/include/SDL2/SDL_test_harness.h +134 -0
  80. data/assets/include/SDL2/SDL_test_images.h +78 -0
  81. data/assets/include/SDL2/SDL_test_log.h +67 -0
  82. data/assets/include/SDL2/SDL_test_md5.h +129 -0
  83. data/assets/include/SDL2/SDL_test_memory.h +63 -0
  84. data/assets/include/SDL2/SDL_test_random.h +115 -0
  85. data/assets/include/SDL2/SDL_thread.h +366 -0
  86. data/assets/include/SDL2/SDL_timer.h +115 -0
  87. data/assets/include/SDL2/SDL_touch.h +102 -0
  88. data/assets/include/SDL2/SDL_ttf.h +294 -0
  89. data/assets/include/SDL2/SDL_types.h +29 -0
  90. data/assets/include/SDL2/SDL_version.h +162 -0
  91. data/assets/include/SDL2/SDL_video.h +1282 -0
  92. data/assets/include/SDL2/SDL_vulkan.h +276 -0
  93. data/assets/include/SDL2/begin_code.h +166 -0
  94. data/assets/include/SDL2/close_code.h +40 -0
  95. data/assets/include/glew.h +23686 -0
  96. data/assets/ios/Assets.xcassets/AppIcon.appiconset/Contents.json +98 -0
  97. data/assets/ios/Assets.xcassets/Contents.json +6 -0
  98. data/assets/ios/Base.lproj/LaunchScreen.storyboard +27 -0
  99. data/assets/ios/Info.plist +43 -0
  100. data/assets/ios/MRuby.framework/Headers/mrbconf.h +143 -0
  101. data/assets/ios/MRuby.framework/Headers/mruby/array.h +280 -0
  102. data/assets/ios/MRuby.framework/Headers/mruby/boxing_nan.h +102 -0
  103. data/assets/ios/MRuby.framework/Headers/mruby/boxing_no.h +56 -0
  104. data/assets/ios/MRuby.framework/Headers/mruby/boxing_word.h +144 -0
  105. data/assets/ios/MRuby.framework/Headers/mruby/class.h +97 -0
  106. data/assets/ios/MRuby.framework/Headers/mruby/common.h +77 -0
  107. data/assets/ios/MRuby.framework/Headers/mruby/compile.h +195 -0
  108. data/assets/ios/MRuby.framework/Headers/mruby/data.h +75 -0
  109. data/assets/ios/MRuby.framework/Headers/mruby/debug.h +67 -0
  110. data/assets/ios/MRuby.framework/Headers/mruby/dump.h +196 -0
  111. data/assets/ios/MRuby.framework/Headers/mruby/error.h +75 -0
  112. data/assets/ios/MRuby.framework/Headers/mruby/gc.h +91 -0
  113. data/assets/ios/MRuby.framework/Headers/mruby/hash.h +215 -0
  114. data/assets/ios/MRuby.framework/Headers/mruby/irep.h +75 -0
  115. data/assets/ios/MRuby.framework/Headers/mruby/istruct.h +47 -0
  116. data/assets/ios/MRuby.framework/Headers/mruby/khash.h +274 -0
  117. data/assets/ios/MRuby.framework/Headers/mruby/numeric.h +161 -0
  118. data/assets/ios/MRuby.framework/Headers/mruby/object.h +44 -0
  119. data/assets/ios/MRuby.framework/Headers/mruby/opcode.h +69 -0
  120. data/assets/ios/MRuby.framework/Headers/mruby/ops.h +117 -0
  121. data/assets/ios/MRuby.framework/Headers/mruby/proc.h +131 -0
  122. data/assets/ios/MRuby.framework/Headers/mruby/range.h +49 -0
  123. data/assets/ios/MRuby.framework/Headers/mruby/re.h +16 -0
  124. data/assets/ios/MRuby.framework/Headers/mruby/string.h +444 -0
  125. data/assets/ios/MRuby.framework/Headers/mruby/throw.h +55 -0
  126. data/assets/ios/MRuby.framework/Headers/mruby/value.h +309 -0
  127. data/assets/ios/MRuby.framework/Headers/mruby/variable.h +136 -0
  128. data/assets/ios/MRuby.framework/Headers/mruby/version.h +110 -0
  129. data/assets/ios/MRuby.framework/Headers/mruby.h +1282 -0
  130. data/assets/ios/MRuby.framework/Info.plist +20 -0
  131. data/assets/ios/MRuby.framework/MRuby +0 -0
  132. data/assets/ios/MyApp.xcodeproj/project.pbxproj +368 -0
  133. data/assets/ios/MyApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  134. data/assets/ios/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  135. data/assets/ios/MyApp.xcodeproj/project.xcworkspace/xcshareddata/MyApp.xcscmblueprint +30 -0
  136. data/assets/ios/main.c +1 -0
  137. data/assets/macos/lib/libFLAC.a +0 -0
  138. data/assets/macos/lib/libSDL2.a +0 -0
  139. data/assets/macos/lib/libSDL2_image.a +0 -0
  140. data/assets/macos/lib/libSDL2_mixer.a +0 -0
  141. data/assets/macos/lib/libSDL2_ttf.a +0 -0
  142. data/assets/macos/lib/libfreetype.a +0 -0
  143. data/assets/macos/lib/libjpeg.a +0 -0
  144. data/assets/macos/lib/libmodplug.a +0 -0
  145. data/assets/macos/lib/libmpg123.a +0 -0
  146. data/assets/macos/lib/libogg.a +0 -0
  147. data/assets/macos/lib/libpng16.a +0 -0
  148. data/assets/macos/lib/libtiff.a +0 -0
  149. data/assets/macos/lib/libvorbis.a +0 -0
  150. data/assets/macos/lib/libvorbisfile.a +0 -0
  151. data/assets/macos/lib/libwebp.a +0 -0
  152. data/assets/mingw/bin/SDL2.dll +0 -0
  153. data/assets/mingw/bin/SDL2_image.dll +0 -0
  154. data/assets/mingw/bin/SDL2_mixer.dll +0 -0
  155. data/assets/mingw/bin/SDL2_ttf.dll +0 -0
  156. data/assets/mingw/bin/glew32.dll +0 -0
  157. data/assets/mingw/bin/libFLAC-8.dll +0 -0
  158. data/assets/mingw/bin/libfreetype-6.dll +0 -0
  159. data/assets/mingw/bin/libjpeg-9.dll +0 -0
  160. data/assets/mingw/bin/libmodplug-1.dll +0 -0
  161. data/assets/mingw/bin/libmpg123-0.dll +0 -0
  162. data/assets/mingw/bin/libogg-0.dll +0 -0
  163. data/assets/mingw/bin/libopus-0.dll +0 -0
  164. data/assets/mingw/bin/libopusfile-0.dll +0 -0
  165. data/assets/mingw/bin/libpng16-16.dll +0 -0
  166. data/assets/mingw/bin/libtiff-5.dll +0 -0
  167. data/assets/mingw/bin/libvorbis-0.dll +0 -0
  168. data/assets/mingw/bin/libvorbisfile-3.dll +0 -0
  169. data/assets/mingw/bin/libwebp-7.dll +0 -0
  170. data/assets/mingw/bin/libwinpthread-1.dll +0 -0
  171. data/assets/mingw/bin/zlib1.dll +0 -0
  172. data/assets/mingw/lib/libSDL2.a +0 -0
  173. data/assets/mingw/lib/libSDL2.dll.a +0 -0
  174. data/assets/mingw/lib/libSDL2_image.a +0 -0
  175. data/assets/mingw/lib/libSDL2_image.dll.a +0 -0
  176. data/assets/mingw/lib/libSDL2_mixer.a +0 -0
  177. data/assets/mingw/lib/libSDL2_mixer.dll.a +0 -0
  178. data/assets/mingw/lib/libSDL2_test.a +0 -0
  179. data/assets/mingw/lib/libSDL2_ttf.a +0 -0
  180. data/assets/mingw/lib/libSDL2_ttf.dll.a +0 -0
  181. data/assets/mingw/lib/libSDL2main.a +0 -0
  182. data/assets/mingw/lib/libglew32.a +0 -0
  183. data/assets/mingw/lib/libglew32.dll.a +0 -0
  184. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +16 -0
  185. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json +6 -0
  186. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json +17 -0
  187. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +16 -0
  188. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json +6 -0
  189. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +16 -0
  190. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json +6 -0
  191. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +16 -0
  192. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json +6 -0
  193. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json +17 -0
  194. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +16 -0
  195. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json +6 -0
  196. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +16 -0
  197. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json +6 -0
  198. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json +32 -0
  199. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json +16 -0
  200. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json +16 -0
  201. data/assets/tvos/Assets.xcassets/Contents.json +6 -0
  202. data/assets/tvos/Assets.xcassets/LaunchImage.launchimage/Contents.json +22 -0
  203. data/assets/tvos/Info.plist +30 -0
  204. data/assets/tvos/MRuby.framework/Headers/mrbconf.h +143 -0
  205. data/assets/tvos/MRuby.framework/Headers/mruby/array.h +280 -0
  206. data/assets/tvos/MRuby.framework/Headers/mruby/boxing_nan.h +102 -0
  207. data/assets/tvos/MRuby.framework/Headers/mruby/boxing_no.h +56 -0
  208. data/assets/tvos/MRuby.framework/Headers/mruby/boxing_word.h +144 -0
  209. data/assets/tvos/MRuby.framework/Headers/mruby/class.h +97 -0
  210. data/assets/tvos/MRuby.framework/Headers/mruby/common.h +77 -0
  211. data/assets/tvos/MRuby.framework/Headers/mruby/compile.h +195 -0
  212. data/assets/tvos/MRuby.framework/Headers/mruby/data.h +75 -0
  213. data/assets/tvos/MRuby.framework/Headers/mruby/debug.h +67 -0
  214. data/assets/tvos/MRuby.framework/Headers/mruby/dump.h +196 -0
  215. data/assets/tvos/MRuby.framework/Headers/mruby/error.h +75 -0
  216. data/assets/tvos/MRuby.framework/Headers/mruby/gc.h +91 -0
  217. data/assets/tvos/MRuby.framework/Headers/mruby/hash.h +215 -0
  218. data/assets/tvos/MRuby.framework/Headers/mruby/irep.h +75 -0
  219. data/assets/tvos/MRuby.framework/Headers/mruby/istruct.h +47 -0
  220. data/assets/tvos/MRuby.framework/Headers/mruby/khash.h +274 -0
  221. data/assets/tvos/MRuby.framework/Headers/mruby/numeric.h +161 -0
  222. data/assets/tvos/MRuby.framework/Headers/mruby/object.h +44 -0
  223. data/assets/tvos/MRuby.framework/Headers/mruby/opcode.h +69 -0
  224. data/assets/tvos/MRuby.framework/Headers/mruby/ops.h +117 -0
  225. data/assets/tvos/MRuby.framework/Headers/mruby/proc.h +131 -0
  226. data/assets/tvos/MRuby.framework/Headers/mruby/range.h +49 -0
  227. data/assets/tvos/MRuby.framework/Headers/mruby/re.h +16 -0
  228. data/assets/tvos/MRuby.framework/Headers/mruby/string.h +444 -0
  229. data/assets/tvos/MRuby.framework/Headers/mruby/throw.h +55 -0
  230. data/assets/tvos/MRuby.framework/Headers/mruby/value.h +309 -0
  231. data/assets/tvos/MRuby.framework/Headers/mruby/variable.h +136 -0
  232. data/assets/tvos/MRuby.framework/Headers/mruby/version.h +110 -0
  233. data/assets/tvos/MRuby.framework/Headers/mruby.h +1282 -0
  234. data/assets/tvos/MRuby.framework/Info.plist +20 -0
  235. data/assets/tvos/MRuby.framework/MRuby +0 -0
  236. data/assets/tvos/MyApp.xcodeproj/project.pbxproj +350 -0
  237. data/assets/tvos/MyApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  238. data/assets/tvos/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  239. data/assets/tvos/MyApp.xcodeproj/project.xcworkspace/xcshareddata/MyApp.xcscmblueprint +30 -0
  240. data/assets/tvos/main.c +1 -0
  241. data/bin/ruby2d +142 -0
  242. data/ext/ruby2d/common.c +185 -0
  243. data/ext/ruby2d/controllers.c +110 -0
  244. data/ext/ruby2d/extconf.rb +147 -0
  245. data/ext/ruby2d/font.c +35 -0
  246. data/ext/ruby2d/gl.c +398 -0
  247. data/ext/ruby2d/gl2.c +86 -0
  248. data/ext/ruby2d/gl3.c +305 -0
  249. data/ext/ruby2d/gles.c +249 -0
  250. data/ext/ruby2d/image.c +58 -0
  251. data/ext/ruby2d/input.c +48 -0
  252. data/ext/ruby2d/music.c +127 -0
  253. data/ext/ruby2d/ruby2d.c +1374 -0
  254. data/ext/ruby2d/ruby2d.h +656 -0
  255. data/ext/ruby2d/shapes.c +154 -0
  256. data/ext/ruby2d/sound.c +118 -0
  257. data/ext/ruby2d/text.c +22 -0
  258. data/ext/ruby2d/window.c +414 -0
  259. data/lib/ruby2d/circle.rb +43 -0
  260. data/lib/ruby2d/cli/build.rb +237 -0
  261. data/lib/ruby2d/cli/colorize.rb +10 -0
  262. data/lib/ruby2d/cli/console.rb +65 -0
  263. data/lib/ruby2d/cli/enable_console.rb +5 -0
  264. data/lib/ruby2d/cli/launch.rb +50 -0
  265. data/lib/ruby2d/color.rb +136 -0
  266. data/lib/ruby2d/dsl.rb +46 -0
  267. data/lib/ruby2d/entity.rb +17 -0
  268. data/lib/ruby2d/exceptions.rb +6 -0
  269. data/lib/ruby2d/font.rb +96 -0
  270. data/lib/ruby2d/image.rb +58 -0
  271. data/lib/ruby2d/line.rb +89 -0
  272. data/lib/ruby2d/music.rb +67 -0
  273. data/lib/ruby2d/pixel.rb +17 -0
  274. data/lib/ruby2d/quad.rb +96 -0
  275. data/lib/ruby2d/rectangle.rb +65 -0
  276. data/lib/ruby2d/renderable.rb +40 -0
  277. data/lib/ruby2d/ruby2d.so +0 -0
  278. data/lib/ruby2d/sound.rb +55 -0
  279. data/lib/ruby2d/sprite.rb +232 -0
  280. data/lib/ruby2d/square.rb +37 -0
  281. data/lib/ruby2d/text.rb +76 -0
  282. data/lib/ruby2d/texture.rb +28 -0
  283. data/lib/ruby2d/tileset.rb +87 -0
  284. data/lib/ruby2d/triangle.rb +82 -0
  285. data/lib/ruby2d/version.rb +5 -0
  286. data/lib/ruby2d/vertices.rb +84 -0
  287. data/lib/ruby2d/window.rb +673 -0
  288. data/lib/ruby2d.rb +69 -0
  289. metadata +346 -0
@@ -0,0 +1,121 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2020 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
+ /**
23
+ * \file SDL_bits.h
24
+ *
25
+ * Functions for fiddling with bits and bitmasks.
26
+ */
27
+
28
+ #ifndef SDL_bits_h_
29
+ #define SDL_bits_h_
30
+
31
+ #include "SDL_stdinc.h"
32
+
33
+ #include "begin_code.h"
34
+ /* Set up for C function definitions, even when using C++ */
35
+ #ifdef __cplusplus
36
+ extern "C" {
37
+ #endif
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 Index of the most significant bit, or -1 if the value is 0.
49
+ */
50
+ #if defined(__WATCOMC__) && defined(__386__)
51
+ extern _inline int _SDL_clz_watcom (Uint32);
52
+ #pragma aux _SDL_clz_watcom = \
53
+ "bsr eax, eax" \
54
+ "xor eax, 31" \
55
+ parm [eax] nomemory \
56
+ value [eax] \
57
+ modify exact [eax] nomemory;
58
+ #endif
59
+
60
+ SDL_FORCE_INLINE int
61
+ SDL_MostSignificantBitIndex32(Uint32 x)
62
+ {
63
+ #if defined(__GNUC__) && (__GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
64
+ /* Count Leading Zeroes builtin in GCC.
65
+ * http://gcc.gnu.org/onlinedocs/gcc-4.3.4/gcc/Other-Builtins.html
66
+ */
67
+ if (x == 0) {
68
+ return -1;
69
+ }
70
+ return 31 - __builtin_clz(x);
71
+ #elif defined(__WATCOMC__) && defined(__386__)
72
+ if (x == 0) {
73
+ return -1;
74
+ }
75
+ return 31 - _SDL_clz_watcom(x);
76
+ #else
77
+ /* Based off of Bit Twiddling Hacks by Sean Eron Anderson
78
+ * <seander@cs.stanford.edu>, released in the public domain.
79
+ * http://graphics.stanford.edu/~seander/bithacks.html#IntegerLog
80
+ */
81
+ const Uint32 b[] = {0x2, 0xC, 0xF0, 0xFF00, 0xFFFF0000};
82
+ const int S[] = {1, 2, 4, 8, 16};
83
+
84
+ int msbIndex = 0;
85
+ int i;
86
+
87
+ if (x == 0) {
88
+ return -1;
89
+ }
90
+
91
+ for (i = 4; i >= 0; i--)
92
+ {
93
+ if (x & b[i])
94
+ {
95
+ x >>= S[i];
96
+ msbIndex |= S[i];
97
+ }
98
+ }
99
+
100
+ return msbIndex;
101
+ #endif
102
+ }
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
+
113
+ /* Ends C function definitions when using C++ */
114
+ #ifdef __cplusplus
115
+ }
116
+ #endif
117
+ #include "close_code.h"
118
+
119
+ #endif /* SDL_bits_h_ */
120
+
121
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,123 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2020 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
+ /**
23
+ * \file SDL_blendmode.h
24
+ *
25
+ * Header file declaring the SDL_BlendMode enumeration
26
+ */
27
+
28
+ #ifndef SDL_blendmode_h_
29
+ #define SDL_blendmode_h_
30
+
31
+ #include "begin_code.h"
32
+ /* Set up for C function definitions, even when using C++ */
33
+ #ifdef __cplusplus
34
+ extern "C" {
35
+ #endif
36
+
37
+ /**
38
+ * \brief The blend mode used in SDL_RenderCopy() and drawing operations.
39
+ */
40
+ typedef enum
41
+ {
42
+ SDL_BLENDMODE_NONE = 0x00000000, /**< no blending
43
+ dstRGBA = srcRGBA */
44
+ SDL_BLENDMODE_BLEND = 0x00000001, /**< alpha blending
45
+ dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA))
46
+ dstA = srcA + (dstA * (1-srcA)) */
47
+ SDL_BLENDMODE_ADD = 0x00000002, /**< additive blending
48
+ dstRGB = (srcRGB * srcA) + dstRGB
49
+ dstA = dstA */
50
+ SDL_BLENDMODE_MOD = 0x00000004, /**< color modulate
51
+ dstRGB = srcRGB * dstRGB
52
+ dstA = dstA */
53
+ SDL_BLENDMODE_MUL = 0x00000008, /**< color multiply
54
+ dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA))
55
+ dstA = (srcA * dstA) + (dstA * (1-srcA)) */
56
+ SDL_BLENDMODE_INVALID = 0x7FFFFFFF
57
+
58
+ /* Additional custom blend modes can be returned by SDL_ComposeCustomBlendMode() */
59
+
60
+ } SDL_BlendMode;
61
+
62
+ /**
63
+ * \brief The blend operation used when combining source and destination pixel components
64
+ */
65
+ typedef enum
66
+ {
67
+ SDL_BLENDOPERATION_ADD = 0x1, /**< dst + src: supported by all renderers */
68
+ SDL_BLENDOPERATION_SUBTRACT = 0x2, /**< dst - src : supported by D3D9, D3D11, OpenGL, OpenGLES */
69
+ SDL_BLENDOPERATION_REV_SUBTRACT = 0x3, /**< src - dst : supported by D3D9, D3D11, OpenGL, OpenGLES */
70
+ SDL_BLENDOPERATION_MINIMUM = 0x4, /**< min(dst, src) : supported by D3D11 */
71
+ SDL_BLENDOPERATION_MAXIMUM = 0x5 /**< max(dst, src) : supported by D3D11 */
72
+
73
+ } SDL_BlendOperation;
74
+
75
+ /**
76
+ * \brief The normalized factor used to multiply pixel components
77
+ */
78
+ typedef enum
79
+ {
80
+ SDL_BLENDFACTOR_ZERO = 0x1, /**< 0, 0, 0, 0 */
81
+ SDL_BLENDFACTOR_ONE = 0x2, /**< 1, 1, 1, 1 */
82
+ SDL_BLENDFACTOR_SRC_COLOR = 0x3, /**< srcR, srcG, srcB, srcA */
83
+ SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR = 0x4, /**< 1-srcR, 1-srcG, 1-srcB, 1-srcA */
84
+ SDL_BLENDFACTOR_SRC_ALPHA = 0x5, /**< srcA, srcA, srcA, srcA */
85
+ SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA = 0x6, /**< 1-srcA, 1-srcA, 1-srcA, 1-srcA */
86
+ SDL_BLENDFACTOR_DST_COLOR = 0x7, /**< dstR, dstG, dstB, dstA */
87
+ SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR = 0x8, /**< 1-dstR, 1-dstG, 1-dstB, 1-dstA */
88
+ SDL_BLENDFACTOR_DST_ALPHA = 0x9, /**< dstA, dstA, dstA, dstA */
89
+ SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA = 0xA /**< 1-dstA, 1-dstA, 1-dstA, 1-dstA */
90
+
91
+ } SDL_BlendFactor;
92
+
93
+ /**
94
+ * \brief Create a custom blend mode, which may or may not be supported by a given renderer
95
+ *
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
102
+ *
103
+ * The result of the blend mode operation will be:
104
+ * dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor
105
+ * and
106
+ * dstA = dstA * dstAlphaFactor alphaOperation srcA * srcAlphaFactor
107
+ */
108
+ extern DECLSPEC SDL_BlendMode SDLCALL SDL_ComposeCustomBlendMode(SDL_BlendFactor srcColorFactor,
109
+ SDL_BlendFactor dstColorFactor,
110
+ SDL_BlendOperation colorOperation,
111
+ SDL_BlendFactor srcAlphaFactor,
112
+ SDL_BlendFactor dstAlphaFactor,
113
+ SDL_BlendOperation alphaOperation);
114
+
115
+ /* Ends C function definitions when using C++ */
116
+ #ifdef __cplusplus
117
+ }
118
+ #endif
119
+ #include "close_code.h"
120
+
121
+ #endif /* SDL_blendmode_h_ */
122
+
123
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,71 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2020 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
+ /**
23
+ * \file SDL_clipboard.h
24
+ *
25
+ * Include file for SDL clipboard handling
26
+ */
27
+
28
+ #ifndef SDL_clipboard_h_
29
+ #define SDL_clipboard_h_
30
+
31
+ #include "SDL_stdinc.h"
32
+
33
+ #include "begin_code.h"
34
+ /* Set up for C function definitions, even when using C++ */
35
+ #ifdef __cplusplus
36
+ extern "C" {
37
+ #endif
38
+
39
+ /* Function prototypes */
40
+
41
+ /**
42
+ * \brief Put UTF-8 text into the clipboard
43
+ *
44
+ * \sa SDL_GetClipboardText()
45
+ */
46
+ extern DECLSPEC int SDLCALL SDL_SetClipboardText(const char *text);
47
+
48
+ /**
49
+ * \brief Get UTF-8 text from the clipboard, which must be freed with SDL_free()
50
+ *
51
+ * \sa SDL_SetClipboardText()
52
+ */
53
+ extern DECLSPEC char * SDLCALL SDL_GetClipboardText(void);
54
+
55
+ /**
56
+ * \brief Returns a flag indicating whether the clipboard exists and contains a text string that is non-empty
57
+ *
58
+ * \sa SDL_GetClipboardText()
59
+ */
60
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasClipboardText(void);
61
+
62
+
63
+ /* Ends C function definitions when using C++ */
64
+ #ifdef __cplusplus
65
+ }
66
+ #endif
67
+ #include "close_code.h"
68
+
69
+ #endif /* SDL_clipboard_h_ */
70
+
71
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,55 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+ */
21
+
22
+ #ifndef SDL_config_h_
23
+ #define SDL_config_h_
24
+
25
+ #include "SDL_platform.h"
26
+
27
+ /**
28
+ * \file SDL_config.h
29
+ */
30
+
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"
46
+ #else
47
+ /* This is a minimal configuration just to get SDL running on new platforms. */
48
+ #include "SDL_config_minimal.h"
49
+ #endif /* platform config */
50
+
51
+ #ifdef USING_GENERATED_CONFIG_H
52
+ #error Wrong SDL_config.h, check your include path?
53
+ #endif
54
+
55
+ #endif /* SDL_config_h_ */
@@ -0,0 +1,182 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+ */
21
+
22
+ #ifndef SDL_config_android_h_
23
+ #define SDL_config_android_h_
24
+ #define SDL_config_h_
25
+
26
+ #include "SDL_platform.h"
27
+
28
+ /**
29
+ * \file SDL_config_android.h
30
+ *
31
+ * This is a configuration that can be used to build SDL for Android
32
+ */
33
+
34
+ #include <stdarg.h>
35
+
36
+ #define HAVE_GCC_ATOMICS 1
37
+
38
+ #define STDC_HEADERS 1
39
+ #define HAVE_ALLOCA_H 1
40
+ #define HAVE_CTYPE_H 1
41
+ #define HAVE_INTTYPES_H 1
42
+ #define HAVE_LIMITS_H 1
43
+ #define HAVE_MATH_H 1
44
+ #define HAVE_SIGNAL_H 1
45
+ #define HAVE_STDINT_H 1
46
+ #define HAVE_STDIO_H 1
47
+ #define HAVE_STRING_H 1
48
+ #define HAVE_SYS_TYPES_H 1
49
+
50
+ /* C library functions */
51
+ #define HAVE_MALLOC 1
52
+ #define HAVE_CALLOC 1
53
+ #define HAVE_REALLOC 1
54
+ #define HAVE_FREE 1
55
+ #define HAVE_ALLOCA 1
56
+ #define HAVE_GETENV 1
57
+ #define HAVE_SETENV 1
58
+ #define HAVE_PUTENV 1
59
+ #define HAVE_SETENV 1
60
+ #define HAVE_UNSETENV 1
61
+ #define HAVE_QSORT 1
62
+ #define HAVE_ABS 1
63
+ #define HAVE_BCOPY 1
64
+ #define HAVE_MEMSET 1
65
+ #define HAVE_MEMCPY 1
66
+ #define HAVE_MEMMOVE 1
67
+ #define HAVE_MEMCMP 1
68
+ #define HAVE_STRLEN 1
69
+ #define HAVE_STRLCPY 1
70
+ #define HAVE_STRLCAT 1
71
+ #define HAVE_STRCHR 1
72
+ #define HAVE_STRRCHR 1
73
+ #define HAVE_STRSTR 1
74
+ #define HAVE_STRTOK_R 1
75
+ #define HAVE_STRTOL 1
76
+ #define HAVE_STRTOUL 1
77
+ #define HAVE_STRTOLL 1
78
+ #define HAVE_STRTOULL 1
79
+ #define HAVE_STRTOD 1
80
+ #define HAVE_ATOI 1
81
+ #define HAVE_ATOF 1
82
+ #define HAVE_STRCMP 1
83
+ #define HAVE_STRNCMP 1
84
+ #define HAVE_STRCASECMP 1
85
+ #define HAVE_STRNCASECMP 1
86
+ #define HAVE_VSSCANF 1
87
+ #define HAVE_VSNPRINTF 1
88
+ #define HAVE_ACOS 1
89
+ #define HAVE_ACOSF 1
90
+ #define HAVE_ASIN 1
91
+ #define HAVE_ASINF 1
92
+ #define HAVE_ATAN 1
93
+ #define HAVE_ATANF 1
94
+ #define HAVE_ATAN2 1
95
+ #define HAVE_ATAN2F 1
96
+ #define HAVE_CEIL 1
97
+ #define HAVE_CEILF 1
98
+ #define HAVE_COPYSIGN 1
99
+ #define HAVE_COPYSIGNF 1
100
+ #define HAVE_COS 1
101
+ #define HAVE_COSF 1
102
+ #define HAVE_EXP 1
103
+ #define HAVE_EXPF 1
104
+ #define HAVE_FABS 1
105
+ #define HAVE_FABSF 1
106
+ #define HAVE_FLOOR 1
107
+ #define HAVE_FLOORF 1
108
+ #define HAVE_FMOD 1
109
+ #define HAVE_FMODF 1
110
+ #define HAVE_LOG 1
111
+ #define HAVE_LOGF 1
112
+ #define HAVE_LOG10 1
113
+ #define HAVE_LOG10F 1
114
+ #define HAVE_POW 1
115
+ #define HAVE_POWF 1
116
+ #define HAVE_SCALBN 1
117
+ #define HAVE_SCALBNF 1
118
+ #define HAVE_SIN 1
119
+ #define HAVE_SINF 1
120
+ #define HAVE_SQRT 1
121
+ #define HAVE_SQRTF 1
122
+ #define HAVE_TAN 1
123
+ #define HAVE_TANF 1
124
+ #define HAVE_TRUNC 1
125
+ #define HAVE_TRUNCF 1
126
+ #define HAVE_SIGACTION 1
127
+ #define HAVE_SETJMP 1
128
+ #define HAVE_NANOSLEEP 1
129
+ #define HAVE_SYSCONF 1
130
+ #define HAVE_CLOCK_GETTIME 1
131
+
132
+ #define SIZEOF_VOIDP 4
133
+
134
+ /* Enable various audio drivers */
135
+ #define SDL_AUDIO_DRIVER_ANDROID 1
136
+ #define SDL_AUDIO_DRIVER_OPENSLES 1
137
+ #define SDL_AUDIO_DRIVER_DUMMY 1
138
+
139
+ /* Enable various input drivers */
140
+ #define SDL_JOYSTICK_ANDROID 1
141
+ #define SDL_JOYSTICK_HIDAPI 1
142
+ #define SDL_JOYSTICK_VIRTUAL 1
143
+ #define SDL_HAPTIC_ANDROID 1
144
+
145
+ /* Enable sensor driver */
146
+ #define SDL_SENSOR_ANDROID 1
147
+
148
+ /* Enable various shared object loading systems */
149
+ #define SDL_LOADSO_DLOPEN 1
150
+
151
+ /* Enable various threading systems */
152
+ #define SDL_THREAD_PTHREAD 1
153
+ #define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
154
+
155
+ /* Enable various timer systems */
156
+ #define SDL_TIMER_UNIX 1
157
+
158
+ /* Enable various video drivers */
159
+ #define SDL_VIDEO_DRIVER_ANDROID 1
160
+
161
+ /* Enable OpenGL ES */
162
+ #define SDL_VIDEO_OPENGL_ES 1
163
+ #define SDL_VIDEO_OPENGL_ES2 1
164
+ #define SDL_VIDEO_OPENGL_EGL 1
165
+ #define SDL_VIDEO_RENDER_OGL_ES 1
166
+ #define SDL_VIDEO_RENDER_OGL_ES2 1
167
+
168
+ /* Enable Vulkan support */
169
+ /* Android does not support Vulkan in native code using the "armeabi" ABI. */
170
+ #if defined(__ARM_ARCH) && __ARM_ARCH < 7
171
+ #define SDL_VIDEO_VULKAN 0
172
+ #else
173
+ #define SDL_VIDEO_VULKAN 1
174
+ #endif
175
+
176
+ /* Enable system power support */
177
+ #define SDL_POWER_ANDROID 1
178
+
179
+ /* Enable the filesystem driver */
180
+ #define SDL_FILESYSTEM_ANDROID 1
181
+
182
+ #endif /* SDL_config_android_h_ */