ruby2d-rpeck-windows 0.11.1

Sign up to get free protection for your applications and to get access to all the features.
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,69 @@
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_test.h
24
+ *
25
+ * Include file for SDL test framework.
26
+ *
27
+ * This code is a part of the SDL2_test library, not the main SDL library.
28
+ */
29
+
30
+ #ifndef SDL_test_h_
31
+ #define SDL_test_h_
32
+
33
+ #include "SDL.h"
34
+ #include "SDL_test_assert.h"
35
+ #include "SDL_test_common.h"
36
+ #include "SDL_test_compare.h"
37
+ #include "SDL_test_crc32.h"
38
+ #include "SDL_test_font.h"
39
+ #include "SDL_test_fuzzer.h"
40
+ #include "SDL_test_harness.h"
41
+ #include "SDL_test_images.h"
42
+ #include "SDL_test_log.h"
43
+ #include "SDL_test_md5.h"
44
+ #include "SDL_test_memory.h"
45
+ #include "SDL_test_random.h"
46
+
47
+ #include "begin_code.h"
48
+ /* Set up for C function definitions, even when using C++ */
49
+ #ifdef __cplusplus
50
+ extern "C" {
51
+ #endif
52
+
53
+ /* Global definitions */
54
+
55
+ /*
56
+ * Note: Maximum size of SDLTest log message is less than SDL's limit
57
+ * to ensure we can fit additional information such as the timestamp.
58
+ */
59
+ #define SDLTEST_MAX_LOGMESSAGE_LENGTH 3584
60
+
61
+ /* Ends C function definitions when using C++ */
62
+ #ifdef __cplusplus
63
+ }
64
+ #endif
65
+ #include "close_code.h"
66
+
67
+ #endif /* SDL_test_h_ */
68
+
69
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,105 @@
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_test_assert.h
24
+ *
25
+ * Include file for SDL test framework.
26
+ *
27
+ * This code is a part of the SDL2_test library, not the main SDL library.
28
+ */
29
+
30
+ /*
31
+ *
32
+ * Assert API for test code and test cases
33
+ *
34
+ */
35
+
36
+ #ifndef SDL_test_assert_h_
37
+ #define SDL_test_assert_h_
38
+
39
+ #include "begin_code.h"
40
+ /* Set up for C function definitions, even when using C++ */
41
+ #ifdef __cplusplus
42
+ extern "C" {
43
+ #endif
44
+
45
+ /**
46
+ * \brief Fails the assert.
47
+ */
48
+ #define ASSERT_FAIL 0
49
+
50
+ /**
51
+ * \brief Passes the assert.
52
+ */
53
+ #define ASSERT_PASS 1
54
+
55
+ /**
56
+ * \brief Assert that logs and break execution flow on failures.
57
+ *
58
+ * \param assertCondition Evaluated condition or variable to assert; fail (==0) or pass (!=0).
59
+ * \param assertDescription Message to log with the assert describing it.
60
+ */
61
+ void SDLTest_Assert(int assertCondition, SDL_PRINTF_FORMAT_STRING const char *assertDescription, ...) SDL_PRINTF_VARARG_FUNC(2);
62
+
63
+ /**
64
+ * \brief Assert for test cases that logs but does not break execution flow on failures. Updates assertion counters.
65
+ *
66
+ * \param assertCondition Evaluated condition or variable to assert; fail (==0) or pass (!=0).
67
+ * \param assertDescription Message to log with the assert describing it.
68
+ *
69
+ * \returns Returns the assertCondition so it can be used to externally to break execution flow if desired.
70
+ */
71
+ int SDLTest_AssertCheck(int assertCondition, SDL_PRINTF_FORMAT_STRING const char *assertDescription, ...) SDL_PRINTF_VARARG_FUNC(2);
72
+
73
+ /**
74
+ * \brief Explicitly pass without checking an assertion condition. Updates assertion counter.
75
+ *
76
+ * \param assertDescription Message to log with the assert describing it.
77
+ */
78
+ void SDLTest_AssertPass(SDL_PRINTF_FORMAT_STRING const char *assertDescription, ...) SDL_PRINTF_VARARG_FUNC(1);
79
+
80
+ /**
81
+ * \brief Resets the assert summary counters to zero.
82
+ */
83
+ void SDLTest_ResetAssertSummary(void);
84
+
85
+ /**
86
+ * \brief Logs summary of all assertions (total, pass, fail) since last reset as INFO or ERROR.
87
+ */
88
+ void SDLTest_LogAssertSummary(void);
89
+
90
+
91
+ /**
92
+ * \brief Converts the current assert summary state to a test result.
93
+ *
94
+ * \returns TEST_RESULT_PASSED, TEST_RESULT_FAILED, or TEST_RESULT_NO_ASSERT
95
+ */
96
+ int SDLTest_AssertSummaryToTestResult(void);
97
+
98
+ #ifdef __cplusplus
99
+ }
100
+ #endif
101
+ #include "close_code.h"
102
+
103
+ #endif /* SDL_test_assert_h_ */
104
+
105
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,218 @@
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_test_common.h
24
+ *
25
+ * Include file for SDL test framework.
26
+ *
27
+ * This code is a part of the SDL2_test library, not the main SDL library.
28
+ */
29
+
30
+ /* Ported from original test\common.h file. */
31
+
32
+ #ifndef SDL_test_common_h_
33
+ #define SDL_test_common_h_
34
+
35
+ #include "SDL.h"
36
+
37
+ #if defined(__PSP__)
38
+ #define DEFAULT_WINDOW_WIDTH 480
39
+ #define DEFAULT_WINDOW_HEIGHT 272
40
+ #else
41
+ #define DEFAULT_WINDOW_WIDTH 640
42
+ #define DEFAULT_WINDOW_HEIGHT 480
43
+ #endif
44
+
45
+ #define VERBOSE_VIDEO 0x00000001
46
+ #define VERBOSE_MODES 0x00000002
47
+ #define VERBOSE_RENDER 0x00000004
48
+ #define VERBOSE_EVENT 0x00000008
49
+ #define VERBOSE_AUDIO 0x00000010
50
+
51
+ typedef struct
52
+ {
53
+ /* SDL init flags */
54
+ char **argv;
55
+ Uint32 flags;
56
+ Uint32 verbose;
57
+
58
+ /* Video info */
59
+ const char *videodriver;
60
+ int display;
61
+ const char *window_title;
62
+ const char *window_icon;
63
+ Uint32 window_flags;
64
+ int window_x;
65
+ int window_y;
66
+ int window_w;
67
+ int window_h;
68
+ int window_minW;
69
+ int window_minH;
70
+ int window_maxW;
71
+ int window_maxH;
72
+ int logical_w;
73
+ int logical_h;
74
+ float scale;
75
+ int depth;
76
+ int refresh_rate;
77
+ int num_windows;
78
+ SDL_Window **windows;
79
+
80
+ /* Renderer info */
81
+ const char *renderdriver;
82
+ Uint32 render_flags;
83
+ SDL_bool skip_renderer;
84
+ SDL_Renderer **renderers;
85
+ SDL_Texture **targets;
86
+
87
+ /* Audio info */
88
+ const char *audiodriver;
89
+ SDL_AudioSpec audiospec;
90
+
91
+ /* GL settings */
92
+ int gl_red_size;
93
+ int gl_green_size;
94
+ int gl_blue_size;
95
+ int gl_alpha_size;
96
+ int gl_buffer_size;
97
+ int gl_depth_size;
98
+ int gl_stencil_size;
99
+ int gl_double_buffer;
100
+ int gl_accum_red_size;
101
+ int gl_accum_green_size;
102
+ int gl_accum_blue_size;
103
+ int gl_accum_alpha_size;
104
+ int gl_stereo;
105
+ int gl_multisamplebuffers;
106
+ int gl_multisamplesamples;
107
+ int gl_retained_backing;
108
+ int gl_accelerated;
109
+ int gl_major_version;
110
+ int gl_minor_version;
111
+ int gl_debug;
112
+ int gl_profile_mask;
113
+ } SDLTest_CommonState;
114
+
115
+ #include "begin_code.h"
116
+ /* Set up for C function definitions, even when using C++ */
117
+ #ifdef __cplusplus
118
+ extern "C" {
119
+ #endif
120
+
121
+ /* Function prototypes */
122
+
123
+ /**
124
+ * \brief Parse command line parameters and create common state.
125
+ *
126
+ * \param argv Array of command line parameters
127
+ * \param flags Flags indicating which subsystem to initialize (i.e. SDL_INIT_VIDEO | SDL_INIT_AUDIO)
128
+ *
129
+ * \returns Returns a newly allocated common state object.
130
+ */
131
+ SDLTest_CommonState *SDLTest_CommonCreateState(char **argv, Uint32 flags);
132
+
133
+ /**
134
+ * \brief Process one common argument.
135
+ *
136
+ * \param state The common state describing the test window to create.
137
+ * \param index The index of the argument to process in argv[].
138
+ *
139
+ * \returns The number of arguments processed (i.e. 1 for --fullscreen, 2 for --video [videodriver], or -1 on error.
140
+ */
141
+ int SDLTest_CommonArg(SDLTest_CommonState * state, int index);
142
+
143
+
144
+ /**
145
+ * \brief Logs command line usage info.
146
+ *
147
+ * This logs the appropriate command line options for the subsystems in use
148
+ * plus other common options, and then any application-specific options.
149
+ * This uses the SDL_Log() function and splits up output to be friendly to
150
+ * 80-character-wide terminals.
151
+ *
152
+ * \param state The common state describing the test window for the app.
153
+ * \param argv0 argv[0], as passed to main/SDL_main.
154
+ * \param options an array of strings for application specific options. The last element of the array should be NULL.
155
+ */
156
+ void SDLTest_CommonLogUsage(SDLTest_CommonState * state, const char *argv0, const char **options);
157
+
158
+ /**
159
+ * \brief Returns common usage information
160
+ *
161
+ * You should (probably) be using SDLTest_CommonLogUsage() instead, but this
162
+ * function remains for binary compatibility. Strings returned from this
163
+ * function are valid until SDLTest_CommonQuit() is called, in which case
164
+ * those strings' memory is freed and can no longer be used.
165
+ *
166
+ * \param state The common state describing the test window to create.
167
+ * \returns String with usage information
168
+ */
169
+ const char *SDLTest_CommonUsage(SDLTest_CommonState * state);
170
+
171
+ /**
172
+ * \brief Open test window.
173
+ *
174
+ * \param state The common state describing the test window to create.
175
+ *
176
+ * \returns True if initialization succeeded, false otherwise
177
+ */
178
+ SDL_bool SDLTest_CommonInit(SDLTest_CommonState * state);
179
+
180
+ /**
181
+ * \brief Easy argument handling when test app doesn't need any custom args.
182
+ *
183
+ * \param state The common state describing the test window to create.
184
+ * \param argc argc, as supplied to SDL_main
185
+ * \param argv argv, as supplied to SDL_main
186
+ *
187
+ * \returns False if app should quit, true otherwise.
188
+ */
189
+ SDL_bool SDLTest_CommonDefaultArgs(SDLTest_CommonState * state, const int argc, char **argv);
190
+
191
+ /**
192
+ * \brief Common event handler for test windows.
193
+ *
194
+ * \param state The common state used to create test window.
195
+ * \param event The event to handle.
196
+ * \param done Flag indicating we are done.
197
+ *
198
+ */
199
+ void SDLTest_CommonEvent(SDLTest_CommonState * state, SDL_Event * event, int *done);
200
+
201
+ /**
202
+ * \brief Close test window.
203
+ *
204
+ * \param state The common state used to create test window.
205
+ *
206
+ */
207
+ void SDLTest_CommonQuit(SDLTest_CommonState * state);
208
+
209
+
210
+ /* Ends C function definitions when using C++ */
211
+ #ifdef __cplusplus
212
+ }
213
+ #endif
214
+ #include "close_code.h"
215
+
216
+ #endif /* SDL_test_common_h_ */
217
+
218
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,69 @@
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_test_compare.h
24
+ *
25
+ * Include file for SDL test framework.
26
+ *
27
+ * This code is a part of the SDL2_test library, not the main SDL library.
28
+ */
29
+
30
+ /*
31
+
32
+ Defines comparison functions (i.e. for surfaces).
33
+
34
+ */
35
+
36
+ #ifndef SDL_test_compare_h_
37
+ #define SDL_test_compare_h_
38
+
39
+ #include "SDL.h"
40
+
41
+ #include "SDL_test_images.h"
42
+
43
+ #include "begin_code.h"
44
+ /* Set up for C function definitions, even when using C++ */
45
+ #ifdef __cplusplus
46
+ extern "C" {
47
+ #endif
48
+
49
+ /**
50
+ * \brief Compares a surface and with reference image data for equality
51
+ *
52
+ * \param surface Surface used in comparison
53
+ * \param referenceSurface Test Surface used in comparison
54
+ * \param allowable_error Allowable difference (=sum of squared difference for each RGB component) in blending accuracy.
55
+ *
56
+ * \returns 0 if comparison succeeded, >0 (=number of pixels for which the comparison failed) if comparison failed, -1 if any of the surfaces were NULL, -2 if the surface sizes differ.
57
+ */
58
+ int SDLTest_CompareSurfaces(SDL_Surface *surface, SDL_Surface *referenceSurface, int allowable_error);
59
+
60
+
61
+ /* Ends C function definitions when using C++ */
62
+ #ifdef __cplusplus
63
+ }
64
+ #endif
65
+ #include "close_code.h"
66
+
67
+ #endif /* SDL_test_compare_h_ */
68
+
69
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,124 @@
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_test_crc32.h
24
+ *
25
+ * Include file for SDL test framework.
26
+ *
27
+ * This code is a part of the SDL2_test library, not the main SDL library.
28
+ */
29
+
30
+ /*
31
+
32
+ Implements CRC32 calculations (default output is Perl String::CRC32 compatible).
33
+
34
+ */
35
+
36
+ #ifndef SDL_test_crc32_h_
37
+ #define SDL_test_crc32_h_
38
+
39
+ #include "begin_code.h"
40
+ /* Set up for C function definitions, even when using C++ */
41
+ #ifdef __cplusplus
42
+ extern "C" {
43
+ #endif
44
+
45
+
46
+ /* ------------ Definitions --------- */
47
+
48
+ /* Definition shared by all CRC routines */
49
+
50
+ #ifndef CrcUint32
51
+ #define CrcUint32 unsigned int
52
+ #endif
53
+ #ifndef CrcUint8
54
+ #define CrcUint8 unsigned char
55
+ #endif
56
+
57
+ #ifdef ORIGINAL_METHOD
58
+ #define CRC32_POLY 0x04c11db7 /* AUTODIN II, Ethernet, & FDDI */
59
+ #else
60
+ #define CRC32_POLY 0xEDB88320 /* Perl String::CRC32 compatible */
61
+ #endif
62
+
63
+ /**
64
+ * Data structure for CRC32 (checksum) computation
65
+ */
66
+ typedef struct {
67
+ CrcUint32 crc32_table[256]; /* CRC table */
68
+ } SDLTest_Crc32Context;
69
+
70
+ /* ---------- Function Prototypes ------------- */
71
+
72
+ /**
73
+ * \brief Initialize the CRC context
74
+ *
75
+ * Note: The function initializes the crc table required for all crc calculations.
76
+ *
77
+ * \param crcContext pointer to context variable
78
+ *
79
+ * \returns 0 for OK, -1 on error
80
+ *
81
+ */
82
+ int SDLTest_Crc32Init(SDLTest_Crc32Context * crcContext);
83
+
84
+
85
+ /**
86
+ * \brief calculate a crc32 from a data block
87
+ *
88
+ * \param crcContext pointer to context variable
89
+ * \param inBuf input buffer to checksum
90
+ * \param inLen length of input buffer
91
+ * \param crc32 pointer to Uint32 to store the final CRC into
92
+ *
93
+ * \returns 0 for OK, -1 on error
94
+ *
95
+ */
96
+ int SDLTest_Crc32Calc(SDLTest_Crc32Context * crcContext, CrcUint8 *inBuf, CrcUint32 inLen, CrcUint32 *crc32);
97
+
98
+ /* Same routine broken down into three steps */
99
+ int SDLTest_Crc32CalcStart(SDLTest_Crc32Context * crcContext, CrcUint32 *crc32);
100
+ int SDLTest_Crc32CalcEnd(SDLTest_Crc32Context * crcContext, CrcUint32 *crc32);
101
+ int SDLTest_Crc32CalcBuffer(SDLTest_Crc32Context * crcContext, CrcUint8 *inBuf, CrcUint32 inLen, CrcUint32 *crc32);
102
+
103
+
104
+ /**
105
+ * \brief clean up CRC context
106
+ *
107
+ * \param crcContext pointer to context variable
108
+ *
109
+ * \returns 0 for OK, -1 on error
110
+ *
111
+ */
112
+
113
+ int SDLTest_Crc32Done(SDLTest_Crc32Context * crcContext);
114
+
115
+
116
+ /* Ends C function definitions when using C++ */
117
+ #ifdef __cplusplus
118
+ }
119
+ #endif
120
+ #include "close_code.h"
121
+
122
+ #endif /* SDL_test_crc32_h_ */
123
+
124
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,81 @@
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_test_font.h
24
+ *
25
+ * Include file for SDL test framework.
26
+ *
27
+ * This code is a part of the SDL2_test library, not the main SDL library.
28
+ */
29
+
30
+ #ifndef SDL_test_font_h_
31
+ #define SDL_test_font_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
+ #define FONT_CHARACTER_SIZE 8
42
+
43
+ /**
44
+ * \brief Draw a string in the currently set font.
45
+ *
46
+ * \param renderer The renderer to draw on.
47
+ * \param x The X coordinate of the upper left corner of the character.
48
+ * \param y The Y coordinate of the upper left corner of the character.
49
+ * \param c The character to draw.
50
+ *
51
+ * \returns Returns 0 on success, -1 on failure.
52
+ */
53
+ int SDLTest_DrawCharacter(SDL_Renderer *renderer, int x, int y, char c);
54
+
55
+ /**
56
+ * \brief Draw a string in the currently set font.
57
+ *
58
+ * \param renderer The renderer to draw on.
59
+ * \param x The X coordinate of the upper left corner of the string.
60
+ * \param y The Y coordinate of the upper left corner of the string.
61
+ * \param s The string to draw.
62
+ *
63
+ * \returns Returns 0 on success, -1 on failure.
64
+ */
65
+ int SDLTest_DrawString(SDL_Renderer *renderer, int x, int y, const char *s);
66
+
67
+
68
+ /**
69
+ * \brief Cleanup textures used by font drawing functions.
70
+ */
71
+ void SDLTest_CleanupTextDrawing(void);
72
+
73
+ /* Ends C function definitions when using C++ */
74
+ #ifdef __cplusplus
75
+ }
76
+ #endif
77
+ #include "close_code.h"
78
+
79
+ #endif /* SDL_test_font_h_ */
80
+
81
+ /* vi: set ts=4 sw=4 expandtab: */