alphatau 0.1.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 (1362) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +11 -0
  3. data/bin/console +14 -0
  4. data/bin/setup +8 -0
  5. data/ext/alphatau/native/alphatau_native.cpp +141 -0
  6. data/ext/alphatau/native/extconf.rb +18 -0
  7. data/ext/alphatau/native/sdl/Android.mk +110 -0
  8. data/ext/alphatau/native/sdl/BUGS.txt +16 -0
  9. data/ext/alphatau/native/sdl/CMakeLists.txt +1877 -0
  10. data/ext/alphatau/native/sdl/COPYING.txt +20 -0
  11. data/ext/alphatau/native/sdl/CREDITS.txt +53 -0
  12. data/ext/alphatau/native/sdl/INSTALL.txt +40 -0
  13. data/ext/alphatau/native/sdl/Makefile.in +240 -0
  14. data/ext/alphatau/native/sdl/Makefile.minimal +44 -0
  15. data/ext/alphatau/native/sdl/Makefile.pandora +60 -0
  16. data/ext/alphatau/native/sdl/Makefile.psp +95 -0
  17. data/ext/alphatau/native/sdl/Makefile.wiz +80 -0
  18. data/ext/alphatau/native/sdl/README-SDL.txt +13 -0
  19. data/ext/alphatau/native/sdl/README.txt +21 -0
  20. data/ext/alphatau/native/sdl/SDL2.spec.in +118 -0
  21. data/ext/alphatau/native/sdl/SDL2Config.cmake +1 -0
  22. data/ext/alphatau/native/sdl/TODO.txt +10 -0
  23. data/ext/alphatau/native/sdl/VisualC-WinRT/SDL2-WinRT.nuspec +23 -0
  24. data/ext/alphatau/native/sdl/VisualC-WinRT/SDL2-WinRT.targets +38 -0
  25. data/ext/alphatau/native/sdl/VisualC-WinRT/SDL2main-WinRT-NonXAML.nuspec +22 -0
  26. data/ext/alphatau/native/sdl/VisualC-WinRT/SDL2main-WinRT-NonXAML.targets +10 -0
  27. data/ext/alphatau/native/sdl/VisualC-WinRT/UWP_VS2015/SDL-UWP.sln +34 -0
  28. data/ext/alphatau/native/sdl/VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj +575 -0
  29. data/ext/alphatau/native/sdl/VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj.filters +774 -0
  30. data/ext/alphatau/native/sdl/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.sln +28 -0
  31. data/ext/alphatau/native/sdl/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.vcxproj +466 -0
  32. data/ext/alphatau/native/sdl/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.vcxproj.filters +735 -0
  33. data/ext/alphatau/native/sdl/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.sln +34 -0
  34. data/ext/alphatau/native/sdl/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj +571 -0
  35. data/ext/alphatau/native/sdl/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj.filters +771 -0
  36. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/Assets/Logo.png +0 -0
  37. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/Assets/SmallLogo.png +0 -0
  38. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/Assets/SplashScreen.png +0 -0
  39. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/Assets/StoreLogo.png +0 -0
  40. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/Package.appxmanifest +42 -0
  41. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/loopwave_VS2012.vcxproj +170 -0
  42. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/loopwave_VS2012_TemporaryKey.pfx +0 -0
  43. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/Assets/Logo.png +0 -0
  44. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/Assets/SmallLogo.png +0 -0
  45. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/Assets/SplashScreen.png +0 -0
  46. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/Assets/StoreLogo.png +0 -0
  47. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/Package.appxmanifest +42 -0
  48. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/testthread_VS2012.vcxproj +160 -0
  49. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/testthread_VS2012_TemporaryKey.pfx +0 -0
  50. data/ext/alphatau/native/sdl/VisualC.html +146 -0
  51. data/ext/alphatau/native/sdl/VisualC/SDL.sln +291 -0
  52. data/ext/alphatau/native/sdl/VisualC/SDL/SDL.vcxproj +559 -0
  53. data/ext/alphatau/native/sdl/VisualC/SDL/SDL.vcxproj.filters +479 -0
  54. data/ext/alphatau/native/sdl/VisualC/SDLmain/SDLmain.vcxproj +162 -0
  55. data/ext/alphatau/native/sdl/VisualC/SDLtest/SDLtest.vcxproj +177 -0
  56. data/ext/alphatau/native/sdl/VisualC/clean.sh +4 -0
  57. data/ext/alphatau/native/sdl/VisualC/tests/checkkeys/checkkeys.vcxproj +218 -0
  58. data/ext/alphatau/native/sdl/VisualC/tests/controllermap/controllermap.vcxproj +259 -0
  59. data/ext/alphatau/native/sdl/VisualC/tests/loopwave/loopwave.vcxproj +229 -0
  60. data/ext/alphatau/native/sdl/VisualC/tests/testatomic/testatomic.vcxproj +203 -0
  61. data/ext/alphatau/native/sdl/VisualC/tests/testautomation/testautomation.vcxproj +230 -0
  62. data/ext/alphatau/native/sdl/VisualC/tests/testdraw2/testdraw2.vcxproj +209 -0
  63. data/ext/alphatau/native/sdl/VisualC/tests/testfile/testfile.vcxproj +203 -0
  64. data/ext/alphatau/native/sdl/VisualC/tests/testgamecontroller/testgamecontroller.vcxproj +259 -0
  65. data/ext/alphatau/native/sdl/VisualC/tests/testgesture/testgesture.vcxproj +203 -0
  66. data/ext/alphatau/native/sdl/VisualC/tests/testgl2/testgl2.vcxproj +213 -0
  67. data/ext/alphatau/native/sdl/VisualC/tests/testgles2/testgles2.vcxproj +209 -0
  68. data/ext/alphatau/native/sdl/VisualC/tests/testjoystick/testjoystick.vcxproj +203 -0
  69. data/ext/alphatau/native/sdl/VisualC/tests/testoverlay2/testoverlay2.vcxproj +224 -0
  70. data/ext/alphatau/native/sdl/VisualC/tests/testplatform/testplatform.vcxproj +231 -0
  71. data/ext/alphatau/native/sdl/VisualC/tests/testpower/testpower.vcxproj +203 -0
  72. data/ext/alphatau/native/sdl/VisualC/tests/testrendertarget/testrendertarget.vcxproj +247 -0
  73. data/ext/alphatau/native/sdl/VisualC/tests/testrumble/testrumble.vcxproj +203 -0
  74. data/ext/alphatau/native/sdl/VisualC/tests/testscale/testscale.vcxproj +247 -0
  75. data/ext/alphatau/native/sdl/VisualC/tests/testshape/testshape.vcxproj +203 -0
  76. data/ext/alphatau/native/sdl/VisualC/tests/testsprite2/testsprite2.vcxproj +229 -0
  77. data/ext/alphatau/native/sdl/VisualC/tests/testvulkan/testvulkan.vcxproj +203 -0
  78. data/ext/alphatau/native/sdl/VisualC/tests/testyuv/testyuv.vcxproj +233 -0
  79. data/ext/alphatau/native/sdl/VisualC/visualtest/unittest/testquit/testquit_VS2012.vcxproj +216 -0
  80. data/ext/alphatau/native/sdl/VisualC/visualtest/visualtest_VS2012.vcxproj +304 -0
  81. data/ext/alphatau/native/sdl/WhatsNew.txt +401 -0
  82. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/Default.png +0 -0
  83. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/Demos.xcodeproj/project.pbxproj +1299 -0
  84. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/Icon.png +0 -0
  85. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/Info.plist +32 -0
  86. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/README +43 -0
  87. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/bitmapfont/kromasky_16x16.bmp +0 -0
  88. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/bitmapfont/license.txt +258 -0
  89. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/drums/ds_brush_snare.wav +0 -0
  90. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/drums/ds_china.wav +0 -0
  91. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/drums/ds_kick_big_amb.wav +0 -0
  92. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/drums/ds_loose_skin_mute.wav +0 -0
  93. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/icon.bmp +0 -0
  94. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/ship.bmp +0 -0
  95. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/space.bmp +0 -0
  96. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/stroke.bmp +0 -0
  97. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/iOS Launch Screen.storyboard +40 -0
  98. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/accelerometer.c +226 -0
  99. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/common.c +56 -0
  100. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/common.h +10 -0
  101. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/fireworks.c +474 -0
  102. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/happy.c +180 -0
  103. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/keyboard.c +301 -0
  104. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/mixer.c +344 -0
  105. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/rectangles.c +92 -0
  106. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/touch.c +129 -0
  107. data/ext/alphatau/native/sdl/Xcode-iOS/SDL/SDL.xcodeproj/project.pbxproj +2047 -0
  108. data/ext/alphatau/native/sdl/Xcode-iOS/SDLtest/SDL2test.xcodeproj/project.pbxproj +422 -0
  109. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/Default-568h@2x.png +0 -0
  110. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/Default.png +0 -0
  111. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/Icon.png +0 -0
  112. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/Info.plist +28 -0
  113. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns +0 -0
  114. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist +10 -0
  115. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/project.pbxproj +308 -0
  116. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  117. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/main.c +100 -0
  118. data/ext/alphatau/native/sdl/Xcode-iOS/Test/Info.plist +26 -0
  119. data/ext/alphatau/native/sdl/Xcode-iOS/Test/README +11 -0
  120. data/ext/alphatau/native/sdl/Xcode-iOS/Test/TestiPhoneOS.xcodeproj/project.pbxproj +3095 -0
  121. data/ext/alphatau/native/sdl/Xcode/SDL/Info-Framework.plist +28 -0
  122. data/ext/alphatau/native/sdl/Xcode/SDL/SDL.xcodeproj/project.pbxproj +3384 -0
  123. data/ext/alphatau/native/sdl/Xcode/SDL/pkg-support/SDL.info +15 -0
  124. data/ext/alphatau/native/sdl/Xcode/SDL/pkg-support/resources/License.txt +19 -0
  125. data/ext/alphatau/native/sdl/Xcode/SDL/pkg-support/resources/ReadMe.txt +32 -0
  126. data/ext/alphatau/native/sdl/Xcode/SDL/pkg-support/resources/SDL_DS_Store +0 -0
  127. data/ext/alphatau/native/sdl/Xcode/SDL/pkg-support/sdl_logo.pdf +0 -0
  128. data/ext/alphatau/native/sdl/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj +4995 -0
  129. data/ext/alphatau/native/sdl/Xcode/SDLTest/TestDropFile-Info.plist +35 -0
  130. data/ext/alphatau/native/sdl/Xcode/XcodeDocSet/Doxyfile +1558 -0
  131. data/ext/alphatau/native/sdl/acinclude/ac_check_define.m4 +14 -0
  132. data/ext/alphatau/native/sdl/acinclude/alsa.m4 +145 -0
  133. data/ext/alphatau/native/sdl/acinclude/ax_check_compiler_flags.m4 +76 -0
  134. data/ext/alphatau/native/sdl/acinclude/ax_gcc_archflag.m4 +215 -0
  135. data/ext/alphatau/native/sdl/acinclude/ax_gcc_x86_cpuid.m4.htm +79 -0
  136. data/ext/alphatau/native/sdl/acinclude/esd.m4 +168 -0
  137. data/ext/alphatau/native/sdl/acinclude/libtool.m4 +7998 -0
  138. data/ext/alphatau/native/sdl/acinclude/ltoptions.m4 +384 -0
  139. data/ext/alphatau/native/sdl/acinclude/ltsugar.m4 +123 -0
  140. data/ext/alphatau/native/sdl/acinclude/ltversion.m4 +23 -0
  141. data/ext/alphatau/native/sdl/acinclude/lt~obsolete.m4 +98 -0
  142. data/ext/alphatau/native/sdl/android-project-ant/AndroidManifest.xml +1 -0
  143. data/ext/alphatau/native/sdl/android-project-ant/ant.properties +17 -0
  144. data/ext/alphatau/native/sdl/android-project-ant/build.properties +17 -0
  145. data/ext/alphatau/native/sdl/android-project-ant/build.xml +93 -0
  146. data/ext/alphatau/native/sdl/android-project-ant/default.properties +11 -0
  147. data/ext/alphatau/native/sdl/android-project-ant/jni/Android.mk +1 -0
  148. data/ext/alphatau/native/sdl/android-project-ant/jni/Application.mk +10 -0
  149. data/ext/alphatau/native/sdl/android-project-ant/jni/src/Android.mk +18 -0
  150. data/ext/alphatau/native/sdl/android-project-ant/jni/src/Android_static.mk +12 -0
  151. data/ext/alphatau/native/sdl/android-project-ant/proguard-project.txt +20 -0
  152. data/ext/alphatau/native/sdl/android-project-ant/project.properties +14 -0
  153. data/ext/alphatau/native/sdl/android-project-ant/res/drawable-hdpi/ic_launcher.png +0 -0
  154. data/ext/alphatau/native/sdl/android-project-ant/res/drawable-mdpi/ic_launcher.png +0 -0
  155. data/ext/alphatau/native/sdl/android-project-ant/res/drawable-xhdpi/ic_launcher.png +0 -0
  156. data/ext/alphatau/native/sdl/android-project-ant/res/drawable-xxhdpi/ic_launcher.png +0 -0
  157. data/ext/alphatau/native/sdl/android-project-ant/res/layout/main.xml +13 -0
  158. data/ext/alphatau/native/sdl/android-project-ant/res/values/strings.xml +4 -0
  159. data/ext/alphatau/native/sdl/android-project-ant/src +1 -0
  160. data/ext/alphatau/native/sdl/android-project/app/build.gradle +69 -0
  161. data/ext/alphatau/native/sdl/android-project/app/jni/Android.mk +1 -0
  162. data/ext/alphatau/native/sdl/android-project/app/jni/Application.mk +9 -0
  163. data/ext/alphatau/native/sdl/android-project/app/jni/src/Android.mk +18 -0
  164. data/ext/alphatau/native/sdl/android-project/app/proguard-rules.pro +17 -0
  165. data/ext/alphatau/native/sdl/android-project/app/src/main/AndroidManifest.xml +77 -0
  166. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/HIDDevice.java +19 -0
  167. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/HIDDeviceBLESteamController.java +640 -0
  168. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/HIDDeviceManager.java +624 -0
  169. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/HIDDeviceUSB.java +298 -0
  170. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/SDL.java +37 -0
  171. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java +2103 -0
  172. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/SDLAudioManager.java +178 -0
  173. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java +812 -0
  174. data/ext/alphatau/native/sdl/android-project/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  175. data/ext/alphatau/native/sdl/android-project/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  176. data/ext/alphatau/native/sdl/android-project/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  177. data/ext/alphatau/native/sdl/android-project/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  178. data/ext/alphatau/native/sdl/android-project/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  179. data/ext/alphatau/native/sdl/android-project/app/src/main/res/values/colors.xml +6 -0
  180. data/ext/alphatau/native/sdl/android-project/app/src/main/res/values/strings.xml +3 -0
  181. data/ext/alphatau/native/sdl/android-project/app/src/main/res/values/styles.xml +8 -0
  182. data/ext/alphatau/native/sdl/android-project/build.gradle +23 -0
  183. data/ext/alphatau/native/sdl/android-project/gradle.properties +17 -0
  184. data/ext/alphatau/native/sdl/android-project/gradle/wrapper/gradle-wrapper.jar +0 -0
  185. data/ext/alphatau/native/sdl/android-project/gradle/wrapper/gradle-wrapper.properties +6 -0
  186. data/ext/alphatau/native/sdl/android-project/gradlew +160 -0
  187. data/ext/alphatau/native/sdl/android-project/gradlew.bat +90 -0
  188. data/ext/alphatau/native/sdl/android-project/settings.gradle +1 -0
  189. data/ext/alphatau/native/sdl/autogen.sh +23 -0
  190. data/ext/alphatau/native/sdl/build-scripts/androidbuild.sh +100 -0
  191. data/ext/alphatau/native/sdl/build-scripts/androidbuildlibs.sh +74 -0
  192. data/ext/alphatau/native/sdl/build-scripts/checker-buildbot.sh +103 -0
  193. data/ext/alphatau/native/sdl/build-scripts/config.guess +1476 -0
  194. data/ext/alphatau/native/sdl/build-scripts/config.sub +1868 -0
  195. data/ext/alphatau/native/sdl/build-scripts/config.sub.patch +72 -0
  196. data/ext/alphatau/native/sdl/build-scripts/emscripten-buildbot.sh +77 -0
  197. data/ext/alphatau/native/sdl/build-scripts/g++-fat.sh +101 -0
  198. data/ext/alphatau/native/sdl/build-scripts/gcc-fat.sh +102 -0
  199. data/ext/alphatau/native/sdl/build-scripts/install-sh +323 -0
  200. data/ext/alphatau/native/sdl/build-scripts/iosbuild.sh +188 -0
  201. data/ext/alphatau/native/sdl/build-scripts/ltmain.sh +9658 -0
  202. data/ext/alphatau/native/sdl/build-scripts/mkinstalldirs +99 -0
  203. data/ext/alphatau/native/sdl/build-scripts/nacl-buildbot.sh +61 -0
  204. data/ext/alphatau/native/sdl/build-scripts/naclbuild.sh +105 -0
  205. data/ext/alphatau/native/sdl/build-scripts/raspberrypi-buildbot.sh +60 -0
  206. data/ext/alphatau/native/sdl/build-scripts/showrev.sh +5 -0
  207. data/ext/alphatau/native/sdl/build-scripts/strip_fPIC.sh +21 -0
  208. data/ext/alphatau/native/sdl/build-scripts/update-copyright.sh +8 -0
  209. data/ext/alphatau/native/sdl/build-scripts/updaterev.sh +20 -0
  210. data/ext/alphatau/native/sdl/build-scripts/windows-buildbot-zipper.bat +40 -0
  211. data/ext/alphatau/native/sdl/build-scripts/winrtbuild.bat +8 -0
  212. data/ext/alphatau/native/sdl/build-scripts/winrtbuild.ps1 +302 -0
  213. data/ext/alphatau/native/sdl/cmake/macros.cmake +73 -0
  214. data/ext/alphatau/native/sdl/cmake/sdlchecks.cmake +1184 -0
  215. data/ext/alphatau/native/sdl/cmake_uninstall.cmake.in +18 -0
  216. data/ext/alphatau/native/sdl/configure +27540 -0
  217. data/ext/alphatau/native/sdl/configure.in +4236 -0
  218. data/ext/alphatau/native/sdl/debian/changelog +114 -0
  219. data/ext/alphatau/native/sdl/debian/compat +1 -0
  220. data/ext/alphatau/native/sdl/debian/control +76 -0
  221. data/ext/alphatau/native/sdl/debian/copyright +351 -0
  222. data/ext/alphatau/native/sdl/debian/docs +4 -0
  223. data/ext/alphatau/native/sdl/debian/libsdl2-dev.install +8 -0
  224. data/ext/alphatau/native/sdl/debian/libsdl2-dev.manpages +1 -0
  225. data/ext/alphatau/native/sdl/debian/libsdl2.install +1 -0
  226. data/ext/alphatau/native/sdl/debian/rules +41 -0
  227. data/ext/alphatau/native/sdl/debian/sdl2-config.1 +86 -0
  228. data/ext/alphatau/native/sdl/debian/source/format +1 -0
  229. data/ext/alphatau/native/sdl/debian/watch +2 -0
  230. data/ext/alphatau/native/sdl/docs/README-android.md +432 -0
  231. data/ext/alphatau/native/sdl/docs/README-cmake.md +32 -0
  232. data/ext/alphatau/native/sdl/docs/README-directfb.md +107 -0
  233. data/ext/alphatau/native/sdl/docs/README-dynapi.md +130 -0
  234. data/ext/alphatau/native/sdl/docs/README-emscripten.md +35 -0
  235. data/ext/alphatau/native/sdl/docs/README-gesture.md +71 -0
  236. data/ext/alphatau/native/sdl/docs/README-hg.md +22 -0
  237. data/ext/alphatau/native/sdl/docs/README-ios.md +284 -0
  238. data/ext/alphatau/native/sdl/docs/README-linux.md +90 -0
  239. data/ext/alphatau/native/sdl/docs/README-macosx.md +240 -0
  240. data/ext/alphatau/native/sdl/docs/README-nacl.md +103 -0
  241. data/ext/alphatau/native/sdl/docs/README-pandora.md +17 -0
  242. data/ext/alphatau/native/sdl/docs/README-platforms.md +8 -0
  243. data/ext/alphatau/native/sdl/docs/README-porting.md +68 -0
  244. data/ext/alphatau/native/sdl/docs/README-psp.md +19 -0
  245. data/ext/alphatau/native/sdl/docs/README-raspberrypi.md +188 -0
  246. data/ext/alphatau/native/sdl/docs/README-touch.md +86 -0
  247. data/ext/alphatau/native/sdl/docs/README-wince.md +10 -0
  248. data/ext/alphatau/native/sdl/docs/README-windows.md +45 -0
  249. data/ext/alphatau/native/sdl/docs/README-winrt.md +544 -0
  250. data/ext/alphatau/native/sdl/docs/README.md +63 -0
  251. data/ext/alphatau/native/sdl/docs/doxyfile +1560 -0
  252. data/ext/alphatau/native/sdl/include/SDL.h +135 -0
  253. data/ext/alphatau/native/sdl/include/SDL_assert.h +291 -0
  254. data/ext/alphatau/native/sdl/include/SDL_atomic.h +277 -0
  255. data/ext/alphatau/native/sdl/include/SDL_audio.h +825 -0
  256. data/ext/alphatau/native/sdl/include/SDL_bits.h +112 -0
  257. data/ext/alphatau/native/sdl/include/SDL_blendmode.h +120 -0
  258. data/ext/alphatau/native/sdl/include/SDL_clipboard.h +71 -0
  259. data/ext/alphatau/native/sdl/include/SDL_config.h +53 -0
  260. data/ext/alphatau/native/sdl/include/SDL_config.h.cmake +471 -0
  261. data/ext/alphatau/native/sdl/include/SDL_config.h.in +417 -0
  262. data/ext/alphatau/native/sdl/include/SDL_config_android.h +177 -0
  263. data/ext/alphatau/native/sdl/include/SDL_config_iphoneos.h +201 -0
  264. data/ext/alphatau/native/sdl/include/SDL_config_macosx.h +240 -0
  265. data/ext/alphatau/native/sdl/include/SDL_config_minimal.h +85 -0
  266. data/ext/alphatau/native/sdl/include/SDL_config_pandora.h +133 -0
  267. data/ext/alphatau/native/sdl/include/SDL_config_psp.h +164 -0
  268. data/ext/alphatau/native/sdl/include/SDL_config_windows.h +254 -0
  269. data/ext/alphatau/native/sdl/include/SDL_config_winrt.h +235 -0
  270. data/ext/alphatau/native/sdl/include/SDL_config_wiz.h +146 -0
  271. data/ext/alphatau/native/sdl/include/SDL_copying.h +20 -0
  272. data/ext/alphatau/native/sdl/include/SDL_cpuinfo.h +188 -0
  273. data/ext/alphatau/native/sdl/include/SDL_egl.h +1673 -0
  274. data/ext/alphatau/native/sdl/include/SDL_endian.h +260 -0
  275. data/ext/alphatau/native/sdl/include/SDL_error.h +76 -0
  276. data/ext/alphatau/native/sdl/include/SDL_events.h +788 -0
  277. data/ext/alphatau/native/sdl/include/SDL_filesystem.h +136 -0
  278. data/ext/alphatau/native/sdl/include/SDL_gamecontroller.h +383 -0
  279. data/ext/alphatau/native/sdl/include/SDL_gesture.h +87 -0
  280. data/ext/alphatau/native/sdl/include/SDL_haptic.h +1227 -0
  281. data/ext/alphatau/native/sdl/include/SDL_hints.h +1106 -0
  282. data/ext/alphatau/native/sdl/include/SDL_joystick.h +395 -0
  283. data/ext/alphatau/native/sdl/include/SDL_keyboard.h +217 -0
  284. data/ext/alphatau/native/sdl/include/SDL_keycode.h +349 -0
  285. data/ext/alphatau/native/sdl/include/SDL_loadso.h +81 -0
  286. data/ext/alphatau/native/sdl/include/SDL_log.h +211 -0
  287. data/ext/alphatau/native/sdl/include/SDL_main.h +168 -0
  288. data/ext/alphatau/native/sdl/include/SDL_messagebox.h +144 -0
  289. data/ext/alphatau/native/sdl/include/SDL_mouse.h +302 -0
  290. data/ext/alphatau/native/sdl/include/SDL_mutex.h +251 -0
  291. data/ext/alphatau/native/sdl/include/SDL_name.h +33 -0
  292. data/ext/alphatau/native/sdl/include/SDL_opengl.h +2183 -0
  293. data/ext/alphatau/native/sdl/include/SDL_opengl_glext.h +11177 -0
  294. data/ext/alphatau/native/sdl/include/SDL_opengles.h +39 -0
  295. data/ext/alphatau/native/sdl/include/SDL_opengles2.h +52 -0
  296. data/ext/alphatau/native/sdl/include/SDL_opengles2_gl2.h +621 -0
  297. data/ext/alphatau/native/sdl/include/SDL_opengles2_gl2ext.h +2050 -0
  298. data/ext/alphatau/native/sdl/include/SDL_opengles2_gl2platform.h +30 -0
  299. data/ext/alphatau/native/sdl/include/SDL_opengles2_khrplatform.h +282 -0
  300. data/ext/alphatau/native/sdl/include/SDL_pixels.h +470 -0
  301. data/ext/alphatau/native/sdl/include/SDL_platform.h +198 -0
  302. data/ext/alphatau/native/sdl/include/SDL_power.h +75 -0
  303. data/ext/alphatau/native/sdl/include/SDL_quit.h +58 -0
  304. data/ext/alphatau/native/sdl/include/SDL_rect.h +148 -0
  305. data/ext/alphatau/native/sdl/include/SDL_render.h +931 -0
  306. data/ext/alphatau/native/sdl/include/SDL_revision.h +2 -0
  307. data/ext/alphatau/native/sdl/include/SDL_rwops.h +254 -0
  308. data/ext/alphatau/native/sdl/include/SDL_scancode.h +413 -0
  309. data/ext/alphatau/native/sdl/include/SDL_sensor.h +251 -0
  310. data/ext/alphatau/native/sdl/include/SDL_shape.h +144 -0
  311. data/ext/alphatau/native/sdl/include/SDL_stdinc.h +607 -0
  312. data/ext/alphatau/native/sdl/include/SDL_surface.h +546 -0
  313. data/ext/alphatau/native/sdl/include/SDL_system.h +279 -0
  314. data/ext/alphatau/native/sdl/include/SDL_syswm.h +324 -0
  315. data/ext/alphatau/native/sdl/include/SDL_test.h +69 -0
  316. data/ext/alphatau/native/sdl/include/SDL_test_assert.h +105 -0
  317. data/ext/alphatau/native/sdl/include/SDL_test_common.h +188 -0
  318. data/ext/alphatau/native/sdl/include/SDL_test_compare.h +69 -0
  319. data/ext/alphatau/native/sdl/include/SDL_test_crc32.h +124 -0
  320. data/ext/alphatau/native/sdl/include/SDL_test_font.h +81 -0
  321. data/ext/alphatau/native/sdl/include/SDL_test_fuzzer.h +384 -0
  322. data/ext/alphatau/native/sdl/include/SDL_test_harness.h +134 -0
  323. data/ext/alphatau/native/sdl/include/SDL_test_images.h +78 -0
  324. data/ext/alphatau/native/sdl/include/SDL_test_log.h +67 -0
  325. data/ext/alphatau/native/sdl/include/SDL_test_md5.h +129 -0
  326. data/ext/alphatau/native/sdl/include/SDL_test_memory.h +63 -0
  327. data/ext/alphatau/native/sdl/include/SDL_test_random.h +115 -0
  328. data/ext/alphatau/native/sdl/include/SDL_thread.h +309 -0
  329. data/ext/alphatau/native/sdl/include/SDL_timer.h +115 -0
  330. data/ext/alphatau/native/sdl/include/SDL_touch.h +86 -0
  331. data/ext/alphatau/native/sdl/include/SDL_types.h +29 -0
  332. data/ext/alphatau/native/sdl/include/SDL_version.h +162 -0
  333. data/ext/alphatau/native/sdl/include/SDL_video.h +1276 -0
  334. data/ext/alphatau/native/sdl/include/SDL_vulkan.h +278 -0
  335. data/ext/alphatau/native/sdl/include/begin_code.h +167 -0
  336. data/ext/alphatau/native/sdl/include/close_code.h +37 -0
  337. data/ext/alphatau/native/sdl/sdl2-config.cmake.in +11 -0
  338. data/ext/alphatau/native/sdl/sdl2-config.in +60 -0
  339. data/ext/alphatau/native/sdl/sdl2.m4 +234 -0
  340. data/ext/alphatau/native/sdl/sdl2.pc.in +15 -0
  341. data/ext/alphatau/native/sdl/src/SDL.c +514 -0
  342. data/ext/alphatau/native/sdl/src/SDL_assert.c +451 -0
  343. data/ext/alphatau/native/sdl/src/SDL_assert_c.h +24 -0
  344. data/ext/alphatau/native/sdl/src/SDL_dataqueue.c +339 -0
  345. data/ext/alphatau/native/sdl/src/SDL_dataqueue.h +55 -0
  346. data/ext/alphatau/native/sdl/src/SDL_error.c +319 -0
  347. data/ext/alphatau/native/sdl/src/SDL_error_c.h +65 -0
  348. data/ext/alphatau/native/sdl/src/SDL_hints.c +236 -0
  349. data/ext/alphatau/native/sdl/src/SDL_internal.h +52 -0
  350. data/ext/alphatau/native/sdl/src/SDL_log.c +450 -0
  351. data/ext/alphatau/native/sdl/src/atomic/SDL_atomic.c +303 -0
  352. data/ext/alphatau/native/sdl/src/atomic/SDL_spinlock.c +176 -0
  353. data/ext/alphatau/native/sdl/src/audio/SDL_audio.c +1647 -0
  354. data/ext/alphatau/native/sdl/src/audio/SDL_audio_c.h +79 -0
  355. data/ext/alphatau/native/sdl/src/audio/SDL_audiocvt.c +1673 -0
  356. data/ext/alphatau/native/sdl/src/audio/SDL_audiodev.c +124 -0
  357. data/ext/alphatau/native/sdl/src/audio/SDL_audiodev_c.h +38 -0
  358. data/ext/alphatau/native/sdl/src/audio/SDL_audiotypecvt.c +1430 -0
  359. data/ext/alphatau/native/sdl/src/audio/SDL_mixer.c +369 -0
  360. data/ext/alphatau/native/sdl/src/audio/SDL_sysaudio.h +211 -0
  361. data/ext/alphatau/native/sdl/src/audio/SDL_wave.c +694 -0
  362. data/ext/alphatau/native/sdl/src/audio/SDL_wave.h +77 -0
  363. data/ext/alphatau/native/sdl/src/audio/alsa/SDL_alsa_audio.c +990 -0
  364. data/ext/alphatau/native/sdl/src/audio/alsa/SDL_alsa_audio.h +48 -0
  365. data/ext/alphatau/native/sdl/src/audio/android/SDL_androidaudio.c +226 -0
  366. data/ext/alphatau/native/sdl/src/audio/android/SDL_androidaudio.h +42 -0
  367. data/ext/alphatau/native/sdl/src/audio/arts/SDL_artsaudio.c +365 -0
  368. data/ext/alphatau/native/sdl/src/audio/arts/SDL_artsaudio.h +53 -0
  369. data/ext/alphatau/native/sdl/src/audio/coreaudio/SDL_coreaudio.h +66 -0
  370. data/ext/alphatau/native/sdl/src/audio/coreaudio/SDL_coreaudio.m +861 -0
  371. data/ext/alphatau/native/sdl/src/audio/directsound/SDL_directsound.c +604 -0
  372. data/ext/alphatau/native/sdl/src/audio/directsound/SDL_directsound.h +47 -0
  373. data/ext/alphatau/native/sdl/src/audio/disk/SDL_diskaudio.c +207 -0
  374. data/ext/alphatau/native/sdl/src/audio/disk/SDL_diskaudio.h +41 -0
  375. data/ext/alphatau/native/sdl/src/audio/dsp/SDL_dspaudio.c +320 -0
  376. data/ext/alphatau/native/sdl/src/audio/dsp/SDL_dspaudio.h +43 -0
  377. data/ext/alphatau/native/sdl/src/audio/dummy/SDL_dummyaudio.c +65 -0
  378. data/ext/alphatau/native/sdl/src/audio/dummy/SDL_dummyaudio.h +41 -0
  379. data/ext/alphatau/native/sdl/src/audio/emscripten/SDL_emscriptenaudio.c +379 -0
  380. data/ext/alphatau/native/sdl/src/audio/emscripten/SDL_emscriptenaudio.h +38 -0
  381. data/ext/alphatau/native/sdl/src/audio/esd/SDL_esdaudio.c +335 -0
  382. data/ext/alphatau/native/sdl/src/audio/esd/SDL_esdaudio.h +51 -0
  383. data/ext/alphatau/native/sdl/src/audio/fusionsound/SDL_fsaudio.c +328 -0
  384. data/ext/alphatau/native/sdl/src/audio/fusionsound/SDL_fsaudio.h +50 -0
  385. data/ext/alphatau/native/sdl/src/audio/haiku/SDL_haikuaudio.cc +248 -0
  386. data/ext/alphatau/native/sdl/src/audio/haiku/SDL_haikuaudio.h +38 -0
  387. data/ext/alphatau/native/sdl/src/audio/jack/SDL_jackaudio.c +446 -0
  388. data/ext/alphatau/native/sdl/src/audio/jack/SDL_jackaudio.h +41 -0
  389. data/ext/alphatau/native/sdl/src/audio/nacl/SDL_naclaudio.c +165 -0
  390. data/ext/alphatau/native/sdl/src/audio/nacl/SDL_naclaudio.h +43 -0
  391. data/ext/alphatau/native/sdl/src/audio/nas/SDL_nasaudio.c +463 -0
  392. data/ext/alphatau/native/sdl/src/audio/nas/SDL_nasaudio.h +56 -0
  393. data/ext/alphatau/native/sdl/src/audio/netbsd/SDL_netbsdaudio.c +412 -0
  394. data/ext/alphatau/native/sdl/src/audio/netbsd/SDL_netbsdaudio.h +48 -0
  395. data/ext/alphatau/native/sdl/src/audio/paudio/SDL_paudio.c +516 -0
  396. data/ext/alphatau/native/sdl/src/audio/paudio/SDL_paudio.h +48 -0
  397. data/ext/alphatau/native/sdl/src/audio/psp/SDL_pspaudio.c +181 -0
  398. data/ext/alphatau/native/sdl/src/audio/psp/SDL_pspaudio.h +45 -0
  399. data/ext/alphatau/native/sdl/src/audio/pulseaudio/SDL_pulseaudio.c +782 -0
  400. data/ext/alphatau/native/sdl/src/audio/pulseaudio/SDL_pulseaudio.h +52 -0
  401. data/ext/alphatau/native/sdl/src/audio/qsa/SDL_qsa_audio.c +666 -0
  402. data/ext/alphatau/native/sdl/src/audio/qsa/SDL_qsa_audio.h +57 -0
  403. data/ext/alphatau/native/sdl/src/audio/sndio/SDL_sndioaudio.c +382 -0
  404. data/ext/alphatau/native/sdl/src/audio/sndio/SDL_sndioaudio.h +49 -0
  405. data/ext/alphatau/native/sdl/src/audio/sun/SDL_sunaudio.c +419 -0
  406. data/ext/alphatau/native/sdl/src/audio/sun/SDL_sunaudio.h +47 -0
  407. data/ext/alphatau/native/sdl/src/audio/wasapi/SDL_wasapi.c +779 -0
  408. data/ext/alphatau/native/sdl/src/audio/wasapi/SDL_wasapi.h +85 -0
  409. data/ext/alphatau/native/sdl/src/audio/wasapi/SDL_wasapi_win32.c +417 -0
  410. data/ext/alphatau/native/sdl/src/audio/wasapi/SDL_wasapi_winrt.cpp +276 -0
  411. data/ext/alphatau/native/sdl/src/audio/winmm/SDL_winmm.c +457 -0
  412. data/ext/alphatau/native/sdl/src/audio/winmm/SDL_winmm.h +45 -0
  413. data/ext/alphatau/native/sdl/src/core/android/SDL_android.c +2285 -0
  414. data/ext/alphatau/native/sdl/src/core/android/SDL_android.h +122 -0
  415. data/ext/alphatau/native/sdl/src/core/android/keyinfotable.h +175 -0
  416. data/ext/alphatau/native/sdl/src/core/linux/SDL_dbus.c +347 -0
  417. data/ext/alphatau/native/sdl/src/core/linux/SDL_dbus.h +97 -0
  418. data/ext/alphatau/native/sdl/src/core/linux/SDL_evdev.c +698 -0
  419. data/ext/alphatau/native/sdl/src/core/linux/SDL_evdev.h +39 -0
  420. data/ext/alphatau/native/sdl/src/core/linux/SDL_evdev_kbd.c +840 -0
  421. data/ext/alphatau/native/sdl/src/core/linux/SDL_evdev_kbd.h +29 -0
  422. data/ext/alphatau/native/sdl/src/core/linux/SDL_evdev_kbd_default_accents.h +284 -0
  423. data/ext/alphatau/native/sdl/src/core/linux/SDL_evdev_kbd_default_keymap.h +4763 -0
  424. data/ext/alphatau/native/sdl/src/core/linux/SDL_fcitx.c +373 -0
  425. data/ext/alphatau/native/sdl/src/core/linux/SDL_fcitx.h +40 -0
  426. data/ext/alphatau/native/sdl/src/core/linux/SDL_ibus.c +584 -0
  427. data/ext/alphatau/native/sdl/src/core/linux/SDL_ibus.h +58 -0
  428. data/ext/alphatau/native/sdl/src/core/linux/SDL_ime.c +152 -0
  429. data/ext/alphatau/native/sdl/src/core/linux/SDL_ime.h +40 -0
  430. data/ext/alphatau/native/sdl/src/core/linux/SDL_udev.c +553 -0
  431. data/ext/alphatau/native/sdl/src/core/linux/SDL_udev.h +121 -0
  432. data/ext/alphatau/native/sdl/src/core/unix/SDL_poll.c +87 -0
  433. data/ext/alphatau/native/sdl/src/core/unix/SDL_poll.h +34 -0
  434. data/ext/alphatau/native/sdl/src/core/windows/SDL_directx.h +111 -0
  435. data/ext/alphatau/native/sdl/src/core/windows/SDL_windows.c +233 -0
  436. data/ext/alphatau/native/sdl/src/core/windows/SDL_windows.h +75 -0
  437. data/ext/alphatau/native/sdl/src/core/windows/SDL_xinput.c +139 -0
  438. data/ext/alphatau/native/sdl/src/core/windows/SDL_xinput.h +177 -0
  439. data/ext/alphatau/native/sdl/src/core/winrt/SDL_winrtapp_common.cpp +66 -0
  440. data/ext/alphatau/native/sdl/src/core/winrt/SDL_winrtapp_common.h +31 -0
  441. data/ext/alphatau/native/sdl/src/core/winrt/SDL_winrtapp_direct3d.cpp +855 -0
  442. data/ext/alphatau/native/sdl/src/core/winrt/SDL_winrtapp_direct3d.h +92 -0
  443. data/ext/alphatau/native/sdl/src/core/winrt/SDL_winrtapp_xaml.cpp +160 -0
  444. data/ext/alphatau/native/sdl/src/core/winrt/SDL_winrtapp_xaml.h +33 -0
  445. data/ext/alphatau/native/sdl/src/cpuinfo/SDL_cpuinfo.c +855 -0
  446. data/ext/alphatau/native/sdl/src/cpuinfo/SDL_simd.h +88 -0
  447. data/ext/alphatau/native/sdl/src/dynapi/SDL_dynapi.c +331 -0
  448. data/ext/alphatau/native/sdl/src/dynapi/SDL_dynapi.h +67 -0
  449. data/ext/alphatau/native/sdl/src/dynapi/SDL_dynapi_overrides.h +698 -0
  450. data/ext/alphatau/native/sdl/src/dynapi/SDL_dynapi_procs.h +740 -0
  451. data/ext/alphatau/native/sdl/src/dynapi/gendynapi.pl +141 -0
  452. data/ext/alphatau/native/sdl/src/events/SDL_clipboardevents.c +46 -0
  453. data/ext/alphatau/native/sdl/src/events/SDL_clipboardevents_c.h +30 -0
  454. data/ext/alphatau/native/sdl/src/events/SDL_displayevents.c +60 -0
  455. data/ext/alphatau/native/sdl/src/events/SDL_displayevents_c.h +30 -0
  456. data/ext/alphatau/native/sdl/src/events/SDL_dropevents.c +98 -0
  457. data/ext/alphatau/native/sdl/src/events/SDL_dropevents_c.h +32 -0
  458. data/ext/alphatau/native/sdl/src/events/SDL_events.c +976 -0
  459. data/ext/alphatau/native/sdl/src/events/SDL_events_c.h +52 -0
  460. data/ext/alphatau/native/sdl/src/events/SDL_gesture.c +700 -0
  461. data/ext/alphatau/native/sdl/src/events/SDL_gesture_c.h +35 -0
  462. data/ext/alphatau/native/sdl/src/events/SDL_keyboard.c +1033 -0
  463. data/ext/alphatau/native/sdl/src/events/SDL_keyboard_c.h +70 -0
  464. data/ext/alphatau/native/sdl/src/events/SDL_mouse.c +1031 -0
  465. data/ext/alphatau/native/sdl/src/events/SDL_mouse_c.h +141 -0
  466. data/ext/alphatau/native/sdl/src/events/SDL_quit.c +152 -0
  467. data/ext/alphatau/native/sdl/src/events/SDL_sysevents.h +36 -0
  468. data/ext/alphatau/native/sdl/src/events/SDL_touch.c +375 -0
  469. data/ext/alphatau/native/sdl/src/events/SDL_touch_c.h +61 -0
  470. data/ext/alphatau/native/sdl/src/events/SDL_windowevents.c +227 -0
  471. data/ext/alphatau/native/sdl/src/events/SDL_windowevents_c.h +31 -0
  472. data/ext/alphatau/native/sdl/src/events/blank_cursor.h +33 -0
  473. data/ext/alphatau/native/sdl/src/events/default_cursor.h +114 -0
  474. data/ext/alphatau/native/sdl/src/events/scancodes_darwin.h +159 -0
  475. data/ext/alphatau/native/sdl/src/events/scancodes_linux.h +263 -0
  476. data/ext/alphatau/native/sdl/src/events/scancodes_windows.h +55 -0
  477. data/ext/alphatau/native/sdl/src/events/scancodes_xfree86.h +506 -0
  478. data/ext/alphatau/native/sdl/src/file/SDL_rwops.c +867 -0
  479. data/ext/alphatau/native/sdl/src/file/cocoa/SDL_rwopsbundlesupport.h +30 -0
  480. data/ext/alphatau/native/sdl/src/file/cocoa/SDL_rwopsbundlesupport.m +62 -0
  481. data/ext/alphatau/native/sdl/src/filesystem/android/SDL_sysfilesystem.c +62 -0
  482. data/ext/alphatau/native/sdl/src/filesystem/cocoa/SDL_sysfilesystem.m +117 -0
  483. data/ext/alphatau/native/sdl/src/filesystem/dummy/SDL_sysfilesystem.c +47 -0
  484. data/ext/alphatau/native/sdl/src/filesystem/emscripten/SDL_sysfilesystem.c +81 -0
  485. data/ext/alphatau/native/sdl/src/filesystem/haiku/SDL_sysfilesystem.cc +110 -0
  486. data/ext/alphatau/native/sdl/src/filesystem/nacl/SDL_sysfilesystem.c +43 -0
  487. data/ext/alphatau/native/sdl/src/filesystem/unix/SDL_sysfilesystem.c +250 -0
  488. data/ext/alphatau/native/sdl/src/filesystem/windows/SDL_sysfilesystem.c +192 -0
  489. data/ext/alphatau/native/sdl/src/filesystem/winrt/SDL_sysfilesystem.cpp +233 -0
  490. data/ext/alphatau/native/sdl/src/haptic/SDL_haptic.c +850 -0
  491. data/ext/alphatau/native/sdl/src/haptic/SDL_haptic_c.h +25 -0
  492. data/ext/alphatau/native/sdl/src/haptic/SDL_syshaptic.h +208 -0
  493. data/ext/alphatau/native/sdl/src/haptic/android/SDL_syshaptic.c +358 -0
  494. data/ext/alphatau/native/sdl/src/haptic/android/SDL_syshaptic_c.h +12 -0
  495. data/ext/alphatau/native/sdl/src/haptic/darwin/SDL_syshaptic.c +1417 -0
  496. data/ext/alphatau/native/sdl/src/haptic/darwin/SDL_syshaptic_c.h +26 -0
  497. data/ext/alphatau/native/sdl/src/haptic/dummy/SDL_syshaptic.c +186 -0
  498. data/ext/alphatau/native/sdl/src/haptic/linux/SDL_syshaptic.c +1165 -0
  499. data/ext/alphatau/native/sdl/src/haptic/windows/SDL_dinputhaptic.c +1305 -0
  500. data/ext/alphatau/native/sdl/src/haptic/windows/SDL_dinputhaptic_c.h +47 -0
  501. data/ext/alphatau/native/sdl/src/haptic/windows/SDL_windowshaptic.c +456 -0
  502. data/ext/alphatau/native/sdl/src/haptic/windows/SDL_windowshaptic_c.h +88 -0
  503. data/ext/alphatau/native/sdl/src/haptic/windows/SDL_xinputhaptic.c +487 -0
  504. data/ext/alphatau/native/sdl/src/haptic/windows/SDL_xinputhaptic_c.h +47 -0
  505. data/ext/alphatau/native/sdl/src/hidapi/AUTHORS.txt +16 -0
  506. data/ext/alphatau/native/sdl/src/hidapi/HACKING.txt +15 -0
  507. data/ext/alphatau/native/sdl/src/hidapi/LICENSE-bsd.txt +26 -0
  508. data/ext/alphatau/native/sdl/src/hidapi/LICENSE-gpl3.txt +674 -0
  509. data/ext/alphatau/native/sdl/src/hidapi/LICENSE-orig.txt +9 -0
  510. data/ext/alphatau/native/sdl/src/hidapi/LICENSE.txt +13 -0
  511. data/ext/alphatau/native/sdl/src/hidapi/Makefile.am +85 -0
  512. data/ext/alphatau/native/sdl/src/hidapi/README.txt +339 -0
  513. data/ext/alphatau/native/sdl/src/hidapi/android/hid.cpp +1079 -0
  514. data/ext/alphatau/native/sdl/src/hidapi/android/jni/Android.mk +16 -0
  515. data/ext/alphatau/native/sdl/src/hidapi/android/jni/Application.mk +2 -0
  516. data/ext/alphatau/native/sdl/src/hidapi/android/project.properties +14 -0
  517. data/ext/alphatau/native/sdl/src/hidapi/bootstrap +2 -0
  518. data/ext/alphatau/native/sdl/src/hidapi/configure.ac +236 -0
  519. data/ext/alphatau/native/sdl/src/hidapi/doxygen/Doxyfile +1630 -0
  520. data/ext/alphatau/native/sdl/src/hidapi/hidapi/hidapi.h +398 -0
  521. data/ext/alphatau/native/sdl/src/hidapi/hidtest/Makefile.am +20 -0
  522. data/ext/alphatau/native/sdl/src/hidapi/hidtest/hidtest.cpp +194 -0
  523. data/ext/alphatau/native/sdl/src/hidapi/ios/Makefile-manual +32 -0
  524. data/ext/alphatau/native/sdl/src/hidapi/ios/Makefile.am +9 -0
  525. data/ext/alphatau/native/sdl/src/hidapi/ios/hid.m +909 -0
  526. data/ext/alphatau/native/sdl/src/hidapi/libusb/Makefile-manual +18 -0
  527. data/ext/alphatau/native/sdl/src/hidapi/libusb/Makefile.am +27 -0
  528. data/ext/alphatau/native/sdl/src/hidapi/libusb/Makefile.freebsd +46 -0
  529. data/ext/alphatau/native/sdl/src/hidapi/libusb/Makefile.linux +49 -0
  530. data/ext/alphatau/native/sdl/src/hidapi/libusb/hid.c +1615 -0
  531. data/ext/alphatau/native/sdl/src/hidapi/libusb/hidusb.cpp +3 -0
  532. data/ext/alphatau/native/sdl/src/hidapi/linux/Makefile-manual +49 -0
  533. data/ext/alphatau/native/sdl/src/hidapi/linux/Makefile.am +10 -0
  534. data/ext/alphatau/native/sdl/src/hidapi/linux/README.txt +59 -0
  535. data/ext/alphatau/native/sdl/src/hidapi/linux/hid.c +893 -0
  536. data/ext/alphatau/native/sdl/src/hidapi/linux/hid.cpp +333 -0
  537. data/ext/alphatau/native/sdl/src/hidapi/linux/hidraw.cpp +3 -0
  538. data/ext/alphatau/native/sdl/src/hidapi/m4/ax_pthread.m4 +309 -0
  539. data/ext/alphatau/native/sdl/src/hidapi/m4/pkg.m4 +157 -0
  540. data/ext/alphatau/native/sdl/src/hidapi/mac/Makefile-manual +32 -0
  541. data/ext/alphatau/native/sdl/src/hidapi/mac/Makefile.am +9 -0
  542. data/ext/alphatau/native/sdl/src/hidapi/mac/hid.c +1186 -0
  543. data/ext/alphatau/native/sdl/src/hidapi/pc/hidapi-hidraw.pc.in +10 -0
  544. data/ext/alphatau/native/sdl/src/hidapi/pc/hidapi-libusb.pc.in +10 -0
  545. data/ext/alphatau/native/sdl/src/hidapi/pc/hidapi.pc.in +10 -0
  546. data/ext/alphatau/native/sdl/src/hidapi/testgui/Makefile-manual +26 -0
  547. data/ext/alphatau/native/sdl/src/hidapi/testgui/Makefile.am +43 -0
  548. data/ext/alphatau/native/sdl/src/hidapi/testgui/Makefile.freebsd +33 -0
  549. data/ext/alphatau/native/sdl/src/hidapi/testgui/Makefile.linux +32 -0
  550. data/ext/alphatau/native/sdl/src/hidapi/testgui/Makefile.mac +46 -0
  551. data/ext/alphatau/native/sdl/src/hidapi/testgui/Makefile.mingw +32 -0
  552. data/ext/alphatau/native/sdl/src/hidapi/testgui/TestGUI.app.in/Contents/Info.plist +28 -0
  553. data/ext/alphatau/native/sdl/src/hidapi/testgui/TestGUI.app.in/Contents/PkgInfo +1 -0
  554. data/ext/alphatau/native/sdl/src/hidapi/testgui/TestGUI.app.in/Contents/Resources/English.lproj/InfoPlist.strings +0 -0
  555. data/ext/alphatau/native/sdl/src/hidapi/testgui/TestGUI.app.in/Contents/Resources/Signal11.icns +0 -0
  556. data/ext/alphatau/native/sdl/src/hidapi/testgui/copy_to_bundle.sh +97 -0
  557. data/ext/alphatau/native/sdl/src/hidapi/testgui/mac_support.cpp +134 -0
  558. data/ext/alphatau/native/sdl/src/hidapi/testgui/mac_support.h +17 -0
  559. data/ext/alphatau/native/sdl/src/hidapi/testgui/mac_support_cocoa.m +94 -0
  560. data/ext/alphatau/native/sdl/src/hidapi/testgui/start.sh +2 -0
  561. data/ext/alphatau/native/sdl/src/hidapi/testgui/test.cpp +532 -0
  562. data/ext/alphatau/native/sdl/src/hidapi/testgui/testgui.sln +20 -0
  563. data/ext/alphatau/native/sdl/src/hidapi/testgui/testgui.vcproj +217 -0
  564. data/ext/alphatau/native/sdl/src/hidapi/udev/99-hid.rules +33 -0
  565. data/ext/alphatau/native/sdl/src/hidapi/windows/Makefile-manual +14 -0
  566. data/ext/alphatau/native/sdl/src/hidapi/windows/Makefile.am +16 -0
  567. data/ext/alphatau/native/sdl/src/hidapi/windows/Makefile.mingw +35 -0
  568. data/ext/alphatau/native/sdl/src/hidapi/windows/ddk_build/hidapi.def +17 -0
  569. data/ext/alphatau/native/sdl/src/hidapi/windows/ddk_build/makefile +49 -0
  570. data/ext/alphatau/native/sdl/src/hidapi/windows/ddk_build/sources +23 -0
  571. data/ext/alphatau/native/sdl/src/hidapi/windows/hid.c +983 -0
  572. data/ext/alphatau/native/sdl/src/hidapi/windows/hidapi.sln +29 -0
  573. data/ext/alphatau/native/sdl/src/hidapi/windows/hidapi.vcproj +201 -0
  574. data/ext/alphatau/native/sdl/src/hidapi/windows/hidtest.vcproj +196 -0
  575. data/ext/alphatau/native/sdl/src/joystick/SDL_gamecontroller.c +2066 -0
  576. data/ext/alphatau/native/sdl/src/joystick/SDL_gamecontrollerdb.h +583 -0
  577. data/ext/alphatau/native/sdl/src/joystick/SDL_joystick.c +1547 -0
  578. data/ext/alphatau/native/sdl/src/joystick/SDL_joystick_c.h +94 -0
  579. data/ext/alphatau/native/sdl/src/joystick/SDL_sysjoystick.h +153 -0
  580. data/ext/alphatau/native/sdl/src/joystick/android/SDL_sysjoystick.c +703 -0
  581. data/ext/alphatau/native/sdl/src/joystick/android/SDL_sysjoystick_c.h +59 -0
  582. data/ext/alphatau/native/sdl/src/joystick/bsd/SDL_sysjoystick.c +701 -0
  583. data/ext/alphatau/native/sdl/src/joystick/controller_type.h +457 -0
  584. data/ext/alphatau/native/sdl/src/joystick/darwin/SDL_sysjoystick.c +1012 -0
  585. data/ext/alphatau/native/sdl/src/joystick/darwin/SDL_sysjoystick_c.h +79 -0
  586. data/ext/alphatau/native/sdl/src/joystick/dummy/SDL_sysjoystick.c +113 -0
  587. data/ext/alphatau/native/sdl/src/joystick/emscripten/SDL_sysjoystick.c +406 -0
  588. data/ext/alphatau/native/sdl/src/joystick/emscripten/SDL_sysjoystick_c.h +52 -0
  589. data/ext/alphatau/native/sdl/src/joystick/haiku/SDL_haikujoystick.cc +272 -0
  590. data/ext/alphatau/native/sdl/src/joystick/hidapi/SDL_hidapi_ps4.c +545 -0
  591. data/ext/alphatau/native/sdl/src/joystick/hidapi/SDL_hidapi_switch.c +905 -0
  592. data/ext/alphatau/native/sdl/src/joystick/hidapi/SDL_hidapi_xbox360.c +461 -0
  593. data/ext/alphatau/native/sdl/src/joystick/hidapi/SDL_hidapi_xboxone.c +318 -0
  594. data/ext/alphatau/native/sdl/src/joystick/hidapi/SDL_hidapijoystick.c +1021 -0
  595. data/ext/alphatau/native/sdl/src/joystick/hidapi/SDL_hidapijoystick_c.h +72 -0
  596. data/ext/alphatau/native/sdl/src/joystick/iphoneos/SDL_sysjoystick.m +727 -0
  597. data/ext/alphatau/native/sdl/src/joystick/iphoneos/SDL_sysjoystick_c.h +57 -0
  598. data/ext/alphatau/native/sdl/src/joystick/linux/SDL_sysjoystick.c +1116 -0
  599. data/ext/alphatau/native/sdl/src/joystick/linux/SDL_sysjoystick_c.h +64 -0
  600. data/ext/alphatau/native/sdl/src/joystick/psp/SDL_sysjoystick.c +264 -0
  601. data/ext/alphatau/native/sdl/src/joystick/sort_controllers.py +78 -0
  602. data/ext/alphatau/native/sdl/src/joystick/steam/SDL_steamcontroller.c +52 -0
  603. data/ext/alphatau/native/sdl/src/joystick/steam/SDL_steamcontroller.h +33 -0
  604. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_dinputjoystick.c +1155 -0
  605. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_dinputjoystick_c.h +31 -0
  606. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_mmjoystick.c +452 -0
  607. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_windowsjoystick.c +558 -0
  608. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_windowsjoystick_c.h +95 -0
  609. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_xinputjoystick.c +558 -0
  610. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_xinputjoystick_c.h +34 -0
  611. data/ext/alphatau/native/sdl/src/libm/e_atan2.c +134 -0
  612. data/ext/alphatau/native/sdl/src/libm/e_exp.c +187 -0
  613. data/ext/alphatau/native/sdl/src/libm/e_fmod.c +144 -0
  614. data/ext/alphatau/native/sdl/src/libm/e_log.c +152 -0
  615. data/ext/alphatau/native/sdl/src/libm/e_log10.c +106 -0
  616. data/ext/alphatau/native/sdl/src/libm/e_pow.c +343 -0
  617. data/ext/alphatau/native/sdl/src/libm/e_rem_pio2.c +161 -0
  618. data/ext/alphatau/native/sdl/src/libm/e_sqrt.c +457 -0
  619. data/ext/alphatau/native/sdl/src/libm/k_cos.c +82 -0
  620. data/ext/alphatau/native/sdl/src/libm/k_rem_pio2.c +317 -0
  621. data/ext/alphatau/native/sdl/src/libm/k_sin.c +65 -0
  622. data/ext/alphatau/native/sdl/src/libm/k_tan.c +118 -0
  623. data/ext/alphatau/native/sdl/src/libm/math_libm.h +41 -0
  624. data/ext/alphatau/native/sdl/src/libm/math_private.h +227 -0
  625. data/ext/alphatau/native/sdl/src/libm/s_atan.c +114 -0
  626. data/ext/alphatau/native/sdl/src/libm/s_copysign.c +29 -0
  627. data/ext/alphatau/native/sdl/src/libm/s_cos.c +73 -0
  628. data/ext/alphatau/native/sdl/src/libm/s_fabs.c +29 -0
  629. data/ext/alphatau/native/sdl/src/libm/s_floor.c +71 -0
  630. data/ext/alphatau/native/sdl/src/libm/s_scalbn.c +69 -0
  631. data/ext/alphatau/native/sdl/src/libm/s_sin.c +73 -0
  632. data/ext/alphatau/native/sdl/src/libm/s_tan.c +67 -0
  633. data/ext/alphatau/native/sdl/src/loadso/dlopen/SDL_sysloadso.c +88 -0
  634. data/ext/alphatau/native/sdl/src/loadso/dummy/SDL_sysloadso.c +54 -0
  635. data/ext/alphatau/native/sdl/src/loadso/windows/SDL_sysloadso.c +80 -0
  636. data/ext/alphatau/native/sdl/src/main/android/SDL_android_main.c +7 -0
  637. data/ext/alphatau/native/sdl/src/main/dummy/SDL_dummy_main.c +28 -0
  638. data/ext/alphatau/native/sdl/src/main/haiku/SDL_BApp.h +399 -0
  639. data/ext/alphatau/native/sdl/src/main/haiku/SDL_BeApp.cc +157 -0
  640. data/ext/alphatau/native/sdl/src/main/haiku/SDL_BeApp.h +38 -0
  641. data/ext/alphatau/native/sdl/src/main/nacl/SDL_nacl_main.c +93 -0
  642. data/ext/alphatau/native/sdl/src/main/psp/SDL_psp_main.c +70 -0
  643. data/ext/alphatau/native/sdl/src/main/windows/SDL_windows_main.c +207 -0
  644. data/ext/alphatau/native/sdl/src/main/windows/version.rc +38 -0
  645. data/ext/alphatau/native/sdl/src/main/winrt/SDL2-WinRTResource_BlankCursor.cur +0 -0
  646. data/ext/alphatau/native/sdl/src/main/winrt/SDL2-WinRTResources.rc +3 -0
  647. data/ext/alphatau/native/sdl/src/main/winrt/SDL_winrt_main_NonXAML.cpp +54 -0
  648. data/ext/alphatau/native/sdl/src/power/SDL_power.c +116 -0
  649. data/ext/alphatau/native/sdl/src/power/SDL_syspower.h +47 -0
  650. data/ext/alphatau/native/sdl/src/power/android/SDL_syspower.c +64 -0
  651. data/ext/alphatau/native/sdl/src/power/emscripten/SDL_syspower.c +62 -0
  652. data/ext/alphatau/native/sdl/src/power/haiku/SDL_syspower.c +128 -0
  653. data/ext/alphatau/native/sdl/src/power/linux/SDL_syspower.c +642 -0
  654. data/ext/alphatau/native/sdl/src/power/macosx/SDL_syspower.c +192 -0
  655. data/ext/alphatau/native/sdl/src/power/psp/SDL_syspower.c +68 -0
  656. data/ext/alphatau/native/sdl/src/power/uikit/SDL_syspower.h +32 -0
  657. data/ext/alphatau/native/sdl/src/power/uikit/SDL_syspower.m +113 -0
  658. data/ext/alphatau/native/sdl/src/power/windows/SDL_syspower.c +76 -0
  659. data/ext/alphatau/native/sdl/src/power/winrt/SDL_syspower.cpp +44 -0
  660. data/ext/alphatau/native/sdl/src/render/SDL_d3dmath.c +136 -0
  661. data/ext/alphatau/native/sdl/src/render/SDL_d3dmath.h +72 -0
  662. data/ext/alphatau/native/sdl/src/render/SDL_render.c +2292 -0
  663. data/ext/alphatau/native/sdl/src/render/SDL_sysrender.h +214 -0
  664. data/ext/alphatau/native/sdl/src/render/SDL_yuv_sw.c +414 -0
  665. data/ext/alphatau/native/sdl/src/render/SDL_yuv_sw_c.h +67 -0
  666. data/ext/alphatau/native/sdl/src/render/direct3d/SDL_render_d3d.c +1813 -0
  667. data/ext/alphatau/native/sdl/src/render/direct3d/SDL_shaders_d3d.c +274 -0
  668. data/ext/alphatau/native/sdl/src/render/direct3d/SDL_shaders_d3d.h +34 -0
  669. data/ext/alphatau/native/sdl/src/render/direct3d11/SDL_render_d3d11.c +2559 -0
  670. data/ext/alphatau/native/sdl/src/render/direct3d11/SDL_render_winrt.cpp +116 -0
  671. data/ext/alphatau/native/sdl/src/render/direct3d11/SDL_render_winrt.h +40 -0
  672. data/ext/alphatau/native/sdl/src/render/direct3d11/SDL_shaders_d3d11.c +1957 -0
  673. data/ext/alphatau/native/sdl/src/render/direct3d11/SDL_shaders_d3d11.h +43 -0
  674. data/ext/alphatau/native/sdl/src/render/metal/SDL_render_metal.m +1428 -0
  675. data/ext/alphatau/native/sdl/src/render/metal/SDL_shaders_metal.metal +109 -0
  676. data/ext/alphatau/native/sdl/src/render/metal/SDL_shaders_metal_ios.h +1899 -0
  677. data/ext/alphatau/native/sdl/src/render/metal/SDL_shaders_metal_osx.h +1903 -0
  678. data/ext/alphatau/native/sdl/src/render/metal/build-metal-shaders.sh +18 -0
  679. data/ext/alphatau/native/sdl/src/render/opengl/SDL_glfuncs.h +478 -0
  680. data/ext/alphatau/native/sdl/src/render/opengl/SDL_render_gl.c +1678 -0
  681. data/ext/alphatau/native/sdl/src/render/opengl/SDL_shaders_gl.c +524 -0
  682. data/ext/alphatau/native/sdl/src/render/opengl/SDL_shaders_gl.h +47 -0
  683. data/ext/alphatau/native/sdl/src/render/opengles/SDL_glesfuncs.h +65 -0
  684. data/ext/alphatau/native/sdl/src/render/opengles/SDL_render_gles.c +1278 -0
  685. data/ext/alphatau/native/sdl/src/render/opengles2/SDL_gles2funcs.h +80 -0
  686. data/ext/alphatau/native/sdl/src/render/opengles2/SDL_render_gles2.c +2256 -0
  687. data/ext/alphatau/native/sdl/src/render/opengles2/SDL_shaders_gles2.c +569 -0
  688. data/ext/alphatau/native/sdl/src/render/opengles2/SDL_shaders_gles2.h +70 -0
  689. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/Makefile +41 -0
  690. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/convert_gl2_h_into_gles2_stubcall_overs_c.sno +181 -0
  691. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/convert_gl2_h_into_gles2_stubcall_overs_h.sno +116 -0
  692. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/convert_gl2_h_into_gles2funcs_h.sno +82 -0
  693. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/convert_gles2funcs_into_gles2_define_overs_h.sno +42 -0
  694. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/gl2.h +686 -0
  695. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/readme.txt +70 -0
  696. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/testgles2.c +725 -0
  697. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/triangle.c +147 -0
  698. data/ext/alphatau/native/sdl/src/render/psp/SDL_render_psp.c +1016 -0
  699. data/ext/alphatau/native/sdl/src/render/software/SDL_blendfillrect.c +336 -0
  700. data/ext/alphatau/native/sdl/src/render/software/SDL_blendfillrect.h +27 -0
  701. data/ext/alphatau/native/sdl/src/render/software/SDL_blendline.c +777 -0
  702. data/ext/alphatau/native/sdl/src/render/software/SDL_blendline.h +27 -0
  703. data/ext/alphatau/native/sdl/src/render/software/SDL_blendpoint.c +341 -0
  704. data/ext/alphatau/native/sdl/src/render/software/SDL_blendpoint.h +27 -0
  705. data/ext/alphatau/native/sdl/src/render/software/SDL_draw.h +576 -0
  706. data/ext/alphatau/native/sdl/src/render/software/SDL_drawline.c +209 -0
  707. data/ext/alphatau/native/sdl/src/render/software/SDL_drawline.h +27 -0
  708. data/ext/alphatau/native/sdl/src/render/software/SDL_drawpoint.c +114 -0
  709. data/ext/alphatau/native/sdl/src/render/software/SDL_drawpoint.h +27 -0
  710. data/ext/alphatau/native/sdl/src/render/software/SDL_render_sw.c +882 -0
  711. data/ext/alphatau/native/sdl/src/render/software/SDL_render_sw_c.h +24 -0
  712. data/ext/alphatau/native/sdl/src/render/software/SDL_rotate.c +530 -0
  713. data/ext/alphatau/native/sdl/src/render/software/SDL_rotate.h +28 -0
  714. data/ext/alphatau/native/sdl/src/sensor/SDL_sensor.c +546 -0
  715. data/ext/alphatau/native/sdl/src/sensor/SDL_sensor_c.h +38 -0
  716. data/ext/alphatau/native/sdl/src/sensor/SDL_syssensor.h +99 -0
  717. data/ext/alphatau/native/sdl/src/sensor/android/SDL_androidsensor.c +211 -0
  718. data/ext/alphatau/native/sdl/src/sensor/android/SDL_androidsensor.h +31 -0
  719. data/ext/alphatau/native/sdl/src/sensor/coremotion/SDL_coremotionsensor.h +30 -0
  720. data/ext/alphatau/native/sdl/src/sensor/coremotion/SDL_coremotionsensor.m +234 -0
  721. data/ext/alphatau/native/sdl/src/sensor/dummy/SDL_dummysensor.c +110 -0
  722. data/ext/alphatau/native/sdl/src/sensor/dummy/SDL_dummysensor.h +23 -0
  723. data/ext/alphatau/native/sdl/src/stdlib/SDL_getenv.c +315 -0
  724. data/ext/alphatau/native/sdl/src/stdlib/SDL_iconv.c +934 -0
  725. data/ext/alphatau/native/sdl/src/stdlib/SDL_malloc.c +5376 -0
  726. data/ext/alphatau/native/sdl/src/stdlib/SDL_qsort.c +534 -0
  727. data/ext/alphatau/native/sdl/src/stdlib/SDL_stdlib.c +1155 -0
  728. data/ext/alphatau/native/sdl/src/stdlib/SDL_string.c +1737 -0
  729. data/ext/alphatau/native/sdl/src/test/SDL_test_assert.c +152 -0
  730. data/ext/alphatau/native/sdl/src/test/SDL_test_common.c +1826 -0
  731. data/ext/alphatau/native/sdl/src/test/SDL_test_compare.c +117 -0
  732. data/ext/alphatau/native/sdl/src/test/SDL_test_crc32.c +166 -0
  733. data/ext/alphatau/native/sdl/src/test/SDL_test_font.c +3250 -0
  734. data/ext/alphatau/native/sdl/src/test/SDL_test_fuzzer.c +534 -0
  735. data/ext/alphatau/native/sdl/src/test/SDL_test_harness.c +683 -0
  736. data/ext/alphatau/native/sdl/src/test/SDL_test_imageBlit.c +1559 -0
  737. data/ext/alphatau/native/sdl/src/test/SDL_test_imageBlitBlend.c +2845 -0
  738. data/ext/alphatau/native/sdl/src/test/SDL_test_imageFace.c +247 -0
  739. data/ext/alphatau/native/sdl/src/test/SDL_test_imagePrimitives.c +514 -0
  740. data/ext/alphatau/native/sdl/src/test/SDL_test_imagePrimitivesBlend.c +696 -0
  741. data/ext/alphatau/native/sdl/src/test/SDL_test_log.c +118 -0
  742. data/ext/alphatau/native/sdl/src/test/SDL_test_md5.c +338 -0
  743. data/ext/alphatau/native/sdl/src/test/SDL_test_memory.c +274 -0
  744. data/ext/alphatau/native/sdl/src/test/SDL_test_random.c +96 -0
  745. data/ext/alphatau/native/sdl/src/thread/SDL_systhread.h +70 -0
  746. data/ext/alphatau/native/sdl/src/thread/SDL_thread.c +503 -0
  747. data/ext/alphatau/native/sdl/src/thread/SDL_thread_c.h +95 -0
  748. data/ext/alphatau/native/sdl/src/thread/generic/SDL_syscond.c +220 -0
  749. data/ext/alphatau/native/sdl/src/thread/generic/SDL_sysmutex.c +165 -0
  750. data/ext/alphatau/native/sdl/src/thread/generic/SDL_sysmutex_c.h +22 -0
  751. data/ext/alphatau/native/sdl/src/thread/generic/SDL_syssem.c +217 -0
  752. data/ext/alphatau/native/sdl/src/thread/generic/SDL_systhread.c +71 -0
  753. data/ext/alphatau/native/sdl/src/thread/generic/SDL_systhread_c.h +26 -0
  754. data/ext/alphatau/native/sdl/src/thread/generic/SDL_systls.c +38 -0
  755. data/ext/alphatau/native/sdl/src/thread/psp/SDL_syscond.c +224 -0
  756. data/ext/alphatau/native/sdl/src/thread/psp/SDL_sysmutex.c +136 -0
  757. data/ext/alphatau/native/sdl/src/thread/psp/SDL_sysmutex_c.h +22 -0
  758. data/ext/alphatau/native/sdl/src/thread/psp/SDL_syssem.c +161 -0
  759. data/ext/alphatau/native/sdl/src/thread/psp/SDL_systhread.c +114 -0
  760. data/ext/alphatau/native/sdl/src/thread/psp/SDL_systhread_c.h +24 -0
  761. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_syscond.c +158 -0
  762. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_sysmutex.c +195 -0
  763. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_sysmutex_c.h +32 -0
  764. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_syssem.c +209 -0
  765. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_systhread.c +324 -0
  766. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_systhread_c.h +27 -0
  767. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_systls.c +70 -0
  768. data/ext/alphatau/native/sdl/src/thread/stdcpp/SDL_syscond.cpp +164 -0
  769. data/ext/alphatau/native/sdl/src/thread/stdcpp/SDL_sysmutex.cpp +111 -0
  770. data/ext/alphatau/native/sdl/src/thread/stdcpp/SDL_sysmutex_c.h +30 -0
  771. data/ext/alphatau/native/sdl/src/thread/stdcpp/SDL_systhread.cpp +168 -0
  772. data/ext/alphatau/native/sdl/src/thread/stdcpp/SDL_systhread_c.h +26 -0
  773. data/ext/alphatau/native/sdl/src/thread/windows/SDL_sysmutex.c +110 -0
  774. data/ext/alphatau/native/sdl/src/thread/windows/SDL_syssem.c +152 -0
  775. data/ext/alphatau/native/sdl/src/thread/windows/SDL_systhread.c +260 -0
  776. data/ext/alphatau/native/sdl/src/thread/windows/SDL_systhread_c.h +32 -0
  777. data/ext/alphatau/native/sdl/src/thread/windows/SDL_systls.c +72 -0
  778. data/ext/alphatau/native/sdl/src/timer/SDL_timer.c +373 -0
  779. data/ext/alphatau/native/sdl/src/timer/SDL_timer_c.h +34 -0
  780. data/ext/alphatau/native/sdl/src/timer/dummy/SDL_systimer.c +75 -0
  781. data/ext/alphatau/native/sdl/src/timer/haiku/SDL_systimer.c +80 -0
  782. data/ext/alphatau/native/sdl/src/timer/psp/SDL_systimer.c +91 -0
  783. data/ext/alphatau/native/sdl/src/timer/unix/SDL_systimer.c +232 -0
  784. data/ext/alphatau/native/sdl/src/timer/windows/SDL_systimer.c +200 -0
  785. data/ext/alphatau/native/sdl/src/video/SDL_RLEaccel.c +1581 -0
  786. data/ext/alphatau/native/sdl/src/video/SDL_RLEaccel_c.h +31 -0
  787. data/ext/alphatau/native/sdl/src/video/SDL_blit.c +296 -0
  788. data/ext/alphatau/native/sdl/src/video/SDL_blit.h +553 -0
  789. data/ext/alphatau/native/sdl/src/video/SDL_blit_0.c +483 -0
  790. data/ext/alphatau/native/sdl/src/video/SDL_blit_1.c +552 -0
  791. data/ext/alphatau/native/sdl/src/video/SDL_blit_A.c +1388 -0
  792. data/ext/alphatau/native/sdl/src/video/SDL_blit_N.c +2647 -0
  793. data/ext/alphatau/native/sdl/src/video/SDL_blit_auto.c +7419 -0
  794. data/ext/alphatau/native/sdl/src/video/SDL_blit_auto.h +30 -0
  795. data/ext/alphatau/native/sdl/src/video/SDL_blit_copy.c +162 -0
  796. data/ext/alphatau/native/sdl/src/video/SDL_blit_copy.h +24 -0
  797. data/ext/alphatau/native/sdl/src/video/SDL_blit_slow.c +164 -0
  798. data/ext/alphatau/native/sdl/src/video/SDL_blit_slow.h +25 -0
  799. data/ext/alphatau/native/sdl/src/video/SDL_bmp.c +702 -0
  800. data/ext/alphatau/native/sdl/src/video/SDL_clipboard.c +90 -0
  801. data/ext/alphatau/native/sdl/src/video/SDL_egl.c +899 -0
  802. data/ext/alphatau/native/sdl/src/video/SDL_egl_c.h +149 -0
  803. data/ext/alphatau/native/sdl/src/video/SDL_fillrect.c +343 -0
  804. data/ext/alphatau/native/sdl/src/video/SDL_pixels.c +1125 -0
  805. data/ext/alphatau/native/sdl/src/video/SDL_pixels_c.h +40 -0
  806. data/ext/alphatau/native/sdl/src/video/SDL_rect.c +531 -0
  807. data/ext/alphatau/native/sdl/src/video/SDL_rect_c.h +25 -0
  808. data/ext/alphatau/native/sdl/src/video/SDL_shape.c +309 -0
  809. data/ext/alphatau/native/sdl/src/video/SDL_shape_internals.h +69 -0
  810. data/ext/alphatau/native/sdl/src/video/SDL_stretch.c +353 -0
  811. data/ext/alphatau/native/sdl/src/video/SDL_surface.c +1232 -0
  812. data/ext/alphatau/native/sdl/src/video/SDL_sysvideo.h +467 -0
  813. data/ext/alphatau/native/sdl/src/video/SDL_video.c +4160 -0
  814. data/ext/alphatau/native/sdl/src/video/SDL_vulkan_internal.h +91 -0
  815. data/ext/alphatau/native/sdl/src/video/SDL_vulkan_utils.c +172 -0
  816. data/ext/alphatau/native/sdl/src/video/SDL_yuv.c +1834 -0
  817. data/ext/alphatau/native/sdl/src/video/SDL_yuv_c.h +30 -0
  818. data/ext/alphatau/native/sdl/src/video/android/SDL_androidclipboard.c +48 -0
  819. data/ext/alphatau/native/sdl/src/video/android/SDL_androidclipboard.h +32 -0
  820. data/ext/alphatau/native/sdl/src/video/android/SDL_androidevents.c +123 -0
  821. data/ext/alphatau/native/sdl/src/video/android/SDL_androidevents.h +27 -0
  822. data/ext/alphatau/native/sdl/src/video/android/SDL_androidgl.c +62 -0
  823. data/ext/alphatau/native/sdl/src/video/android/SDL_androidgl.h +34 -0
  824. data/ext/alphatau/native/sdl/src/video/android/SDL_androidkeyboard.c +391 -0
  825. data/ext/alphatau/native/sdl/src/video/android/SDL_androidkeyboard.h +36 -0
  826. data/ext/alphatau/native/sdl/src/video/android/SDL_androidmessagebox.c +37 -0
  827. data/ext/alphatau/native/sdl/src/video/android/SDL_androidmessagebox.h +29 -0
  828. data/ext/alphatau/native/sdl/src/video/android/SDL_androidmouse.c +266 -0
  829. data/ext/alphatau/native/sdl/src/video/android/SDL_androidmouse.h +33 -0
  830. data/ext/alphatau/native/sdl/src/video/android/SDL_androidtouch.c +151 -0
  831. data/ext/alphatau/native/sdl/src/video/android/SDL_androidtouch.h +29 -0
  832. data/ext/alphatau/native/sdl/src/video/android/SDL_androidvideo.c +259 -0
  833. data/ext/alphatau/native/sdl/src/video/android/SDL_androidvideo.h +51 -0
  834. data/ext/alphatau/native/sdl/src/video/android/SDL_androidvulkan.c +175 -0
  835. data/ext/alphatau/native/sdl/src/video/android/SDL_androidvulkan.h +52 -0
  836. data/ext/alphatau/native/sdl/src/video/android/SDL_androidwindow.c +175 -0
  837. data/ext/alphatau/native/sdl/src/video/android/SDL_androidwindow.h +45 -0
  838. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaclipboard.h +36 -0
  839. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaclipboard.m +103 -0
  840. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaevents.h +32 -0
  841. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaevents.m +483 -0
  842. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoakeyboard.h +36 -0
  843. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoakeyboard.m +720 -0
  844. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamessagebox.h +29 -0
  845. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamessagebox.m +145 -0
  846. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoametalview.h +63 -0
  847. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoametalview.m +134 -0
  848. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamodes.h +46 -0
  849. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamodes.m +490 -0
  850. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamouse.h +52 -0
  851. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamouse.m +477 -0
  852. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamousetap.h +34 -0
  853. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamousetap.m +279 -0
  854. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaopengl.h +68 -0
  855. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaopengl.m +428 -0
  856. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaopengles.h +49 -0
  857. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaopengles.m +132 -0
  858. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoashape.h +45 -0
  859. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoashape.m +113 -0
  860. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoavideo.h +118 -0
  861. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoavideo.m +254 -0
  862. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoavulkan.h +55 -0
  863. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoavulkan.m +231 -0
  864. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoawindow.h +155 -0
  865. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoawindow.m +1885 -0
  866. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_WM.c +413 -0
  867. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_WM.h +56 -0
  868. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_dyn.c +117 -0
  869. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_dyn.h +41 -0
  870. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_events.c +748 -0
  871. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_events.h +34 -0
  872. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_modes.c +414 -0
  873. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_modes.h +59 -0
  874. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_mouse.c +389 -0
  875. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_mouse.h +44 -0
  876. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_opengl.c +332 -0
  877. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_opengl.h +64 -0
  878. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_render.c +1335 -0
  879. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_render.h +25 -0
  880. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_shape.c +131 -0
  881. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_shape.h +38 -0
  882. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_video.c +418 -0
  883. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_video.h +170 -0
  884. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_window.c +565 -0
  885. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_window.h +82 -0
  886. data/ext/alphatau/native/sdl/src/video/dummy/SDL_nullevents.c +41 -0
  887. data/ext/alphatau/native/sdl/src/video/dummy/SDL_nullevents_c.h +27 -0
  888. data/ext/alphatau/native/sdl/src/video/dummy/SDL_nullframebuffer.c +89 -0
  889. data/ext/alphatau/native/sdl/src/video/dummy/SDL_nullframebuffer_c.h +27 -0
  890. data/ext/alphatau/native/sdl/src/video/dummy/SDL_nullvideo.c +144 -0
  891. data/ext/alphatau/native/sdl/src/video/dummy/SDL_nullvideo.h +30 -0
  892. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenevents.c +716 -0
  893. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenevents.h +40 -0
  894. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenframebuffer.c +178 -0
  895. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenframebuffer.h +32 -0
  896. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenmouse.c +275 -0
  897. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenmouse.h +42 -0
  898. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenopengles.c +119 -0
  899. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenopengles.h +49 -0
  900. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenvideo.c +354 -0
  901. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenvideo.h +58 -0
  902. data/ext/alphatau/native/sdl/src/video/haiku/SDL_BWin.h +679 -0
  903. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bclipboard.cc +95 -0
  904. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bclipboard.h +33 -0
  905. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bevents.cc +41 -0
  906. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bevents.h +39 -0
  907. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bframebuffer.cc +259 -0
  908. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bframebuffer.h +47 -0
  909. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bkeyboard.cc +190 -0
  910. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bkeyboard.h +44 -0
  911. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bmodes.cc +333 -0
  912. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bmodes.h +48 -0
  913. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bopengl.cc +176 -0
  914. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bopengl.h +55 -0
  915. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bvideo.cc +178 -0
  916. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bvideo.h +44 -0
  917. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bwindow.cc +233 -0
  918. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bwindow.h +55 -0
  919. data/ext/alphatau/native/sdl/src/video/khronos/EGL/egl.h +303 -0
  920. data/ext/alphatau/native/sdl/src/video/khronos/EGL/eglext.h +1241 -0
  921. data/ext/alphatau/native/sdl/src/video/khronos/EGL/eglplatform.h +132 -0
  922. data/ext/alphatau/native/sdl/src/video/khronos/GLES2/gl2.h +675 -0
  923. data/ext/alphatau/native/sdl/src/video/khronos/GLES2/gl2ext.h +3505 -0
  924. data/ext/alphatau/native/sdl/src/video/khronos/GLES2/gl2platform.h +38 -0
  925. data/ext/alphatau/native/sdl/src/video/khronos/KHR/khrplatform.h +284 -0
  926. data/ext/alphatau/native/sdl/src/video/khronos/vulkan/vk_platform.h +120 -0
  927. data/ext/alphatau/native/sdl/src/video/khronos/vulkan/vulkan.h +6458 -0
  928. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmdyn.c +171 -0
  929. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmdyn.h +53 -0
  930. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmevents.c +42 -0
  931. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmevents.h +31 -0
  932. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmmouse.c +501 -0
  933. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmmouse.h +45 -0
  934. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmopengles.c +189 -0
  935. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmopengles.h +48 -0
  936. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmsym.h +99 -0
  937. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmvideo.c +664 -0
  938. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmvideo.h +124 -0
  939. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirdyn.c +170 -0
  940. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirdyn.h +53 -0
  941. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirevents.c +321 -0
  942. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirevents.h +37 -0
  943. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirframebuffer.c +134 -0
  944. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirframebuffer.h +47 -0
  945. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirmouse.c +292 -0
  946. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirmouse.h +37 -0
  947. data/ext/alphatau/native/sdl/src/video/mir/SDL_miropengl.c +78 -0
  948. data/ext/alphatau/native/sdl/src/video/mir/SDL_miropengl.h +53 -0
  949. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirsym.h +143 -0
  950. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirvideo.c +423 -0
  951. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirvideo.h +49 -0
  952. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirvulkan.c +176 -0
  953. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirvulkan.h +52 -0
  954. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirwindow.c +374 -0
  955. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirwindow.h +93 -0
  956. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclevents.c +438 -0
  957. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclevents_c.h +30 -0
  958. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclglue.c +24 -0
  959. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclopengles.c +174 -0
  960. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclopengles.h +38 -0
  961. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclvideo.c +183 -0
  962. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclvideo.h +67 -0
  963. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclwindow.c +79 -0
  964. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclwindow.h +32 -0
  965. data/ext/alphatau/native/sdl/src/video/pandora/SDL_pandora.c +838 -0
  966. data/ext/alphatau/native/sdl/src/video/pandora/SDL_pandora.h +101 -0
  967. data/ext/alphatau/native/sdl/src/video/pandora/SDL_pandora_events.c +38 -0
  968. data/ext/alphatau/native/sdl/src/video/pandora/SDL_pandora_events.h +25 -0
  969. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspevents.c +290 -0
  970. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspevents_c.h +31 -0
  971. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspgl.c +210 -0
  972. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspgl_c.h +54 -0
  973. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspmouse.c +41 -0
  974. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspmouse_c.h +24 -0
  975. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspvideo.c +333 -0
  976. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspvideo.h +102 -0
  977. data/ext/alphatau/native/sdl/src/video/qnx/gl.c +285 -0
  978. data/ext/alphatau/native/sdl/src/video/qnx/keyboard.c +133 -0
  979. data/ext/alphatau/native/sdl/src/video/qnx/sdl_qnx.h +48 -0
  980. data/ext/alphatau/native/sdl/src/video/qnx/video.c +364 -0
  981. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpievents.c +45 -0
  982. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpievents_c.h +31 -0
  983. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpimouse.c +386 -0
  984. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpimouse.h +43 -0
  985. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpiopengles.c +71 -0
  986. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpiopengles.h +49 -0
  987. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpivideo.c +442 -0
  988. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpivideo.h +104 -0
  989. data/ext/alphatau/native/sdl/src/video/sdlgenblit.pl +535 -0
  990. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitappdelegate.h +47 -0
  991. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitappdelegate.m +516 -0
  992. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitclipboard.h +35 -0
  993. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitclipboard.m +111 -0
  994. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitevents.h +30 -0
  995. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitevents.m +73 -0
  996. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitmessagebox.h +31 -0
  997. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitmessagebox.m +208 -0
  998. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitmetalview.h +58 -0
  999. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitmetalview.m +131 -0
  1000. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitmodes.h +54 -0
  1001. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitmodes.m +378 -0
  1002. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitopengles.h +40 -0
  1003. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitopengles.m +250 -0
  1004. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitopenglview.h +60 -0
  1005. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitopenglview.m +384 -0
  1006. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitvideo.h +46 -0
  1007. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitvideo.m +249 -0
  1008. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitview.h +41 -0
  1009. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitview.m +328 -0
  1010. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitviewcontroller.h +91 -0
  1011. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitviewcontroller.m +532 -0
  1012. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitvulkan.h +54 -0
  1013. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitvulkan.m +222 -0
  1014. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitwindow.h +56 -0
  1015. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitwindow.m +465 -0
  1016. data/ext/alphatau/native/sdl/src/video/uikit/keyinfotable.h +174 -0
  1017. data/ext/alphatau/native/sdl/src/video/vivante/SDL_vivanteopengles.c +47 -0
  1018. data/ext/alphatau/native/sdl/src/video/vivante/SDL_vivanteopengles.h +48 -0
  1019. data/ext/alphatau/native/sdl/src/video/vivante/SDL_vivanteplatform.c +54 -0
  1020. data/ext/alphatau/native/sdl/src/video/vivante/SDL_vivanteplatform.h +47 -0
  1021. data/ext/alphatau/native/sdl/src/video/vivante/SDL_vivantevideo.c +409 -0
  1022. data/ext/alphatau/native/sdl/src/video/vivante/SDL_vivantevideo.h +91 -0
  1023. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandclipboard.c +123 -0
  1024. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandclipboard.h +32 -0
  1025. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylanddatamanager.c +468 -0
  1026. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylanddatamanager.h +103 -0
  1027. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylanddyn.c +178 -0
  1028. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylanddyn.h +107 -0
  1029. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandevents.c +1134 -0
  1030. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandevents_c.h +51 -0
  1031. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandmouse.c +396 -0
  1032. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandmouse.h +31 -0
  1033. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandopengles.c +93 -0
  1034. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandopengles.h +49 -0
  1035. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandsym.h +127 -0
  1036. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandtouch.c +265 -0
  1037. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandtouch.h +352 -0
  1038. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandvideo.c +517 -0
  1039. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandvideo.h +85 -0
  1040. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandvulkan.c +176 -0
  1041. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandvulkan.h +52 -0
  1042. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandwindow.c +684 -0
  1043. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandwindow.h +88 -0
  1044. data/ext/alphatau/native/sdl/src/video/windows/SDL_msctf.h +242 -0
  1045. data/ext/alphatau/native/sdl/src/video/windows/SDL_vkeys.h +76 -0
  1046. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsclipboard.c +160 -0
  1047. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsclipboard.h +36 -0
  1048. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsevents.c +1229 -0
  1049. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsevents.h +36 -0
  1050. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsframebuffer.c +127 -0
  1051. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsframebuffer.h +27 -0
  1052. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowskeyboard.c +1579 -0
  1053. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowskeyboard.h +40 -0
  1054. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsmessagebox.c +905 -0
  1055. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsmessagebox.h +29 -0
  1056. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsmodes.c +407 -0
  1057. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsmodes.h +47 -0
  1058. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsmouse.c +322 -0
  1059. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsmouse.h +33 -0
  1060. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsopengl.c +895 -0
  1061. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsopengl.h +142 -0
  1062. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsopengles.c +131 -0
  1063. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsopengles.h +49 -0
  1064. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsshape.c +110 -0
  1065. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsshape.h +40 -0
  1066. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowstaskdialog.h +156 -0
  1067. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsvideo.c +442 -0
  1068. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsvideo.h +199 -0
  1069. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsvulkan.c +176 -0
  1070. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsvulkan.h +52 -0
  1071. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowswindow.c +992 -0
  1072. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowswindow.h +86 -0
  1073. data/ext/alphatau/native/sdl/src/video/windows/wmmsg.h +1052 -0
  1074. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtevents.cpp +154 -0
  1075. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtevents_c.h +82 -0
  1076. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtgamebar.cpp +196 -0
  1077. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtgamebar_cpp.h +35 -0
  1078. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtkeyboard.cpp +430 -0
  1079. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtmessagebox.cpp +112 -0
  1080. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtmessagebox.h +29 -0
  1081. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtmouse.cpp +224 -0
  1082. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtmouse_c.h +40 -0
  1083. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtopengles.cpp +203 -0
  1084. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtopengles.h +70 -0
  1085. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtpointerinput.cpp +415 -0
  1086. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtvideo.cpp +842 -0
  1087. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtvideo_cpp.h +106 -0
  1088. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11clipboard.c +199 -0
  1089. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11clipboard.h +33 -0
  1090. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11dyn.c +212 -0
  1091. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11dyn.h +111 -0
  1092. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11events.c +1500 -0
  1093. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11events.h +31 -0
  1094. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11framebuffer.c +257 -0
  1095. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11framebuffer.h +31 -0
  1096. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11keyboard.c +543 -0
  1097. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11keyboard.h +36 -0
  1098. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11messagebox.c +853 -0
  1099. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11messagebox.h +28 -0
  1100. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11modes.c +1112 -0
  1101. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11modes.h +85 -0
  1102. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11mouse.c +448 -0
  1103. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11mouse.h +31 -0
  1104. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11opengl.c +946 -0
  1105. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11opengl.h +84 -0
  1106. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11opengles.c +109 -0
  1107. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11opengles.h +56 -0
  1108. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11shape.c +115 -0
  1109. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11shape.h +39 -0
  1110. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11sym.h +337 -0
  1111. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11touch.c +54 -0
  1112. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11touch.h +32 -0
  1113. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11video.c +497 -0
  1114. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11video.h +156 -0
  1115. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11vulkan.c +243 -0
  1116. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11vulkan.h +48 -0
  1117. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11window.c +1619 -0
  1118. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11window.h +111 -0
  1119. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11xinput2.c +313 -0
  1120. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11xinput2.h +42 -0
  1121. data/ext/alphatau/native/sdl/src/video/x11/edid-parse.c +754 -0
  1122. data/ext/alphatau/native/sdl/src/video/x11/edid.h +167 -0
  1123. data/ext/alphatau/native/sdl/src/video/x11/imKStoUCS.c +350 -0
  1124. data/ext/alphatau/native/sdl/src/video/x11/imKStoUCS.h +32 -0
  1125. data/ext/alphatau/native/sdl/src/video/yuv2rgb/LICENSE +27 -0
  1126. data/ext/alphatau/native/sdl/src/video/yuv2rgb/README.md +63 -0
  1127. data/ext/alphatau/native/sdl/src/video/yuv2rgb/yuv_rgb.c +687 -0
  1128. data/ext/alphatau/native/sdl/src/video/yuv2rgb/yuv_rgb.h +381 -0
  1129. data/ext/alphatau/native/sdl/src/video/yuv2rgb/yuv_rgb_sse_func.h +498 -0
  1130. data/ext/alphatau/native/sdl/src/video/yuv2rgb/yuv_rgb_std_func.h +228 -0
  1131. data/ext/alphatau/native/sdl/test/CMakeLists.txt +122 -0
  1132. data/ext/alphatau/native/sdl/test/COPYING +8 -0
  1133. data/ext/alphatau/native/sdl/test/Makefile.in +328 -0
  1134. data/ext/alphatau/native/sdl/test/README +47 -0
  1135. data/ext/alphatau/native/sdl/test/acinclude.m4 +359 -0
  1136. data/ext/alphatau/native/sdl/test/aclocal.m4 +359 -0
  1137. data/ext/alphatau/native/sdl/test/autogen.sh +12 -0
  1138. data/ext/alphatau/native/sdl/test/axis.bmp +0 -0
  1139. data/ext/alphatau/native/sdl/test/button.bmp +0 -0
  1140. data/ext/alphatau/native/sdl/test/checkkeys.c +248 -0
  1141. data/ext/alphatau/native/sdl/test/configure +5124 -0
  1142. data/ext/alphatau/native/sdl/test/configure.in +191 -0
  1143. data/ext/alphatau/native/sdl/test/controllermap.bmp +0 -0
  1144. data/ext/alphatau/native/sdl/test/controllermap.c +781 -0
  1145. data/ext/alphatau/native/sdl/test/emscripten/joystick-pre.js +25 -0
  1146. data/ext/alphatau/native/sdl/test/gcc-fat.sh +110 -0
  1147. data/ext/alphatau/native/sdl/test/icon.bmp +0 -0
  1148. data/ext/alphatau/native/sdl/test/loopwave.c +179 -0
  1149. data/ext/alphatau/native/sdl/test/loopwavequeue.c +149 -0
  1150. data/ext/alphatau/native/sdl/test/moose.dat +0 -0
  1151. data/ext/alphatau/native/sdl/test/nacl/Makefile +63 -0
  1152. data/ext/alphatau/native/sdl/test/nacl/background.js +40 -0
  1153. data/ext/alphatau/native/sdl/test/nacl/common.js +474 -0
  1154. data/ext/alphatau/native/sdl/test/nacl/index.html +21 -0
  1155. data/ext/alphatau/native/sdl/test/nacl/manifest.json +22 -0
  1156. data/ext/alphatau/native/sdl/test/picture.xbm +14 -0
  1157. data/ext/alphatau/native/sdl/test/relative_mode.markdown +58 -0
  1158. data/ext/alphatau/native/sdl/test/sample.bmp +0 -0
  1159. data/ext/alphatau/native/sdl/test/sample.wav +0 -0
  1160. data/ext/alphatau/native/sdl/test/shapes/p01_shape24.bmp +0 -0
  1161. data/ext/alphatau/native/sdl/test/shapes/p01_shape32alpha.bmp +0 -0
  1162. data/ext/alphatau/native/sdl/test/shapes/p01_shape8.bmp +0 -0
  1163. data/ext/alphatau/native/sdl/test/shapes/p02_shape24.bmp +0 -0
  1164. data/ext/alphatau/native/sdl/test/shapes/p02_shape32alpha.bmp +0 -0
  1165. data/ext/alphatau/native/sdl/test/shapes/p02_shape8.bmp +0 -0
  1166. data/ext/alphatau/native/sdl/test/shapes/p03_shape24.bmp +0 -0
  1167. data/ext/alphatau/native/sdl/test/shapes/p03_shape8.bmp +0 -0
  1168. data/ext/alphatau/native/sdl/test/shapes/p04_shape1.bmp +0 -0
  1169. data/ext/alphatau/native/sdl/test/shapes/p04_shape24.bmp +0 -0
  1170. data/ext/alphatau/native/sdl/test/shapes/p04_shape32alpha.bmp +0 -0
  1171. data/ext/alphatau/native/sdl/test/shapes/p04_shape8.bmp +0 -0
  1172. data/ext/alphatau/native/sdl/test/shapes/p05_shape8.bmp +0 -0
  1173. data/ext/alphatau/native/sdl/test/shapes/p06_shape1alpha.bmp +0 -0
  1174. data/ext/alphatau/native/sdl/test/shapes/p06_shape24.bmp +0 -0
  1175. data/ext/alphatau/native/sdl/test/shapes/p06_shape32alpha.bmp +0 -0
  1176. data/ext/alphatau/native/sdl/test/shapes/p06_shape8.bmp +0 -0
  1177. data/ext/alphatau/native/sdl/test/shapes/p07_shape24.bmp +0 -0
  1178. data/ext/alphatau/native/sdl/test/shapes/p07_shape32alpha.bmp +0 -0
  1179. data/ext/alphatau/native/sdl/test/shapes/p07_shape8.bmp +0 -0
  1180. data/ext/alphatau/native/sdl/test/shapes/p08_shape24.bmp +0 -0
  1181. data/ext/alphatau/native/sdl/test/shapes/p08_shape32alpha.bmp +0 -0
  1182. data/ext/alphatau/native/sdl/test/shapes/p08_shape8.bmp +0 -0
  1183. data/ext/alphatau/native/sdl/test/shapes/p09_shape24.bmp +0 -0
  1184. data/ext/alphatau/native/sdl/test/shapes/p09_shape32alpha.bmp +0 -0
  1185. data/ext/alphatau/native/sdl/test/shapes/p09_shape8.bmp +0 -0
  1186. data/ext/alphatau/native/sdl/test/shapes/p10_shape1.bmp +0 -0
  1187. data/ext/alphatau/native/sdl/test/shapes/p10_shape24.bmp +0 -0
  1188. data/ext/alphatau/native/sdl/test/shapes/p10_shape32alpha.bmp +0 -0
  1189. data/ext/alphatau/native/sdl/test/shapes/p10_shape8.bmp +0 -0
  1190. data/ext/alphatau/native/sdl/test/shapes/p11_shape24.bmp +0 -0
  1191. data/ext/alphatau/native/sdl/test/shapes/p11_shape32alpha.bmp +0 -0
  1192. data/ext/alphatau/native/sdl/test/shapes/p11_shape8.bmp +0 -0
  1193. data/ext/alphatau/native/sdl/test/shapes/p12_shape24.bmp +0 -0
  1194. data/ext/alphatau/native/sdl/test/shapes/p12_shape8.bmp +0 -0
  1195. data/ext/alphatau/native/sdl/test/shapes/p13_shape24.bmp +0 -0
  1196. data/ext/alphatau/native/sdl/test/shapes/p13_shape32alpha.bmp +0 -0
  1197. data/ext/alphatau/native/sdl/test/shapes/p13_shape8.bmp +0 -0
  1198. data/ext/alphatau/native/sdl/test/shapes/p14_shape24.bmp +0 -0
  1199. data/ext/alphatau/native/sdl/test/shapes/p14_shape8.bmp +0 -0
  1200. data/ext/alphatau/native/sdl/test/shapes/p15_shape24.bmp +0 -0
  1201. data/ext/alphatau/native/sdl/test/shapes/p15_shape32alpha.bmp +0 -0
  1202. data/ext/alphatau/native/sdl/test/shapes/p15_shape8.bmp +0 -0
  1203. data/ext/alphatau/native/sdl/test/shapes/p16_shape1.bmp +0 -0
  1204. data/ext/alphatau/native/sdl/test/shapes/p16_shape24.bmp +0 -0
  1205. data/ext/alphatau/native/sdl/test/shapes/p16_shape8.bmp +0 -0
  1206. data/ext/alphatau/native/sdl/test/shapes/trollface_24.bmp +0 -0
  1207. data/ext/alphatau/native/sdl/test/shapes/trollface_32alpha.bmp +0 -0
  1208. data/ext/alphatau/native/sdl/test/testatomic.c +727 -0
  1209. data/ext/alphatau/native/sdl/test/testaudiocapture.c +165 -0
  1210. data/ext/alphatau/native/sdl/test/testaudiohotplug.c +203 -0
  1211. data/ext/alphatau/native/sdl/test/testaudioinfo.c +74 -0
  1212. data/ext/alphatau/native/sdl/test/testautomation.c +124 -0
  1213. data/ext/alphatau/native/sdl/test/testautomation_audio.c +1038 -0
  1214. data/ext/alphatau/native/sdl/test/testautomation_clipboard.c +184 -0
  1215. data/ext/alphatau/native/sdl/test/testautomation_events.c +201 -0
  1216. data/ext/alphatau/native/sdl/test/testautomation_hints.c +168 -0
  1217. data/ext/alphatau/native/sdl/test/testautomation_keyboard.c +713 -0
  1218. data/ext/alphatau/native/sdl/test/testautomation_main.c +157 -0
  1219. data/ext/alphatau/native/sdl/test/testautomation_mouse.c +606 -0
  1220. data/ext/alphatau/native/sdl/test/testautomation_pixels.c +529 -0
  1221. data/ext/alphatau/native/sdl/test/testautomation_platform.c +584 -0
  1222. data/ext/alphatau/native/sdl/test/testautomation_rect.c +1696 -0
  1223. data/ext/alphatau/native/sdl/test/testautomation_render.c +1099 -0
  1224. data/ext/alphatau/native/sdl/test/testautomation_rwops.c +748 -0
  1225. data/ext/alphatau/native/sdl/test/testautomation_sdltest.c +1319 -0
  1226. data/ext/alphatau/native/sdl/test/testautomation_stdlib.c +319 -0
  1227. data/ext/alphatau/native/sdl/test/testautomation_suites.h +54 -0
  1228. data/ext/alphatau/native/sdl/test/testautomation_surface.c +647 -0
  1229. data/ext/alphatau/native/sdl/test/testautomation_syswm.c +61 -0
  1230. data/ext/alphatau/native/sdl/test/testautomation_timer.c +201 -0
  1231. data/ext/alphatau/native/sdl/test/testautomation_video.c +1811 -0
  1232. data/ext/alphatau/native/sdl/test/testbounds.c +40 -0
  1233. data/ext/alphatau/native/sdl/test/testcustomcursor.c +259 -0
  1234. data/ext/alphatau/native/sdl/test/testdisplayinfo.c +96 -0
  1235. data/ext/alphatau/native/sdl/test/testdraw2.c +305 -0
  1236. data/ext/alphatau/native/sdl/test/testdrawchessboard.c +147 -0
  1237. data/ext/alphatau/native/sdl/test/testdropfile.c +98 -0
  1238. data/ext/alphatau/native/sdl/test/testerror.c +76 -0
  1239. data/ext/alphatau/native/sdl/test/testfile.c +283 -0
  1240. data/ext/alphatau/native/sdl/test/testfilesystem.c +60 -0
  1241. data/ext/alphatau/native/sdl/test/testgamecontroller.c +375 -0
  1242. data/ext/alphatau/native/sdl/test/testgesture.c +309 -0
  1243. data/ext/alphatau/native/sdl/test/testgl2.c +416 -0
  1244. data/ext/alphatau/native/sdl/test/testgles.c +355 -0
  1245. data/ext/alphatau/native/sdl/test/testgles2.c +732 -0
  1246. data/ext/alphatau/native/sdl/test/testhaptic.c +369 -0
  1247. data/ext/alphatau/native/sdl/test/testhittesting.c +134 -0
  1248. data/ext/alphatau/native/sdl/test/testhotplug.c +162 -0
  1249. data/ext/alphatau/native/sdl/test/testiconv.c +88 -0
  1250. data/ext/alphatau/native/sdl/test/testime.c +801 -0
  1251. data/ext/alphatau/native/sdl/test/testintersections.c +363 -0
  1252. data/ext/alphatau/native/sdl/test/testjoystick.c +387 -0
  1253. data/ext/alphatau/native/sdl/test/testkeys.c +40 -0
  1254. data/ext/alphatau/native/sdl/test/testloadso.c +82 -0
  1255. data/ext/alphatau/native/sdl/test/testlock.c +128 -0
  1256. data/ext/alphatau/native/sdl/test/testmessage.c +193 -0
  1257. data/ext/alphatau/native/sdl/test/testmultiaudio.c +199 -0
  1258. data/ext/alphatau/native/sdl/test/testnative.c +237 -0
  1259. data/ext/alphatau/native/sdl/test/testnative.h +46 -0
  1260. data/ext/alphatau/native/sdl/test/testnativecocoa.m +51 -0
  1261. data/ext/alphatau/native/sdl/test/testnativew32.c +86 -0
  1262. data/ext/alphatau/native/sdl/test/testnativex11.c +53 -0
  1263. data/ext/alphatau/native/sdl/test/testoverlay2.c +408 -0
  1264. data/ext/alphatau/native/sdl/test/testplatform.c +442 -0
  1265. data/ext/alphatau/native/sdl/test/testpower.c +80 -0
  1266. data/ext/alphatau/native/sdl/test/testqsort.c +108 -0
  1267. data/ext/alphatau/native/sdl/test/testrelative.c +126 -0
  1268. data/ext/alphatau/native/sdl/test/testrendercopyex.c +233 -0
  1269. data/ext/alphatau/native/sdl/test/testrendertarget.c +335 -0
  1270. data/ext/alphatau/native/sdl/test/testresample.c +120 -0
  1271. data/ext/alphatau/native/sdl/test/testrumble.c +153 -0
  1272. data/ext/alphatau/native/sdl/test/testscale.c +224 -0
  1273. data/ext/alphatau/native/sdl/test/testsem.c +130 -0
  1274. data/ext/alphatau/native/sdl/test/testsensor.c +117 -0
  1275. data/ext/alphatau/native/sdl/test/testshader.c +500 -0
  1276. data/ext/alphatau/native/sdl/test/testshape.c +200 -0
  1277. data/ext/alphatau/native/sdl/test/testsprite2.c +409 -0
  1278. data/ext/alphatau/native/sdl/test/testspriteminimal.c +194 -0
  1279. data/ext/alphatau/native/sdl/test/teststreaming.c +190 -0
  1280. data/ext/alphatau/native/sdl/test/testthread.c +130 -0
  1281. data/ext/alphatau/native/sdl/test/testtimer.c +122 -0
  1282. data/ext/alphatau/native/sdl/test/testver.c +47 -0
  1283. data/ext/alphatau/native/sdl/test/testviewport.c +217 -0
  1284. data/ext/alphatau/native/sdl/test/testvulkan.c +1201 -0
  1285. data/ext/alphatau/native/sdl/test/testwm2.c +174 -0
  1286. data/ext/alphatau/native/sdl/test/testyuv.bmp +0 -0
  1287. data/ext/alphatau/native/sdl/test/testyuv.c +455 -0
  1288. data/ext/alphatau/native/sdl/test/testyuv_cvt.c +300 -0
  1289. data/ext/alphatau/native/sdl/test/testyuv_cvt.h +16 -0
  1290. data/ext/alphatau/native/sdl/test/torturethread.c +113 -0
  1291. data/ext/alphatau/native/sdl/test/utf8.txt +287 -0
  1292. data/ext/alphatau/native/sdl/visualtest/COPYING.txt +18 -0
  1293. data/ext/alphatau/native/sdl/visualtest/Makefile.in +37 -0
  1294. data/ext/alphatau/native/sdl/visualtest/README.txt +214 -0
  1295. data/ext/alphatau/native/sdl/visualtest/acinclude.m4 +359 -0
  1296. data/ext/alphatau/native/sdl/visualtest/autogen.sh +12 -0
  1297. data/ext/alphatau/native/sdl/visualtest/compile +1 -0
  1298. data/ext/alphatau/native/sdl/visualtest/config.h +23 -0
  1299. data/ext/alphatau/native/sdl/visualtest/config.h.in +22 -0
  1300. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_blendmodes/testsprite2_blendmodes.actions +3 -0
  1301. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_blendmodes/testsprite2_blendmodes.config +5 -0
  1302. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_blendmodes/testsprite2_blendmodes.parameters +5 -0
  1303. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_crashtest/testsprite2_crashtest.actions +1 -0
  1304. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_crashtest/testsprite2_crashtest.config +5 -0
  1305. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_crashtest/testsprite2_crashtest.parameters +24 -0
  1306. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_fullscreen/testsprite2_fullscreen.actions +3 -0
  1307. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_fullscreen/testsprite2_fullscreen.config +5 -0
  1308. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_fullscreen/testsprite2_fullscreen.parameters +5 -0
  1309. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_geometry/testsprite2_geometry.actions +3 -0
  1310. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_geometry/testsprite2_geometry.config +5 -0
  1311. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_geometry/testsprite2_geometry.parameters +5 -0
  1312. data/ext/alphatau/native/sdl/visualtest/configure +5203 -0
  1313. data/ext/alphatau/native/sdl/visualtest/configure.in +166 -0
  1314. data/ext/alphatau/native/sdl/visualtest/depcomp +1 -0
  1315. data/ext/alphatau/native/sdl/visualtest/docs/Doxyfile +1936 -0
  1316. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_action_configparser.h +149 -0
  1317. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_exhaustive_variator.h +64 -0
  1318. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_harness_argparser.h +75 -0
  1319. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_mischelper.h +28 -0
  1320. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_parsehelper.h +46 -0
  1321. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_process.h +112 -0
  1322. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_random_variator.h +61 -0
  1323. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_rwhelper.h +87 -0
  1324. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_screenshot.h +52 -0
  1325. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_sut_configparser.h +105 -0
  1326. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_variator_common.h +122 -0
  1327. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_variators.h +66 -0
  1328. data/ext/alphatau/native/sdl/visualtest/install-sh +1 -0
  1329. data/ext/alphatau/native/sdl/visualtest/launch_harness.cmd +2 -0
  1330. data/ext/alphatau/native/sdl/visualtest/launch_harness.sh +6 -0
  1331. data/ext/alphatau/native/sdl/visualtest/missing +1 -0
  1332. data/ext/alphatau/native/sdl/visualtest/src/action_configparser.c +396 -0
  1333. data/ext/alphatau/native/sdl/visualtest/src/harness_argparser.c +358 -0
  1334. data/ext/alphatau/native/sdl/visualtest/src/linux/linux_process.c +199 -0
  1335. data/ext/alphatau/native/sdl/visualtest/src/mischelper.c +28 -0
  1336. data/ext/alphatau/native/sdl/visualtest/src/parsehelper.c +231 -0
  1337. data/ext/alphatau/native/sdl/visualtest/src/rwhelper.c +131 -0
  1338. data/ext/alphatau/native/sdl/visualtest/src/screenshot.c +136 -0
  1339. data/ext/alphatau/native/sdl/visualtest/src/sut_configparser.c +232 -0
  1340. data/ext/alphatau/native/sdl/visualtest/src/testharness.c +533 -0
  1341. data/ext/alphatau/native/sdl/visualtest/src/variator_common.c +225 -0
  1342. data/ext/alphatau/native/sdl/visualtest/src/variator_exhaustive.c +132 -0
  1343. data/ext/alphatau/native/sdl/visualtest/src/variator_random.c +111 -0
  1344. data/ext/alphatau/native/sdl/visualtest/src/variators.c +93 -0
  1345. data/ext/alphatau/native/sdl/visualtest/src/windows/windows_process.c +284 -0
  1346. data/ext/alphatau/native/sdl/visualtest/src/windows/windows_screenshot.c +349 -0
  1347. data/ext/alphatau/native/sdl/visualtest/stamp-h1 +1 -0
  1348. data/ext/alphatau/native/sdl/visualtest/testsprite2_sample.actions +3 -0
  1349. data/ext/alphatau/native/sdl/visualtest/testsprite2_sample.config +6 -0
  1350. data/ext/alphatau/native/sdl/visualtest/testsprite2_sample.parameters +29 -0
  1351. data/ext/alphatau/native/sdl/visualtest/unittest/testquit.actions +1 -0
  1352. data/ext/alphatau/native/sdl/visualtest/unittest/testquit.c +101 -0
  1353. data/ext/alphatau/native/sdl/visualtest/unittest/testquit.config +5 -0
  1354. data/ext/alphatau/native/sdl/visualtest/unittest/testquit.parameters +3 -0
  1355. data/ext/alphatau/native/sdl/wayland-protocols/pointer-constraints-unstable-v1.xml +339 -0
  1356. data/ext/alphatau/native/sdl/wayland-protocols/relative-pointer-unstable-v1.xml +136 -0
  1357. data/ext/alphatau/native/sdl/wayland-protocols/wayland.xml +2746 -0
  1358. data/ext/alphatau/native/sdl/wayland-protocols/xdg-shell-unstable-v6.xml +1044 -0
  1359. data/ext/alphatau/native/sdl/wayland-protocols/xdg-shell.xml +1120 -0
  1360. data/lib/alphatau.rb +12 -0
  1361. data/lib/alphatau/version.rb +3 -0
  1362. metadata +1465 -0
@@ -0,0 +1,61 @@
1
+ /**
2
+ * SysWM test suite
3
+ */
4
+
5
+ #include <stdio.h>
6
+
7
+ #include "SDL.h"
8
+ #include "SDL_syswm.h"
9
+ #include "SDL_test.h"
10
+
11
+ /* Test case functions */
12
+
13
+ /**
14
+ * @brief Call to SDL_GetWindowWMInfo
15
+ */
16
+ int
17
+ syswm_getWindowWMInfo(void *arg)
18
+ {
19
+ SDL_bool result;
20
+ SDL_Window *window;
21
+ SDL_SysWMinfo info;
22
+
23
+ window = SDL_CreateWindow("", 0, 0, 0, 0, SDL_WINDOW_HIDDEN);
24
+ SDLTest_AssertPass("Call to SDL_CreateWindow()");
25
+ SDLTest_AssertCheck(window != NULL, "Check that value returned from SDL_CreateWindow is not NULL");
26
+ if (window == NULL) {
27
+ return TEST_ABORTED;
28
+ }
29
+
30
+ /* Initialize info structure with SDL version info */
31
+ SDL_VERSION(&info.version);
32
+
33
+ /* Make call */
34
+ result = SDL_GetWindowWMInfo(window, &info);
35
+ SDLTest_AssertPass("Call to SDL_GetWindowWMInfo()");
36
+ SDLTest_Log((result == SDL_TRUE) ? "Got window information" : "Couldn't get window information");
37
+
38
+ SDL_DestroyWindow(window);
39
+ SDLTest_AssertPass("Call to SDL_DestroyWindow()");
40
+
41
+ return TEST_COMPLETED;
42
+ }
43
+
44
+ /* ================= Test References ================== */
45
+
46
+ /* SysWM test cases */
47
+ static const SDLTest_TestCaseReference syswmTest1 =
48
+ { (SDLTest_TestCaseFp)syswm_getWindowWMInfo, "syswm_getWindowWMInfo", "Call to SDL_GetWindowWMInfo", TEST_ENABLED };
49
+
50
+ /* Sequence of SysWM test cases */
51
+ static const SDLTest_TestCaseReference *syswmTests[] = {
52
+ &syswmTest1, NULL
53
+ };
54
+
55
+ /* SysWM test suite (global) */
56
+ SDLTest_TestSuiteReference syswmTestSuite = {
57
+ "SysWM",
58
+ NULL,
59
+ syswmTests,
60
+ NULL
61
+ };
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Timer test suite
3
+ */
4
+
5
+ #include <stdio.h>
6
+
7
+ #include "SDL.h"
8
+ #include "SDL_test.h"
9
+
10
+ /* Flag indicating if the param should be checked */
11
+ int _paramCheck = 0;
12
+
13
+ /* Userdata value to check */
14
+ int _paramValue = 0;
15
+
16
+ /* Flag indicating that the callback was called */
17
+ int _timerCallbackCalled = 0;
18
+
19
+ /* Fixture */
20
+
21
+ void
22
+ _timerSetUp(void *arg)
23
+ {
24
+ /* Start SDL timer subsystem */
25
+ int ret = SDL_InitSubSystem( SDL_INIT_TIMER );
26
+ SDLTest_AssertPass("Call to SDL_InitSubSystem(SDL_INIT_TIMER)");
27
+ SDLTest_AssertCheck(ret==0, "Check result from SDL_InitSubSystem(SDL_INIT_TIMER)");
28
+ if (ret != 0) {
29
+ SDLTest_LogError("%s", SDL_GetError());
30
+ }
31
+ }
32
+
33
+ /* Test case functions */
34
+
35
+ /**
36
+ * @brief Call to SDL_GetPerformanceCounter
37
+ */
38
+ int
39
+ timer_getPerformanceCounter(void *arg)
40
+ {
41
+ Uint64 result;
42
+
43
+ result = SDL_GetPerformanceCounter();
44
+ SDLTest_AssertPass("Call to SDL_GetPerformanceCounter()");
45
+ SDLTest_AssertCheck(result > 0, "Check result value, expected: >0, got: %"SDL_PRIu64, result);
46
+
47
+ return TEST_COMPLETED;
48
+ }
49
+
50
+ /**
51
+ * @brief Call to SDL_GetPerformanceFrequency
52
+ */
53
+ int
54
+ timer_getPerformanceFrequency(void *arg)
55
+ {
56
+ Uint64 result;
57
+
58
+ result = SDL_GetPerformanceFrequency();
59
+ SDLTest_AssertPass("Call to SDL_GetPerformanceFrequency()");
60
+ SDLTest_AssertCheck(result > 0, "Check result value, expected: >0, got: %"SDL_PRIu64, result);
61
+
62
+ return TEST_COMPLETED;
63
+ }
64
+
65
+ /**
66
+ * @brief Call to SDL_Delay and SDL_GetTicks
67
+ */
68
+ int
69
+ timer_delayAndGetTicks(void *arg)
70
+ {
71
+ const Uint32 testDelay = 100;
72
+ const Uint32 marginOfError = 25;
73
+ Uint32 result;
74
+ Uint32 result2;
75
+ Uint32 difference;
76
+
77
+ /* Zero delay */
78
+ SDL_Delay(0);
79
+ SDLTest_AssertPass("Call to SDL_Delay(0)");
80
+
81
+ /* Non-zero delay */
82
+ SDL_Delay(1);
83
+ SDLTest_AssertPass("Call to SDL_Delay(1)");
84
+
85
+ SDL_Delay(SDLTest_RandomIntegerInRange(5, 15));
86
+ SDLTest_AssertPass("Call to SDL_Delay()");
87
+
88
+ /* Get ticks count - should be non-zero by now */
89
+ result = SDL_GetTicks();
90
+ SDLTest_AssertPass("Call to SDL_GetTicks()");
91
+ SDLTest_AssertCheck(result > 0, "Check result value, expected: >0, got: %d", result);
92
+
93
+ /* Delay a bit longer and measure ticks and verify difference */
94
+ SDL_Delay(testDelay);
95
+ SDLTest_AssertPass("Call to SDL_Delay(%d)", testDelay);
96
+ result2 = SDL_GetTicks();
97
+ SDLTest_AssertPass("Call to SDL_GetTicks()");
98
+ SDLTest_AssertCheck(result2 > 0, "Check result value, expected: >0, got: %d", result2);
99
+ difference = result2 - result;
100
+ SDLTest_AssertCheck(difference > (testDelay - marginOfError), "Check difference, expected: >%d, got: %d", testDelay - marginOfError, difference);
101
+ SDLTest_AssertCheck(difference < (testDelay + marginOfError), "Check difference, expected: <%d, got: %d", testDelay + marginOfError, difference);
102
+
103
+ return TEST_COMPLETED;
104
+ }
105
+
106
+ /* Test callback */
107
+ Uint32 SDLCALL _timerTestCallback(Uint32 interval, void *param)
108
+ {
109
+ _timerCallbackCalled = 1;
110
+
111
+ if (_paramCheck != 0) {
112
+ SDLTest_AssertCheck(param != NULL, "Check param pointer, expected: non-NULL, got: %s", (param != NULL) ? "non-NULL" : "NULL");
113
+ if (param != NULL) {
114
+ SDLTest_AssertCheck(*(int *)param == _paramValue, "Check param value, expected: %i, got: %i", _paramValue, *(int *)param);
115
+ }
116
+ }
117
+
118
+ return 0;
119
+ }
120
+
121
+ /**
122
+ * @brief Call to SDL_AddTimer and SDL_RemoveTimer
123
+ */
124
+ int
125
+ timer_addRemoveTimer(void *arg)
126
+ {
127
+ SDL_TimerID id;
128
+ SDL_bool result;
129
+ int param;
130
+
131
+ /* Reset state */
132
+ _paramCheck = 0;
133
+ _timerCallbackCalled = 0;
134
+
135
+ /* Set timer with a long delay */
136
+ id = SDL_AddTimer(10000, _timerTestCallback, NULL);
137
+ SDLTest_AssertPass("Call to SDL_AddTimer(10000,...)");
138
+ SDLTest_AssertCheck(id > 0, "Check result value, expected: >0, got: %d", id);
139
+
140
+ /* Remove timer again and check that callback was not called */
141
+ result = SDL_RemoveTimer(id);
142
+ SDLTest_AssertPass("Call to SDL_RemoveTimer()");
143
+ SDLTest_AssertCheck(result == SDL_TRUE, "Check result value, expected: %i, got: %i", SDL_TRUE, result);
144
+ SDLTest_AssertCheck(_timerCallbackCalled == 0, "Check callback WAS NOT called, expected: 0, got: %i", _timerCallbackCalled);
145
+
146
+ /* Try to remove timer again (should be a NOOP) */
147
+ result = SDL_RemoveTimer(id);
148
+ SDLTest_AssertPass("Call to SDL_RemoveTimer()");
149
+ SDLTest_AssertCheck(result == SDL_FALSE, "Check result value, expected: %i, got: %i", SDL_FALSE, result);
150
+
151
+ /* Reset state */
152
+ param = SDLTest_RandomIntegerInRange(-1024, 1024);
153
+ _paramCheck = 1;
154
+ _paramValue = param;
155
+ _timerCallbackCalled = 0;
156
+
157
+ /* Set timer with a short delay */
158
+ id = SDL_AddTimer(10, _timerTestCallback, (void *)&param);
159
+ SDLTest_AssertPass("Call to SDL_AddTimer(10, param)");
160
+ SDLTest_AssertCheck(id > 0, "Check result value, expected: >0, got: %d", id);
161
+
162
+ /* Wait to let timer trigger callback */
163
+ SDL_Delay(100);
164
+ SDLTest_AssertPass("Call to SDL_Delay(100)");
165
+
166
+ /* Remove timer again and check that callback was called */
167
+ result = SDL_RemoveTimer(id);
168
+ SDLTest_AssertPass("Call to SDL_RemoveTimer()");
169
+ SDLTest_AssertCheck(result == SDL_FALSE, "Check result value, expected: %i, got: %i", SDL_FALSE, result);
170
+ SDLTest_AssertCheck(_timerCallbackCalled == 1, "Check callback WAS called, expected: 1, got: %i", _timerCallbackCalled);
171
+
172
+ return TEST_COMPLETED;
173
+ }
174
+
175
+ /* ================= Test References ================== */
176
+
177
+ /* Timer test cases */
178
+ static const SDLTest_TestCaseReference timerTest1 =
179
+ { (SDLTest_TestCaseFp)timer_getPerformanceCounter, "timer_getPerformanceCounter", "Call to SDL_GetPerformanceCounter", TEST_ENABLED };
180
+
181
+ static const SDLTest_TestCaseReference timerTest2 =
182
+ { (SDLTest_TestCaseFp)timer_getPerformanceFrequency, "timer_getPerformanceFrequency", "Call to SDL_GetPerformanceFrequency", TEST_ENABLED };
183
+
184
+ static const SDLTest_TestCaseReference timerTest3 =
185
+ { (SDLTest_TestCaseFp)timer_delayAndGetTicks, "timer_delayAndGetTicks", "Call to SDL_Delay and SDL_GetTicks", TEST_ENABLED };
186
+
187
+ static const SDLTest_TestCaseReference timerTest4 =
188
+ { (SDLTest_TestCaseFp)timer_addRemoveTimer, "timer_addRemoveTimer", "Call to SDL_AddTimer and SDL_RemoveTimer", TEST_ENABLED };
189
+
190
+ /* Sequence of Timer test cases */
191
+ static const SDLTest_TestCaseReference *timerTests[] = {
192
+ &timerTest1, &timerTest2, &timerTest3, &timerTest4, NULL
193
+ };
194
+
195
+ /* Timer test suite (global) */
196
+ SDLTest_TestSuiteReference timerTestSuite = {
197
+ "Timer",
198
+ _timerSetUp,
199
+ timerTests,
200
+ NULL
201
+ };
@@ -0,0 +1,1811 @@
1
+ /**
2
+ * Video test suite
3
+ */
4
+
5
+ #include <stdio.h>
6
+ #include <string.h>
7
+
8
+ /* Visual Studio 2008 doesn't have stdint.h */
9
+ #if defined(_MSC_VER) && _MSC_VER <= 1500
10
+ #define UINT8_MAX ~(Uint8)0
11
+ #define UINT16_MAX ~(Uint16)0
12
+ #define UINT32_MAX ~(Uint32)0
13
+ #define UINT64_MAX ~(Uint64)0
14
+ #else
15
+ #include <stdint.h>
16
+ #endif
17
+
18
+ #include "SDL.h"
19
+ #include "SDL_test.h"
20
+
21
+ /* Private helpers */
22
+
23
+ /*
24
+ * Create a test window
25
+ */
26
+ SDL_Window *_createVideoSuiteTestWindow(const char *title)
27
+ {
28
+ SDL_Window* window;
29
+ int x, y, w, h;
30
+ SDL_WindowFlags flags;
31
+
32
+ /* Standard window */
33
+ x = SDLTest_RandomIntegerInRange(1, 100);
34
+ y = SDLTest_RandomIntegerInRange(1, 100);
35
+ w = SDLTest_RandomIntegerInRange(320, 1024);
36
+ h = SDLTest_RandomIntegerInRange(320, 768);
37
+ flags = SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_BORDERLESS;
38
+
39
+ window = SDL_CreateWindow(title, x, y, w, h, flags);
40
+ SDLTest_AssertPass("Call to SDL_CreateWindow('Title',%d,%d,%d,%d,%d)", x, y, w, h, flags);
41
+ SDLTest_AssertCheck(window != NULL, "Validate that returned window struct is not NULL");
42
+
43
+ return window;
44
+ }
45
+
46
+ /*
47
+ * Destroy test window
48
+ */
49
+ void _destroyVideoSuiteTestWindow(SDL_Window *window)
50
+ {
51
+ if (window != NULL) {
52
+ SDL_DestroyWindow(window);
53
+ window = NULL;
54
+ SDLTest_AssertPass("Call to SDL_DestroyWindow()");
55
+ }
56
+ }
57
+
58
+ /* Test case functions */
59
+
60
+ /**
61
+ * @brief Enable and disable screensaver while checking state
62
+ */
63
+ int
64
+ video_enableDisableScreensaver(void *arg)
65
+ {
66
+ SDL_bool initialResult;
67
+ SDL_bool result;
68
+
69
+ /* Get current state and proceed according to current state */
70
+ initialResult = SDL_IsScreenSaverEnabled();
71
+ SDLTest_AssertPass("Call to SDL_IsScreenSaverEnabled()");
72
+ if (initialResult == SDL_TRUE) {
73
+
74
+ /* Currently enabled: disable first, then enable again */
75
+
76
+ /* Disable screensaver and check */
77
+ SDL_DisableScreenSaver();
78
+ SDLTest_AssertPass("Call to SDL_DisableScreenSaver()");
79
+ result = SDL_IsScreenSaverEnabled();
80
+ SDLTest_AssertPass("Call to SDL_IsScreenSaverEnabled()");
81
+ SDLTest_AssertCheck(result == SDL_FALSE, "Verify result from SDL_IsScreenSaverEnabled, expected: %i, got: %i", SDL_FALSE, result);
82
+
83
+ /* Enable screensaver and check */
84
+ SDL_EnableScreenSaver();
85
+ SDLTest_AssertPass("Call to SDL_EnableScreenSaver()");
86
+ result = SDL_IsScreenSaverEnabled();
87
+ SDLTest_AssertPass("Call to SDL_IsScreenSaverEnabled()");
88
+ SDLTest_AssertCheck(result == SDL_TRUE, "Verify result from SDL_IsScreenSaverEnabled, expected: %i, got: %i", SDL_TRUE, result);
89
+
90
+ } else {
91
+
92
+ /* Currently disabled: enable first, then disable again */
93
+
94
+ /* Enable screensaver and check */
95
+ SDL_EnableScreenSaver();
96
+ SDLTest_AssertPass("Call to SDL_EnableScreenSaver()");
97
+ result = SDL_IsScreenSaverEnabled();
98
+ SDLTest_AssertPass("Call to SDL_IsScreenSaverEnabled()");
99
+ SDLTest_AssertCheck(result == SDL_TRUE, "Verify result from SDL_IsScreenSaverEnabled, expected: %i, got: %i", SDL_TRUE, result);
100
+
101
+ /* Disable screensaver and check */
102
+ SDL_DisableScreenSaver();
103
+ SDLTest_AssertPass("Call to SDL_DisableScreenSaver()");
104
+ result = SDL_IsScreenSaverEnabled();
105
+ SDLTest_AssertPass("Call to SDL_IsScreenSaverEnabled()");
106
+ SDLTest_AssertCheck(result == SDL_FALSE, "Verify result from SDL_IsScreenSaverEnabled, expected: %i, got: %i", SDL_FALSE, result);
107
+ }
108
+
109
+ return TEST_COMPLETED;
110
+ }
111
+
112
+ /**
113
+ * @brief Tests the functionality of the SDL_CreateWindow function using different positions
114
+ */
115
+ int
116
+ video_createWindowVariousPositions(void *arg)
117
+ {
118
+ SDL_Window* window;
119
+ const char* title = "video_createWindowVariousPositions Test Window";
120
+ int x, y, w, h;
121
+ int xVariation, yVariation;
122
+
123
+ for (xVariation = 0; xVariation < 6; xVariation++) {
124
+ for (yVariation = 0; yVariation < 6; yVariation++) {
125
+ switch(xVariation) {
126
+ case 0:
127
+ /* Zero X Position */
128
+ x = 0;
129
+ break;
130
+ case 1:
131
+ /* Random X position inside screen */
132
+ x = SDLTest_RandomIntegerInRange(1, 100);
133
+ break;
134
+ case 2:
135
+ /* Random X position outside screen (positive) */
136
+ x = SDLTest_RandomIntegerInRange(10000, 11000);
137
+ break;
138
+ case 3:
139
+ /* Random X position outside screen (negative) */
140
+ x = SDLTest_RandomIntegerInRange(-1000, -100);
141
+ break;
142
+ case 4:
143
+ /* Centered X position */
144
+ x = SDL_WINDOWPOS_CENTERED;
145
+ break;
146
+ case 5:
147
+ /* Undefined X position */
148
+ x = SDL_WINDOWPOS_UNDEFINED;
149
+ break;
150
+ }
151
+
152
+ switch(yVariation) {
153
+ case 0:
154
+ /* Zero X Position */
155
+ y = 0;
156
+ break;
157
+ case 1:
158
+ /* Random X position inside screen */
159
+ y = SDLTest_RandomIntegerInRange(1, 100);
160
+ break;
161
+ case 2:
162
+ /* Random X position outside screen (positive) */
163
+ y = SDLTest_RandomIntegerInRange(10000, 11000);
164
+ break;
165
+ case 3:
166
+ /* Random Y position outside screen (negative) */
167
+ y = SDLTest_RandomIntegerInRange(-1000, -100);
168
+ break;
169
+ case 4:
170
+ /* Centered Y position */
171
+ y = SDL_WINDOWPOS_CENTERED;
172
+ break;
173
+ case 5:
174
+ /* Undefined Y position */
175
+ y = SDL_WINDOWPOS_UNDEFINED;
176
+ break;
177
+ }
178
+
179
+ w = SDLTest_RandomIntegerInRange(32, 96);
180
+ h = SDLTest_RandomIntegerInRange(32, 96);
181
+ window = SDL_CreateWindow(title, x, y, w, h, SDL_WINDOW_SHOWN);
182
+ SDLTest_AssertPass("Call to SDL_CreateWindow('Title',%d,%d,%d,%d,SHOWN)", x, y, w, h);
183
+ SDLTest_AssertCheck(window != NULL, "Validate that returned window struct is not NULL");
184
+
185
+ /* Clean up */
186
+ _destroyVideoSuiteTestWindow(window);
187
+ }
188
+ }
189
+
190
+ return TEST_COMPLETED;
191
+ }
192
+
193
+ /**
194
+ * @brief Tests the functionality of the SDL_CreateWindow function using different sizes
195
+ */
196
+ int
197
+ video_createWindowVariousSizes(void *arg)
198
+ {
199
+ SDL_Window* window;
200
+ const char* title = "video_createWindowVariousSizes Test Window";
201
+ int x, y, w, h;
202
+ int wVariation, hVariation;
203
+
204
+ x = SDLTest_RandomIntegerInRange(1, 100);
205
+ y = SDLTest_RandomIntegerInRange(1, 100);
206
+ for (wVariation = 0; wVariation < 3; wVariation++) {
207
+ for (hVariation = 0; hVariation < 3; hVariation++) {
208
+ switch(wVariation) {
209
+ case 0:
210
+ /* Width of 1 */
211
+ w = 1;
212
+ break;
213
+ case 1:
214
+ /* Random "normal" width */
215
+ w = SDLTest_RandomIntegerInRange(320, 1920);
216
+ break;
217
+ case 2:
218
+ /* Random "large" width */
219
+ w = SDLTest_RandomIntegerInRange(2048, 4095);
220
+ break;
221
+ }
222
+
223
+ switch(hVariation) {
224
+ case 0:
225
+ /* Height of 1 */
226
+ h = 1;
227
+ break;
228
+ case 1:
229
+ /* Random "normal" height */
230
+ h = SDLTest_RandomIntegerInRange(320, 1080);
231
+ break;
232
+ case 2:
233
+ /* Random "large" height */
234
+ h = SDLTest_RandomIntegerInRange(2048, 4095);
235
+ break;
236
+ }
237
+
238
+ window = SDL_CreateWindow(title, x, y, w, h, SDL_WINDOW_SHOWN);
239
+ SDLTest_AssertPass("Call to SDL_CreateWindow('Title',%d,%d,%d,%d,SHOWN)", x, y, w, h);
240
+ SDLTest_AssertCheck(window != NULL, "Validate that returned window struct is not NULL");
241
+
242
+ /* Clean up */
243
+ _destroyVideoSuiteTestWindow(window);
244
+ }
245
+ }
246
+
247
+ return TEST_COMPLETED;
248
+ }
249
+
250
+ /**
251
+ * @brief Tests the functionality of the SDL_CreateWindow function using different flags
252
+ */
253
+ int
254
+ video_createWindowVariousFlags(void *arg)
255
+ {
256
+ SDL_Window* window;
257
+ const char* title = "video_createWindowVariousFlags Test Window";
258
+ int x, y, w, h;
259
+ int fVariation;
260
+ SDL_WindowFlags flags;
261
+
262
+ /* Standard window */
263
+ x = SDLTest_RandomIntegerInRange(1, 100);
264
+ y = SDLTest_RandomIntegerInRange(1, 100);
265
+ w = SDLTest_RandomIntegerInRange(320, 1024);
266
+ h = SDLTest_RandomIntegerInRange(320, 768);
267
+
268
+ for (fVariation = 0; fVariation < 13; fVariation++) {
269
+ switch(fVariation) {
270
+ case 0:
271
+ flags = SDL_WINDOW_FULLSCREEN;
272
+ /* Skip - blanks screen; comment out next line to run test */
273
+ continue;
274
+ break;
275
+ case 1:
276
+ flags = SDL_WINDOW_FULLSCREEN_DESKTOP;
277
+ /* Skip - blanks screen; comment out next line to run test */
278
+ continue;
279
+ break;
280
+ case 2:
281
+ flags = SDL_WINDOW_OPENGL;
282
+ break;
283
+ case 3:
284
+ flags = SDL_WINDOW_SHOWN;
285
+ break;
286
+ case 4:
287
+ flags = SDL_WINDOW_HIDDEN;
288
+ break;
289
+ case 5:
290
+ flags = SDL_WINDOW_BORDERLESS;
291
+ break;
292
+ case 6:
293
+ flags = SDL_WINDOW_RESIZABLE;
294
+ break;
295
+ case 7:
296
+ flags = SDL_WINDOW_MINIMIZED;
297
+ break;
298
+ case 8:
299
+ flags = SDL_WINDOW_MAXIMIZED;
300
+ break;
301
+ case 9:
302
+ flags = SDL_WINDOW_INPUT_GRABBED;
303
+ break;
304
+ case 10:
305
+ flags = SDL_WINDOW_INPUT_FOCUS;
306
+ break;
307
+ case 11:
308
+ flags = SDL_WINDOW_MOUSE_FOCUS;
309
+ break;
310
+ case 12:
311
+ flags = SDL_WINDOW_FOREIGN;
312
+ break;
313
+ }
314
+
315
+ window = SDL_CreateWindow(title, x, y, w, h, flags);
316
+ SDLTest_AssertPass("Call to SDL_CreateWindow('Title',%d,%d,%d,%d,%d)", x, y, w, h, flags);
317
+ SDLTest_AssertCheck(window != NULL, "Validate that returned window struct is not NULL");
318
+
319
+ /* Clean up */
320
+ _destroyVideoSuiteTestWindow(window);
321
+ }
322
+
323
+ return TEST_COMPLETED;
324
+ }
325
+
326
+
327
+ /**
328
+ * @brief Tests the functionality of the SDL_GetWindowFlags function
329
+ */
330
+ int
331
+ video_getWindowFlags(void *arg)
332
+ {
333
+ SDL_Window* window;
334
+ const char* title = "video_getWindowFlags Test Window";
335
+ SDL_WindowFlags flags;
336
+ Uint32 actualFlags;
337
+
338
+ /* Reliable flag set always set in test window */
339
+ flags = SDL_WINDOW_SHOWN;
340
+
341
+ /* Call against new test window */
342
+ window = _createVideoSuiteTestWindow(title);
343
+ if (window != NULL) {
344
+ actualFlags = SDL_GetWindowFlags(window);
345
+ SDLTest_AssertPass("Call to SDL_GetWindowFlags()");
346
+ SDLTest_AssertCheck((flags & actualFlags) == flags, "Verify returned value has flags %d set, got: %d", flags, actualFlags);
347
+ }
348
+
349
+ /* Clean up */
350
+ _destroyVideoSuiteTestWindow(window);
351
+
352
+ return TEST_COMPLETED;
353
+ }
354
+
355
+ /**
356
+ * @brief Tests the functionality of the SDL_GetNumDisplayModes function
357
+ */
358
+ int
359
+ video_getNumDisplayModes(void *arg)
360
+ {
361
+ int result;
362
+ int displayNum;
363
+ int i;
364
+
365
+ /* Get number of displays */
366
+ displayNum = SDL_GetNumVideoDisplays();
367
+ SDLTest_AssertPass("Call to SDL_GetNumVideoDisplays()");
368
+
369
+ /* Make call for each display */
370
+ for (i=0; i<displayNum; i++) {
371
+ result = SDL_GetNumDisplayModes(i);
372
+ SDLTest_AssertPass("Call to SDL_GetNumDisplayModes(%d)", i);
373
+ SDLTest_AssertCheck(result >= 1, "Validate returned value from function; expected: >=1; got: %d", result);
374
+ }
375
+
376
+ return TEST_COMPLETED;
377
+ }
378
+
379
+ /**
380
+ * @brief Tests negative call to SDL_GetNumDisplayModes function
381
+ */
382
+ int
383
+ video_getNumDisplayModesNegative(void *arg)
384
+ {
385
+ int result;
386
+ int displayNum;
387
+ int displayIndex;
388
+
389
+ /* Get number of displays */
390
+ displayNum = SDL_GetNumVideoDisplays();
391
+ SDLTest_AssertPass("Call to SDL_GetNumVideoDisplays()");
392
+
393
+ /* Invalid boundary values */
394
+ displayIndex = SDLTest_RandomSint32BoundaryValue(0, displayNum, SDL_FALSE);
395
+ result = SDL_GetNumDisplayModes(displayIndex);
396
+ SDLTest_AssertPass("Call to SDL_GetNumDisplayModes(%d=out-of-bounds/boundary)", displayIndex);
397
+ SDLTest_AssertCheck(result < 0, "Validate returned value from function; expected: <0; got: %d", result);
398
+
399
+ /* Large (out-of-bounds) display index */
400
+ displayIndex = SDLTest_RandomIntegerInRange(-2000, -1000);
401
+ result = SDL_GetNumDisplayModes(displayIndex);
402
+ SDLTest_AssertPass("Call to SDL_GetNumDisplayModes(%d=out-of-bounds/large negative)", displayIndex);
403
+ SDLTest_AssertCheck(result < 0, "Validate returned value from function; expected: <0; got: %d", result);
404
+
405
+ displayIndex = SDLTest_RandomIntegerInRange(1000, 2000);
406
+ result = SDL_GetNumDisplayModes(displayIndex);
407
+ SDLTest_AssertPass("Call to SDL_GetNumDisplayModes(%d=out-of-bounds/large positive)", displayIndex);
408
+ SDLTest_AssertCheck(result < 0, "Validate returned value from function; expected: <0; got: %d", result);
409
+
410
+ return TEST_COMPLETED;
411
+ }
412
+
413
+ /**
414
+ * @brief Tests the functionality of the SDL_GetClosestDisplayMode function against current resolution
415
+ */
416
+ int
417
+ video_getClosestDisplayModeCurrentResolution(void *arg)
418
+ {
419
+ int result;
420
+ SDL_DisplayMode current;
421
+ SDL_DisplayMode target;
422
+ SDL_DisplayMode closest;
423
+ SDL_DisplayMode* dResult;
424
+ int displayNum;
425
+ int i;
426
+ int variation;
427
+
428
+ /* Get number of displays */
429
+ displayNum = SDL_GetNumVideoDisplays();
430
+ SDLTest_AssertPass("Call to SDL_GetNumVideoDisplays()");
431
+
432
+ /* Make calls for each display */
433
+ for (i=0; i<displayNum; i++) {
434
+ SDLTest_Log("Testing against display: %d", i);
435
+
436
+ /* Get first display mode to get a sane resolution; this should always work */
437
+ result = SDL_GetDisplayMode(i, 0, &current);
438
+ SDLTest_AssertPass("Call to SDL_GetDisplayMode()");
439
+ SDLTest_AssertCheck(result == 0, "Verify return value, expected: 0, got: %d", result);
440
+ if (result != 0) {
441
+ return TEST_ABORTED;
442
+ }
443
+
444
+ /* Set the desired resolution equals to current resolution */
445
+ target.w = current.w;
446
+ target.h = current.h;
447
+ for (variation = 0; variation < 8; variation ++) {
448
+ /* Vary constraints on other query parameters */
449
+ target.format = (variation & 1) ? current.format : 0;
450
+ target.refresh_rate = (variation & 2) ? current.refresh_rate : 0;
451
+ target.driverdata = (variation & 4) ? current.driverdata : 0;
452
+
453
+ /* Make call */
454
+ dResult = SDL_GetClosestDisplayMode(i, &target, &closest);
455
+ SDLTest_AssertPass("Call to SDL_GetClosestDisplayMode(target=current/variation%d)", variation);
456
+ SDLTest_AssertCheck(dResult != NULL, "Verify returned value is not NULL");
457
+
458
+ /* Check that one gets the current resolution back again */
459
+ SDLTest_AssertCheck(closest.w == current.w, "Verify returned width matches current width; expected: %d, got: %d", current.w, closest.w);
460
+ SDLTest_AssertCheck(closest.h == current.h, "Verify returned height matches current height; expected: %d, got: %d", current.h, closest.h);
461
+ SDLTest_AssertCheck(closest.w == dResult->w, "Verify return value matches assigned value; expected: %d, got: %d", closest.w, dResult->w);
462
+ SDLTest_AssertCheck(closest.h == dResult->h, "Verify return value matches assigned value; expected: %d, got: %d", closest.h, dResult->h);
463
+ }
464
+ }
465
+
466
+ return TEST_COMPLETED;
467
+ }
468
+
469
+ /**
470
+ * @brief Tests the functionality of the SDL_GetClosestDisplayMode function against random resolution
471
+ */
472
+ int
473
+ video_getClosestDisplayModeRandomResolution(void *arg)
474
+ {
475
+ SDL_DisplayMode target;
476
+ SDL_DisplayMode closest;
477
+ SDL_DisplayMode* dResult;
478
+ int displayNum;
479
+ int i;
480
+ int variation;
481
+
482
+ /* Get number of displays */
483
+ displayNum = SDL_GetNumVideoDisplays();
484
+ SDLTest_AssertPass("Call to SDL_GetNumVideoDisplays()");
485
+
486
+ /* Make calls for each display */
487
+ for (i=0; i<displayNum; i++) {
488
+ SDLTest_Log("Testing against display: %d", i);
489
+
490
+ for (variation = 0; variation < 16; variation ++) {
491
+
492
+ /* Set random constraints */
493
+ target.w = (variation & 1) ? SDLTest_RandomIntegerInRange(1, 4096) : 0;
494
+ target.h = (variation & 2) ? SDLTest_RandomIntegerInRange(1, 4096) : 0;
495
+ target.format = (variation & 4) ? SDLTest_RandomIntegerInRange(1, 10) : 0;
496
+ target.refresh_rate = (variation & 8) ? SDLTest_RandomIntegerInRange(25, 120) : 0;
497
+ target.driverdata = 0;
498
+
499
+ /* Make call; may or may not find anything, so don't validate any further */
500
+ dResult = SDL_GetClosestDisplayMode(i, &target, &closest);
501
+ SDLTest_AssertPass("Call to SDL_GetClosestDisplayMode(target=random/variation%d)", variation);
502
+ }
503
+ }
504
+
505
+ return TEST_COMPLETED;
506
+ }
507
+
508
+ /**
509
+ * @brief Tests call to SDL_GetWindowBrightness
510
+ *
511
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_GetWindowBrightness
512
+ */
513
+ int
514
+ video_getWindowBrightness(void *arg)
515
+ {
516
+ SDL_Window* window;
517
+ const char* title = "video_getWindowBrightness Test Window";
518
+ float result;
519
+
520
+ /* Call against new test window */
521
+ window = _createVideoSuiteTestWindow(title);
522
+ if (window != NULL) {
523
+ result = SDL_GetWindowBrightness(window);
524
+ SDLTest_AssertPass("Call to SDL_GetWindowBrightness()");
525
+ SDLTest_AssertCheck(result >= 0.0 && result <= 1.0, "Validate range of result value; expected: [0.0, 1.0], got: %f", result);
526
+ }
527
+
528
+ /* Clean up */
529
+ _destroyVideoSuiteTestWindow(window);
530
+
531
+ return TEST_COMPLETED;
532
+ }
533
+
534
+ /**
535
+ * @brief Tests call to SDL_GetWindowBrightness with invalid input
536
+ *
537
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_GetWindowBrightness
538
+ */
539
+ int
540
+ video_getWindowBrightnessNegative(void *arg)
541
+ {
542
+ const char *invalidWindowError = "Invalid window";
543
+ char *lastError;
544
+ float result;
545
+
546
+ /* Call against invalid window */
547
+ result = SDL_GetWindowBrightness(NULL);
548
+ SDLTest_AssertPass("Call to SDL_GetWindowBrightness(window=NULL)");
549
+ SDLTest_AssertCheck(result == 1.0, "Validate result value; expected: 1.0, got: %f", result);
550
+ lastError = (char *)SDL_GetError();
551
+ SDLTest_AssertPass("SDL_GetError()");
552
+ SDLTest_AssertCheck(lastError != NULL, "Verify error message is not NULL");
553
+ if (lastError != NULL) {
554
+ SDLTest_AssertCheck(SDL_strcmp(lastError, invalidWindowError) == 0,
555
+ "SDL_GetError(): expected message '%s', was message: '%s'",
556
+ invalidWindowError,
557
+ lastError);
558
+ }
559
+
560
+ return TEST_COMPLETED;
561
+ }
562
+
563
+ /**
564
+ * @brief Tests call to SDL_GetWindowDisplayMode
565
+ *
566
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_GetWindowDisplayMode
567
+ */
568
+ int
569
+ video_getWindowDisplayMode(void *arg)
570
+ {
571
+ SDL_Window* window;
572
+ const char* title = "video_getWindowDisplayMode Test Window";
573
+ SDL_DisplayMode mode;
574
+ int result;
575
+
576
+ /* Invalidate part of the mode content so we can check values later */
577
+ mode.w = -1;
578
+ mode.h = -1;
579
+ mode.refresh_rate = -1;
580
+
581
+ /* Call against new test window */
582
+ window = _createVideoSuiteTestWindow(title);
583
+ if (window != NULL) {
584
+ result = SDL_GetWindowDisplayMode(window, &mode);
585
+ SDLTest_AssertPass("Call to SDL_GetWindowDisplayMode()");
586
+ SDLTest_AssertCheck(result == 0, "Validate result value; expected: 0, got: %d", result);
587
+ SDLTest_AssertCheck(mode.w > 0, "Validate mode.w content; expected: >0, got: %d", mode.w);
588
+ SDLTest_AssertCheck(mode.h > 0, "Validate mode.h content; expected: >0, got: %d", mode.h);
589
+ SDLTest_AssertCheck(mode.refresh_rate > 0, "Validate mode.refresh_rate content; expected: >0, got: %d", mode.refresh_rate);
590
+ }
591
+
592
+ /* Clean up */
593
+ _destroyVideoSuiteTestWindow(window);
594
+
595
+ return TEST_COMPLETED;
596
+ }
597
+
598
+ /* Helper function that checks for an 'Invalid window' error */
599
+ void _checkInvalidWindowError()
600
+ {
601
+ const char *invalidWindowError = "Invalid window";
602
+ char *lastError;
603
+
604
+ lastError = (char *)SDL_GetError();
605
+ SDLTest_AssertPass("SDL_GetError()");
606
+ SDLTest_AssertCheck(lastError != NULL, "Verify error message is not NULL");
607
+ if (lastError != NULL) {
608
+ SDLTest_AssertCheck(SDL_strcmp(lastError, invalidWindowError) == 0,
609
+ "SDL_GetError(): expected message '%s', was message: '%s'",
610
+ invalidWindowError,
611
+ lastError);
612
+ SDL_ClearError();
613
+ SDLTest_AssertPass("Call to SDL_ClearError()");
614
+ }
615
+ }
616
+
617
+ /**
618
+ * @brief Tests call to SDL_GetWindowDisplayMode with invalid input
619
+ *
620
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_GetWindowDisplayMode
621
+ */
622
+ int
623
+ video_getWindowDisplayModeNegative(void *arg)
624
+ {
625
+ const char *expectedError = "Parameter 'mode' is invalid";
626
+ char *lastError;
627
+ SDL_Window* window;
628
+ const char* title = "video_getWindowDisplayModeNegative Test Window";
629
+ SDL_DisplayMode mode;
630
+ int result;
631
+
632
+ /* Call against new test window */
633
+ window = _createVideoSuiteTestWindow(title);
634
+ if (window != NULL) {
635
+ result = SDL_GetWindowDisplayMode(window, NULL);
636
+ SDLTest_AssertPass("Call to SDL_GetWindowDisplayMode(...,mode=NULL)");
637
+ SDLTest_AssertCheck(result == -1, "Validate result value; expected: -1, got: %d", result);
638
+ lastError = (char *)SDL_GetError();
639
+ SDLTest_AssertPass("SDL_GetError()");
640
+ SDLTest_AssertCheck(lastError != NULL, "Verify error message is not NULL");
641
+ if (lastError != NULL) {
642
+ SDLTest_AssertCheck(SDL_strcmp(lastError, expectedError) == 0,
643
+ "SDL_GetError(): expected message '%s', was message: '%s'",
644
+ expectedError,
645
+ lastError);
646
+ }
647
+ }
648
+
649
+ /* Clean up */
650
+ _destroyVideoSuiteTestWindow(window);
651
+
652
+ /* Call against invalid window */
653
+ result = SDL_GetWindowDisplayMode(NULL, &mode);
654
+ SDLTest_AssertPass("Call to SDL_GetWindowDisplayMode(window=NULL,...)");
655
+ SDLTest_AssertCheck(result == -1, "Validate result value; expected: -1, got: %d", result);
656
+ _checkInvalidWindowError();
657
+
658
+ return TEST_COMPLETED;
659
+ }
660
+
661
+ /**
662
+ * @brief Tests call to SDL_GetWindowGammaRamp
663
+ *
664
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_GetWindowGammaRamp
665
+ */
666
+ int
667
+ video_getWindowGammaRamp(void *arg)
668
+ {
669
+ SDL_Window* window;
670
+ const char* title = "video_getWindowGammaRamp Test Window";
671
+ Uint16 red[256];
672
+ Uint16 green[256];
673
+ Uint16 blue[256];
674
+ int result;
675
+
676
+ /* Call against new test window */
677
+ window = _createVideoSuiteTestWindow(title);
678
+ if (window == NULL) return TEST_ABORTED;
679
+
680
+ /* Retrieve no channel */
681
+ result = SDL_GetWindowGammaRamp(window, NULL, NULL, NULL);
682
+ SDLTest_AssertPass("Call to SDL_GetWindowGammaRamp(all NULL)");
683
+ SDLTest_AssertCheck(result == 0, "Validate result value; expected: 0, got: %d", result);
684
+
685
+ /* Retrieve single channel */
686
+ result = SDL_GetWindowGammaRamp(window, red, NULL, NULL);
687
+ SDLTest_AssertPass("Call to SDL_GetWindowGammaRamp(r)");
688
+ SDLTest_AssertCheck(result == 0, "Validate result value; expected: 0, got: %d", result);
689
+
690
+ result = SDL_GetWindowGammaRamp(window, NULL, green, NULL);
691
+ SDLTest_AssertPass("Call to SDL_GetWindowGammaRamp(g)");
692
+ SDLTest_AssertCheck(result == 0, "Validate result value; expected: 0, got: %d", result);
693
+
694
+ result = SDL_GetWindowGammaRamp(window, NULL, NULL, blue);
695
+ SDLTest_AssertPass("Call to SDL_GetWindowGammaRamp(b)");
696
+ SDLTest_AssertCheck(result == 0, "Validate result value; expected: 0, got: %d", result);
697
+
698
+ /* Retrieve two channels */
699
+ result = SDL_GetWindowGammaRamp(window, red, green, NULL);
700
+ SDLTest_AssertPass("Call to SDL_GetWindowGammaRamp(r, g)");
701
+ SDLTest_AssertCheck(result == 0, "Validate result value; expected: 0, got: %d", result);
702
+
703
+ result = SDL_GetWindowGammaRamp(window, NULL, green, blue);
704
+ SDLTest_AssertPass("Call to SDL_GetWindowGammaRamp(g,b)");
705
+ SDLTest_AssertCheck(result == 0, "Validate result value; expected: 0, got: %d", result);
706
+
707
+ result = SDL_GetWindowGammaRamp(window, red, NULL, blue);
708
+ SDLTest_AssertPass("Call to SDL_GetWindowGammaRamp(r,b)");
709
+ SDLTest_AssertCheck(result == 0, "Validate result value; expected: 0, got: %d", result);
710
+
711
+ /* Retrieve all channels */
712
+ result = SDL_GetWindowGammaRamp(window, red, green, blue);
713
+ SDLTest_AssertPass("Call to SDL_GetWindowGammaRamp(r,g,b)");
714
+ SDLTest_AssertCheck(result == 0, "Validate result value; expected: 0, got: %d", result);
715
+
716
+ /* Clean up */
717
+ _destroyVideoSuiteTestWindow(window);
718
+
719
+ return TEST_COMPLETED;
720
+ }
721
+
722
+ /**
723
+ * @brief Tests call to SDL_GetWindowGammaRamp with invalid input
724
+ *
725
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_GetWindowGammaRamp
726
+ */
727
+ int
728
+ video_getWindowGammaRampNegative(void *arg)
729
+ {
730
+ Uint16 red[256];
731
+ Uint16 green[256];
732
+ Uint16 blue[256];
733
+ int result;
734
+
735
+ SDL_ClearError();
736
+ SDLTest_AssertPass("Call to SDL_ClearError()");
737
+
738
+ /* Call against invalid window */
739
+ result = SDL_GetWindowGammaRamp(NULL, red, green, blue);
740
+ SDLTest_AssertPass("Call to SDL_GetWindowGammaRamp(window=NULL,r,g,b)");
741
+ SDLTest_AssertCheck(result == -1, "Validate result value; expected: -1, got: %i", result);
742
+ _checkInvalidWindowError();
743
+
744
+ return TEST_COMPLETED;
745
+ }
746
+
747
+ /* Helper for setting and checking the window grab state */
748
+ void
749
+ _setAndCheckWindowGrabState(SDL_Window* window, SDL_bool desiredState)
750
+ {
751
+ SDL_bool currentState;
752
+
753
+ /* Set state */
754
+ SDL_SetWindowGrab(window, desiredState);
755
+ SDLTest_AssertPass("Call to SDL_SetWindowGrab(%s)", (desiredState == SDL_FALSE) ? "SDL_FALSE" : "SDL_TRUE");
756
+
757
+ /* Get and check state */
758
+ currentState = SDL_GetWindowGrab(window);
759
+ SDLTest_AssertPass("Call to SDL_GetWindowGrab()");
760
+ SDLTest_AssertCheck(
761
+ currentState == desiredState,
762
+ "Validate returned state; expected: %s, got: %s",
763
+ (desiredState == SDL_FALSE) ? "SDL_FALSE" : "SDL_TRUE",
764
+ (currentState == SDL_FALSE) ? "SDL_FALSE" : "SDL_TRUE");
765
+ }
766
+
767
+ /**
768
+ * @brief Tests call to SDL_GetWindowGrab and SDL_SetWindowGrab
769
+ *
770
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_GetWindowGrab
771
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_SetWindowGrab
772
+ */
773
+ int
774
+ video_getSetWindowGrab(void *arg)
775
+ {
776
+ const char* title = "video_getSetWindowGrab Test Window";
777
+ SDL_Window* window;
778
+ SDL_bool originalState, dummyState, currentState, desiredState;
779
+
780
+ /* Call against new test window */
781
+ window = _createVideoSuiteTestWindow(title);
782
+ if (window == NULL) return TEST_ABORTED;
783
+
784
+ /* Get state */
785
+ originalState = SDL_GetWindowGrab(window);
786
+ SDLTest_AssertPass("Call to SDL_GetWindowGrab()");
787
+
788
+ /* F */
789
+ _setAndCheckWindowGrabState(window, SDL_FALSE);
790
+
791
+ /* F --> F */
792
+ _setAndCheckWindowGrabState(window, SDL_FALSE);
793
+
794
+ /* F --> T */
795
+ _setAndCheckWindowGrabState(window, SDL_TRUE);
796
+
797
+ /* T --> T */
798
+ _setAndCheckWindowGrabState(window, SDL_TRUE);
799
+
800
+ /* T --> F */
801
+ _setAndCheckWindowGrabState(window, SDL_FALSE);
802
+
803
+ /* Negative tests */
804
+ dummyState = SDL_GetWindowGrab(NULL);
805
+ SDLTest_AssertPass("Call to SDL_GetWindowGrab(window=NULL)");
806
+ _checkInvalidWindowError();
807
+
808
+ SDL_SetWindowGrab(NULL, SDL_FALSE);
809
+ SDLTest_AssertPass("Call to SDL_SetWindowGrab(window=NULL,SDL_FALSE)");
810
+ _checkInvalidWindowError();
811
+
812
+ SDL_SetWindowGrab(NULL, SDL_TRUE);
813
+ SDLTest_AssertPass("Call to SDL_SetWindowGrab(window=NULL,SDL_FALSE)");
814
+ _checkInvalidWindowError();
815
+
816
+ /* State should still be F */
817
+ desiredState = SDL_FALSE;
818
+ currentState = SDL_GetWindowGrab(window);
819
+ SDLTest_AssertPass("Call to SDL_GetWindowGrab()");
820
+ SDLTest_AssertCheck(
821
+ currentState == desiredState,
822
+ "Validate returned state; expected: %s, got: %s",
823
+ (desiredState == SDL_FALSE) ? "SDL_FALSE" : "SDL_TRUE",
824
+ (currentState == SDL_FALSE) ? "SDL_FALSE" : "SDL_TRUE");
825
+
826
+ /* Restore state */
827
+ _setAndCheckWindowGrabState(window, originalState);
828
+
829
+ /* Clean up */
830
+ _destroyVideoSuiteTestWindow(window);
831
+
832
+ return TEST_COMPLETED;
833
+ }
834
+
835
+
836
+ /**
837
+ * @brief Tests call to SDL_GetWindowID and SDL_GetWindowFromID
838
+ *
839
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_GetWindowID
840
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_SetWindowFromID
841
+ */
842
+ int
843
+ video_getWindowId(void *arg)
844
+ {
845
+ const char* title = "video_getWindowId Test Window";
846
+ SDL_Window* window;
847
+ SDL_Window* result;
848
+ Uint32 id, randomId;
849
+
850
+ /* Call against new test window */
851
+ window = _createVideoSuiteTestWindow(title);
852
+ if (window == NULL) return TEST_ABORTED;
853
+
854
+ /* Get ID */
855
+ id = SDL_GetWindowID(window);
856
+ SDLTest_AssertPass("Call to SDL_GetWindowID()");
857
+
858
+ /* Get window from ID */
859
+ result = SDL_GetWindowFromID(id);
860
+ SDLTest_AssertPass("Call to SDL_GetWindowID(%d)", id);
861
+ SDLTest_AssertCheck(result == window, "Verify result matches window pointer");
862
+
863
+ /* Get window from random large ID, no result check */
864
+ randomId = SDLTest_RandomIntegerInRange(UINT8_MAX,UINT16_MAX);
865
+ result = SDL_GetWindowFromID(randomId);
866
+ SDLTest_AssertPass("Call to SDL_GetWindowID(%d/random_large)", randomId);
867
+
868
+ /* Get window from 0 and Uint32 max ID, no result check */
869
+ result = SDL_GetWindowFromID(0);
870
+ SDLTest_AssertPass("Call to SDL_GetWindowID(0)");
871
+ result = SDL_GetWindowFromID(UINT32_MAX);
872
+ SDLTest_AssertPass("Call to SDL_GetWindowID(UINT32_MAX)");
873
+
874
+ /* Clean up */
875
+ _destroyVideoSuiteTestWindow(window);
876
+
877
+ /* Get window from ID for closed window */
878
+ result = SDL_GetWindowFromID(id);
879
+ SDLTest_AssertPass("Call to SDL_GetWindowID(%d/closed_window)", id);
880
+ SDLTest_AssertCheck(result == NULL, "Verify result is NULL");
881
+
882
+ /* Negative test */
883
+ SDL_ClearError();
884
+ SDLTest_AssertPass("Call to SDL_ClearError()");
885
+ id = SDL_GetWindowID(NULL);
886
+ SDLTest_AssertPass("Call to SDL_GetWindowID(window=NULL)");
887
+ _checkInvalidWindowError();
888
+
889
+ return TEST_COMPLETED;
890
+ }
891
+
892
+ /**
893
+ * @brief Tests call to SDL_GetWindowPixelFormat
894
+ *
895
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_GetWindowPixelFormat
896
+ */
897
+ int
898
+ video_getWindowPixelFormat(void *arg)
899
+ {
900
+ const char* title = "video_getWindowPixelFormat Test Window";
901
+ SDL_Window* window;
902
+ Uint32 format;
903
+
904
+ /* Call against new test window */
905
+ window = _createVideoSuiteTestWindow(title);
906
+ if (window == NULL) return TEST_ABORTED;
907
+
908
+ /* Get format */
909
+ format = SDL_GetWindowPixelFormat(window);
910
+ SDLTest_AssertPass("Call to SDL_GetWindowPixelFormat()");
911
+ SDLTest_AssertCheck(format != SDL_PIXELFORMAT_UNKNOWN, "Verify that returned format is valid; expected: != %d, got: %d", SDL_PIXELFORMAT_UNKNOWN, format);
912
+
913
+ /* Clean up */
914
+ _destroyVideoSuiteTestWindow(window);
915
+
916
+ /* Negative test */
917
+ SDL_ClearError();
918
+ SDLTest_AssertPass("Call to SDL_ClearError()");
919
+ format = SDL_GetWindowPixelFormat(NULL);
920
+ SDLTest_AssertPass("Call to SDL_GetWindowPixelFormat(window=NULL)");
921
+ _checkInvalidWindowError();
922
+
923
+ return TEST_COMPLETED;
924
+ }
925
+
926
+ /**
927
+ * @brief Tests call to SDL_GetWindowPosition and SDL_SetWindowPosition
928
+ *
929
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_GetWindowPosition
930
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_SetWindowPosition
931
+ */
932
+ int
933
+ video_getSetWindowPosition(void *arg)
934
+ {
935
+ const char* title = "video_getSetWindowPosition Test Window";
936
+ SDL_Window* window;
937
+ int xVariation, yVariation;
938
+ int referenceX, referenceY;
939
+ int currentX, currentY;
940
+ int desiredX, desiredY;
941
+
942
+ /* Call against new test window */
943
+ window = _createVideoSuiteTestWindow(title);
944
+ if (window == NULL) return TEST_ABORTED;
945
+
946
+ for (xVariation = 0; xVariation < 4; xVariation++) {
947
+ for (yVariation = 0; yVariation < 4; yVariation++) {
948
+ switch(xVariation) {
949
+ case 0:
950
+ /* Zero X Position */
951
+ desiredX = 0;
952
+ break;
953
+ case 1:
954
+ /* Random X position inside screen */
955
+ desiredX = SDLTest_RandomIntegerInRange(1, 100);
956
+ break;
957
+ case 2:
958
+ /* Random X position outside screen (positive) */
959
+ desiredX = SDLTest_RandomIntegerInRange(10000, 11000);
960
+ break;
961
+ case 3:
962
+ /* Random X position outside screen (negative) */
963
+ desiredX = SDLTest_RandomIntegerInRange(-1000, -100);
964
+ break;
965
+ }
966
+
967
+ switch(yVariation) {
968
+ case 0:
969
+ /* Zero X Position */
970
+ desiredY = 0;
971
+ break;
972
+ case 1:
973
+ /* Random X position inside screen */
974
+ desiredY = SDLTest_RandomIntegerInRange(1, 100);
975
+ break;
976
+ case 2:
977
+ /* Random X position outside screen (positive) */
978
+ desiredY = SDLTest_RandomIntegerInRange(10000, 11000);
979
+ break;
980
+ case 3:
981
+ /* Random Y position outside screen (negative) */
982
+ desiredY = SDLTest_RandomIntegerInRange(-1000, -100);
983
+ break;
984
+ }
985
+
986
+ /* Set position */
987
+ SDL_SetWindowPosition(window, desiredX, desiredY);
988
+ SDLTest_AssertPass("Call to SDL_SetWindowPosition(...,%d,%d)", desiredX, desiredY);
989
+
990
+ /* Get position */
991
+ currentX = desiredX + 1;
992
+ currentY = desiredY + 1;
993
+ SDL_GetWindowPosition(window, &currentX, &currentY);
994
+ SDLTest_AssertPass("Call to SDL_GetWindowPosition()");
995
+ SDLTest_AssertCheck(desiredX == currentX, "Verify returned X position; expected: %d, got: %d", desiredX, currentX);
996
+ SDLTest_AssertCheck(desiredY == currentY, "Verify returned Y position; expected: %d, got: %d", desiredY, currentY);
997
+
998
+ /* Get position X */
999
+ currentX = desiredX + 1;
1000
+ SDL_GetWindowPosition(window, &currentX, NULL);
1001
+ SDLTest_AssertPass("Call to SDL_GetWindowPosition(&y=NULL)");
1002
+ SDLTest_AssertCheck(desiredX == currentX, "Verify returned X position; expected: %d, got: %d", desiredX, currentX);
1003
+
1004
+ /* Get position Y */
1005
+ currentY = desiredY + 1;
1006
+ SDL_GetWindowPosition(window, NULL, &currentY);
1007
+ SDLTest_AssertPass("Call to SDL_GetWindowPosition(&x=NULL)");
1008
+ SDLTest_AssertCheck(desiredY == currentY, "Verify returned Y position; expected: %d, got: %d", desiredY, currentY);
1009
+ }
1010
+ }
1011
+
1012
+ /* Dummy call with both pointers NULL */
1013
+ SDL_GetWindowPosition(window, NULL, NULL);
1014
+ SDLTest_AssertPass("Call to SDL_GetWindowPosition(&x=NULL,&y=NULL)");
1015
+
1016
+ /* Clean up */
1017
+ _destroyVideoSuiteTestWindow(window);
1018
+
1019
+ /* Set some 'magic' value for later check that nothing was changed */
1020
+ referenceX = SDLTest_RandomSint32();
1021
+ referenceY = SDLTest_RandomSint32();
1022
+ currentX = referenceX;
1023
+ currentY = referenceY;
1024
+ desiredX = SDLTest_RandomSint32();
1025
+ desiredY = SDLTest_RandomSint32();
1026
+
1027
+ /* Negative tests */
1028
+ SDL_ClearError();
1029
+ SDLTest_AssertPass("Call to SDL_ClearError()");
1030
+ SDL_GetWindowPosition(NULL, &currentX, &currentY);
1031
+ SDLTest_AssertPass("Call to SDL_GetWindowPosition(window=NULL)");
1032
+ SDLTest_AssertCheck(
1033
+ currentX == referenceX && currentY == referenceY,
1034
+ "Verify that content of X and Y pointers has not been modified; expected: %d,%d; got: %d,%d",
1035
+ referenceX, referenceY,
1036
+ currentX, currentY);
1037
+ _checkInvalidWindowError();
1038
+
1039
+ SDL_GetWindowPosition(NULL, NULL, NULL);
1040
+ SDLTest_AssertPass("Call to SDL_GetWindowPosition(NULL, NULL, NULL)");
1041
+ _checkInvalidWindowError();
1042
+
1043
+ SDL_SetWindowPosition(NULL, desiredX, desiredY);
1044
+ SDLTest_AssertPass("Call to SDL_SetWindowPosition(window=NULL)");
1045
+ _checkInvalidWindowError();
1046
+
1047
+ return TEST_COMPLETED;
1048
+ }
1049
+
1050
+ /* Helper function that checks for an 'Invalid parameter' error */
1051
+ void _checkInvalidParameterError()
1052
+ {
1053
+ const char *invalidParameterError = "Parameter";
1054
+ char *lastError;
1055
+
1056
+ lastError = (char *)SDL_GetError();
1057
+ SDLTest_AssertPass("SDL_GetError()");
1058
+ SDLTest_AssertCheck(lastError != NULL, "Verify error message is not NULL");
1059
+ if (lastError != NULL) {
1060
+ SDLTest_AssertCheck(SDL_strncmp(lastError, invalidParameterError, SDL_strlen(invalidParameterError)) == 0,
1061
+ "SDL_GetError(): expected message starts with '%s', was message: '%s'",
1062
+ invalidParameterError,
1063
+ lastError);
1064
+ SDL_ClearError();
1065
+ SDLTest_AssertPass("Call to SDL_ClearError()");
1066
+ }
1067
+ }
1068
+
1069
+ /**
1070
+ * @brief Tests call to SDL_GetWindowSize and SDL_SetWindowSize
1071
+ *
1072
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_GetWindowSize
1073
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_SetWindowSize
1074
+ */
1075
+ int
1076
+ video_getSetWindowSize(void *arg)
1077
+ {
1078
+ const char* title = "video_getSetWindowSize Test Window";
1079
+ SDL_Window* window;
1080
+ int result;
1081
+ SDL_Rect display;
1082
+ int maxwVariation, maxhVariation;
1083
+ int wVariation, hVariation;
1084
+ int referenceW, referenceH;
1085
+ int currentW, currentH;
1086
+ int desiredW, desiredH;
1087
+
1088
+ /* Get display bounds for size range */
1089
+ result = SDL_GetDisplayBounds(0, &display);
1090
+ SDLTest_AssertPass("SDL_GetDisplayBounds()");
1091
+ SDLTest_AssertCheck(result == 0, "Verify return value; expected: 0, got: %d", result);
1092
+ if (result != 0) return TEST_ABORTED;
1093
+
1094
+ /* Call against new test window */
1095
+ window = _createVideoSuiteTestWindow(title);
1096
+ if (window == NULL) return TEST_ABORTED;
1097
+
1098
+ #ifdef __WIN32__
1099
+ /* Platform clips window size to screen size */
1100
+ maxwVariation = 4;
1101
+ maxhVariation = 4;
1102
+ #else
1103
+ /* Platform allows window size >= screen size */
1104
+ maxwVariation = 5;
1105
+ maxhVariation = 5;
1106
+ #endif
1107
+
1108
+ for (wVariation = 0; wVariation < maxwVariation; wVariation++) {
1109
+ for (hVariation = 0; hVariation < maxhVariation; hVariation++) {
1110
+ switch(wVariation) {
1111
+ case 0:
1112
+ /* 1 Pixel Wide */
1113
+ desiredW = 1;
1114
+ break;
1115
+ case 1:
1116
+ /* Random width inside screen */
1117
+ desiredW = SDLTest_RandomIntegerInRange(1, 100);
1118
+ break;
1119
+ case 2:
1120
+ /* Width 1 pixel smaller than screen */
1121
+ desiredW = display.w - 1;
1122
+ break;
1123
+ case 3:
1124
+ /* Width at screen size */
1125
+ desiredW = display.w;
1126
+ break;
1127
+ case 4:
1128
+ /* Width 1 pixel larger than screen */
1129
+ desiredW = display.w + 1;
1130
+ break;
1131
+ }
1132
+
1133
+ switch(hVariation) {
1134
+ case 0:
1135
+ /* 1 Pixel High */
1136
+ desiredH = 1;
1137
+ break;
1138
+ case 1:
1139
+ /* Random height inside screen */
1140
+ desiredH = SDLTest_RandomIntegerInRange(1, 100);
1141
+ break;
1142
+ case 2:
1143
+ /* Height 1 pixel smaller than screen */
1144
+ desiredH = display.h - 1;
1145
+ break;
1146
+ case 3:
1147
+ /* Height at screen size */
1148
+ desiredH = display.h;
1149
+ break;
1150
+ case 4:
1151
+ /* Height 1 pixel larger than screen */
1152
+ desiredH = display.h + 1;
1153
+ break;
1154
+ }
1155
+
1156
+ /* Set size */
1157
+ SDL_SetWindowSize(window, desiredW, desiredH);
1158
+ SDLTest_AssertPass("Call to SDL_SetWindowSize(...,%d,%d)", desiredW, desiredH);
1159
+
1160
+ /* Get size */
1161
+ currentW = desiredW + 1;
1162
+ currentH = desiredH + 1;
1163
+ SDL_GetWindowSize(window, &currentW, &currentH);
1164
+ SDLTest_AssertPass("Call to SDL_GetWindowSize()");
1165
+ SDLTest_AssertCheck(desiredW == currentW, "Verify returned width; expected: %d, got: %d", desiredW, currentW);
1166
+ SDLTest_AssertCheck(desiredH == currentH, "Verify returned height; expected: %d, got: %d", desiredH, currentH);
1167
+
1168
+ /* Get just width */
1169
+ currentW = desiredW + 1;
1170
+ SDL_GetWindowSize(window, &currentW, NULL);
1171
+ SDLTest_AssertPass("Call to SDL_GetWindowSize(&h=NULL)");
1172
+ SDLTest_AssertCheck(desiredW == currentW, "Verify returned width; expected: %d, got: %d", desiredW, currentW);
1173
+
1174
+ /* Get just height */
1175
+ currentH = desiredH + 1;
1176
+ SDL_GetWindowSize(window, NULL, &currentH);
1177
+ SDLTest_AssertPass("Call to SDL_GetWindowSize(&w=NULL)");
1178
+ SDLTest_AssertCheck(desiredH == currentH, "Verify returned height; expected: %d, got: %d", desiredH, currentH);
1179
+ }
1180
+ }
1181
+
1182
+ /* Dummy call with both pointers NULL */
1183
+ SDL_GetWindowSize(window, NULL, NULL);
1184
+ SDLTest_AssertPass("Call to SDL_GetWindowSize(&w=NULL,&h=NULL)");
1185
+
1186
+ /* Negative tests for parameter input */
1187
+ SDL_ClearError();
1188
+ SDLTest_AssertPass("Call to SDL_ClearError()");
1189
+ for (desiredH = -2; desiredH < 2; desiredH++) {
1190
+ for (desiredW = -2; desiredW < 2; desiredW++) {
1191
+ if (desiredW <= 0 || desiredH <= 0) {
1192
+ SDL_SetWindowSize(window, desiredW, desiredH);
1193
+ SDLTest_AssertPass("Call to SDL_SetWindowSize(...,%d,%d)", desiredW, desiredH);
1194
+ _checkInvalidParameterError();
1195
+ }
1196
+ }
1197
+ }
1198
+
1199
+ /* Clean up */
1200
+ _destroyVideoSuiteTestWindow(window);
1201
+
1202
+ /* Set some 'magic' value for later check that nothing was changed */
1203
+ referenceW = SDLTest_RandomSint32();
1204
+ referenceH = SDLTest_RandomSint32();
1205
+ currentW = referenceW;
1206
+ currentH = referenceH;
1207
+ desiredW = SDLTest_RandomSint32();
1208
+ desiredH = SDLTest_RandomSint32();
1209
+
1210
+ /* Negative tests for window input */
1211
+ SDL_ClearError();
1212
+ SDLTest_AssertPass("Call to SDL_ClearError()");
1213
+ SDL_GetWindowSize(NULL, &currentW, &currentH);
1214
+ SDLTest_AssertPass("Call to SDL_GetWindowSize(window=NULL)");
1215
+ SDLTest_AssertCheck(
1216
+ currentW == referenceW && currentH == referenceH,
1217
+ "Verify that content of W and H pointers has not been modified; expected: %d,%d; got: %d,%d",
1218
+ referenceW, referenceH,
1219
+ currentW, currentH);
1220
+ _checkInvalidWindowError();
1221
+
1222
+ SDL_GetWindowSize(NULL, NULL, NULL);
1223
+ SDLTest_AssertPass("Call to SDL_GetWindowSize(NULL, NULL, NULL)");
1224
+ _checkInvalidWindowError();
1225
+
1226
+ SDL_SetWindowSize(NULL, desiredW, desiredH);
1227
+ SDLTest_AssertPass("Call to SDL_SetWindowSize(window=NULL)");
1228
+ _checkInvalidWindowError();
1229
+
1230
+ return TEST_COMPLETED;
1231
+ }
1232
+
1233
+ /**
1234
+ * @brief Tests call to SDL_GetWindowMinimumSize and SDL_SetWindowMinimumSize
1235
+ *
1236
+ */
1237
+ int
1238
+ video_getSetWindowMinimumSize(void *arg)
1239
+ {
1240
+ const char* title = "video_getSetWindowMinimumSize Test Window";
1241
+ SDL_Window* window;
1242
+ int result;
1243
+ SDL_Rect display;
1244
+ int wVariation, hVariation;
1245
+ int referenceW, referenceH;
1246
+ int currentW, currentH;
1247
+ int desiredW, desiredH;
1248
+
1249
+ /* Get display bounds for size range */
1250
+ result = SDL_GetDisplayBounds(0, &display);
1251
+ SDLTest_AssertPass("SDL_GetDisplayBounds()");
1252
+ SDLTest_AssertCheck(result == 0, "Verify return value; expected: 0, got: %d", result);
1253
+ if (result != 0) return TEST_ABORTED;
1254
+
1255
+ /* Call against new test window */
1256
+ window = _createVideoSuiteTestWindow(title);
1257
+ if (window == NULL) return TEST_ABORTED;
1258
+
1259
+ for (wVariation = 0; wVariation < 5; wVariation++) {
1260
+ for (hVariation = 0; hVariation < 5; hVariation++) {
1261
+ switch(wVariation) {
1262
+ case 0:
1263
+ /* 1 Pixel Wide */
1264
+ desiredW = 1;
1265
+ break;
1266
+ case 1:
1267
+ /* Random width inside screen */
1268
+ desiredW = SDLTest_RandomIntegerInRange(2, display.w - 1);
1269
+ break;
1270
+ case 2:
1271
+ /* Width at screen size */
1272
+ desiredW = display.w;
1273
+ break;
1274
+ }
1275
+
1276
+ switch(hVariation) {
1277
+ case 0:
1278
+ /* 1 Pixel High */
1279
+ desiredH = 1;
1280
+ break;
1281
+ case 1:
1282
+ /* Random height inside screen */
1283
+ desiredH = SDLTest_RandomIntegerInRange(2, display.h - 1);
1284
+ break;
1285
+ case 2:
1286
+ /* Height at screen size */
1287
+ desiredH = display.h;
1288
+ break;
1289
+ case 4:
1290
+ /* Height 1 pixel larger than screen */
1291
+ desiredH = display.h + 1;
1292
+ break;
1293
+ }
1294
+
1295
+ /* Set size */
1296
+ SDL_SetWindowMinimumSize(window, desiredW, desiredH);
1297
+ SDLTest_AssertPass("Call to SDL_SetWindowMinimumSize(...,%d,%d)", desiredW, desiredH);
1298
+
1299
+ /* Get size */
1300
+ currentW = desiredW + 1;
1301
+ currentH = desiredH + 1;
1302
+ SDL_GetWindowMinimumSize(window, &currentW, &currentH);
1303
+ SDLTest_AssertPass("Call to SDL_GetWindowMinimumSize()");
1304
+ SDLTest_AssertCheck(desiredW == currentW, "Verify returned width; expected: %d, got: %d", desiredW, currentW);
1305
+ SDLTest_AssertCheck(desiredH == currentH, "Verify returned height; expected: %d, got: %d", desiredH, currentH);
1306
+
1307
+ /* Get just width */
1308
+ currentW = desiredW + 1;
1309
+ SDL_GetWindowMinimumSize(window, &currentW, NULL);
1310
+ SDLTest_AssertPass("Call to SDL_GetWindowMinimumSize(&h=NULL)");
1311
+ SDLTest_AssertCheck(desiredW == currentW, "Verify returned width; expected: %d, got: %d", desiredW, currentH);
1312
+
1313
+ /* Get just height */
1314
+ currentH = desiredH + 1;
1315
+ SDL_GetWindowMinimumSize(window, NULL, &currentH);
1316
+ SDLTest_AssertPass("Call to SDL_GetWindowMinimumSize(&w=NULL)");
1317
+ SDLTest_AssertCheck(desiredH == currentH, "Verify returned height; expected: %d, got: %d", desiredW, currentH);
1318
+ }
1319
+ }
1320
+
1321
+ /* Dummy call with both pointers NULL */
1322
+ SDL_GetWindowMinimumSize(window, NULL, NULL);
1323
+ SDLTest_AssertPass("Call to SDL_GetWindowMinimumSize(&w=NULL,&h=NULL)");
1324
+
1325
+ /* Negative tests for parameter input */
1326
+ SDL_ClearError();
1327
+ SDLTest_AssertPass("Call to SDL_ClearError()");
1328
+ for (desiredH = -2; desiredH < 2; desiredH++) {
1329
+ for (desiredW = -2; desiredW < 2; desiredW++) {
1330
+ if (desiredW <= 0 || desiredH <= 0) {
1331
+ SDL_SetWindowMinimumSize(window, desiredW, desiredH);
1332
+ SDLTest_AssertPass("Call to SDL_SetWindowMinimumSize(...,%d,%d)", desiredW, desiredH);
1333
+ _checkInvalidParameterError();
1334
+ }
1335
+ }
1336
+ }
1337
+
1338
+ /* Clean up */
1339
+ _destroyVideoSuiteTestWindow(window);
1340
+
1341
+ /* Set some 'magic' value for later check that nothing was changed */
1342
+ referenceW = SDLTest_RandomSint32();
1343
+ referenceH = SDLTest_RandomSint32();
1344
+ currentW = referenceW;
1345
+ currentH = referenceH;
1346
+ desiredW = SDLTest_RandomSint32();
1347
+ desiredH = SDLTest_RandomSint32();
1348
+
1349
+ /* Negative tests for window input */
1350
+ SDL_ClearError();
1351
+ SDLTest_AssertPass("Call to SDL_ClearError()");
1352
+ SDL_GetWindowMinimumSize(NULL, &currentW, &currentH);
1353
+ SDLTest_AssertPass("Call to SDL_GetWindowMinimumSize(window=NULL)");
1354
+ SDLTest_AssertCheck(
1355
+ currentW == referenceW && currentH == referenceH,
1356
+ "Verify that content of W and H pointers has not been modified; expected: %d,%d; got: %d,%d",
1357
+ referenceW, referenceH,
1358
+ currentW, currentH);
1359
+ _checkInvalidWindowError();
1360
+
1361
+ SDL_GetWindowMinimumSize(NULL, NULL, NULL);
1362
+ SDLTest_AssertPass("Call to SDL_GetWindowMinimumSize(NULL, NULL, NULL)");
1363
+ _checkInvalidWindowError();
1364
+
1365
+ SDL_SetWindowMinimumSize(NULL, desiredW, desiredH);
1366
+ SDLTest_AssertPass("Call to SDL_SetWindowMinimumSize(window=NULL)");
1367
+ _checkInvalidWindowError();
1368
+
1369
+ return TEST_COMPLETED;
1370
+ }
1371
+
1372
+ /**
1373
+ * @brief Tests call to SDL_GetWindowMaximumSize and SDL_SetWindowMaximumSize
1374
+ *
1375
+ */
1376
+ int
1377
+ video_getSetWindowMaximumSize(void *arg)
1378
+ {
1379
+ const char* title = "video_getSetWindowMaximumSize Test Window";
1380
+ SDL_Window* window;
1381
+ int result;
1382
+ SDL_Rect display;
1383
+ int wVariation, hVariation;
1384
+ int referenceW, referenceH;
1385
+ int currentW, currentH;
1386
+ int desiredW, desiredH;
1387
+
1388
+ /* Get display bounds for size range */
1389
+ result = SDL_GetDisplayBounds(0, &display);
1390
+ SDLTest_AssertPass("SDL_GetDisplayBounds()");
1391
+ SDLTest_AssertCheck(result == 0, "Verify return value; expected: 0, got: %d", result);
1392
+ if (result != 0) return TEST_ABORTED;
1393
+
1394
+ /* Call against new test window */
1395
+ window = _createVideoSuiteTestWindow(title);
1396
+ if (window == NULL) return TEST_ABORTED;
1397
+
1398
+ for (wVariation = 0; wVariation < 3; wVariation++) {
1399
+ for (hVariation = 0; hVariation < 3; hVariation++) {
1400
+ switch(wVariation) {
1401
+ case 0:
1402
+ /* 1 Pixel Wide */
1403
+ desiredW = 1;
1404
+ break;
1405
+ case 1:
1406
+ /* Random width inside screen */
1407
+ desiredW = SDLTest_RandomIntegerInRange(2, display.w - 1);
1408
+ break;
1409
+ case 2:
1410
+ /* Width at screen size */
1411
+ desiredW = display.w;
1412
+ break;
1413
+ }
1414
+
1415
+ switch(hVariation) {
1416
+ case 0:
1417
+ /* 1 Pixel High */
1418
+ desiredH = 1;
1419
+ break;
1420
+ case 1:
1421
+ /* Random height inside screen */
1422
+ desiredH = SDLTest_RandomIntegerInRange(2, display.h - 1);
1423
+ break;
1424
+ case 2:
1425
+ /* Height at screen size */
1426
+ desiredH = display.h;
1427
+ break;
1428
+ }
1429
+
1430
+ /* Set size */
1431
+ SDL_SetWindowMaximumSize(window, desiredW, desiredH);
1432
+ SDLTest_AssertPass("Call to SDL_SetWindowMaximumSize(...,%d,%d)", desiredW, desiredH);
1433
+
1434
+ /* Get size */
1435
+ currentW = desiredW + 1;
1436
+ currentH = desiredH + 1;
1437
+ SDL_GetWindowMaximumSize(window, &currentW, &currentH);
1438
+ SDLTest_AssertPass("Call to SDL_GetWindowMaximumSize()");
1439
+ SDLTest_AssertCheck(desiredW == currentW, "Verify returned width; expected: %d, got: %d", desiredW, currentW);
1440
+ SDLTest_AssertCheck(desiredH == currentH, "Verify returned height; expected: %d, got: %d", desiredH, currentH);
1441
+
1442
+ /* Get just width */
1443
+ currentW = desiredW + 1;
1444
+ SDL_GetWindowMaximumSize(window, &currentW, NULL);
1445
+ SDLTest_AssertPass("Call to SDL_GetWindowMaximumSize(&h=NULL)");
1446
+ SDLTest_AssertCheck(desiredW == currentW, "Verify returned width; expected: %d, got: %d", desiredW, currentH);
1447
+
1448
+ /* Get just height */
1449
+ currentH = desiredH + 1;
1450
+ SDL_GetWindowMaximumSize(window, NULL, &currentH);
1451
+ SDLTest_AssertPass("Call to SDL_GetWindowMaximumSize(&w=NULL)");
1452
+ SDLTest_AssertCheck(desiredH == currentH, "Verify returned height; expected: %d, got: %d", desiredW, currentH);
1453
+ }
1454
+ }
1455
+
1456
+ /* Dummy call with both pointers NULL */
1457
+ SDL_GetWindowMaximumSize(window, NULL, NULL);
1458
+ SDLTest_AssertPass("Call to SDL_GetWindowMaximumSize(&w=NULL,&h=NULL)");
1459
+
1460
+ /* Negative tests for parameter input */
1461
+ SDL_ClearError();
1462
+ SDLTest_AssertPass("Call to SDL_ClearError()");
1463
+ for (desiredH = -2; desiredH < 2; desiredH++) {
1464
+ for (desiredW = -2; desiredW < 2; desiredW++) {
1465
+ if (desiredW <= 0 || desiredH <= 0) {
1466
+ SDL_SetWindowMaximumSize(window, desiredW, desiredH);
1467
+ SDLTest_AssertPass("Call to SDL_SetWindowMaximumSize(...,%d,%d)", desiredW, desiredH);
1468
+ _checkInvalidParameterError();
1469
+ }
1470
+ }
1471
+ }
1472
+
1473
+ /* Clean up */
1474
+ _destroyVideoSuiteTestWindow(window);
1475
+
1476
+ /* Set some 'magic' value for later check that nothing was changed */
1477
+ referenceW = SDLTest_RandomSint32();
1478
+ referenceH = SDLTest_RandomSint32();
1479
+ currentW = referenceW;
1480
+ currentH = referenceH;
1481
+ desiredW = SDLTest_RandomSint32();
1482
+ desiredH = SDLTest_RandomSint32();
1483
+
1484
+ /* Negative tests */
1485
+ SDL_ClearError();
1486
+ SDLTest_AssertPass("Call to SDL_ClearError()");
1487
+ SDL_GetWindowMaximumSize(NULL, &currentW, &currentH);
1488
+ SDLTest_AssertPass("Call to SDL_GetWindowMaximumSize(window=NULL)");
1489
+ SDLTest_AssertCheck(
1490
+ currentW == referenceW && currentH == referenceH,
1491
+ "Verify that content of W and H pointers has not been modified; expected: %d,%d; got: %d,%d",
1492
+ referenceW, referenceH,
1493
+ currentW, currentH);
1494
+ _checkInvalidWindowError();
1495
+
1496
+ SDL_GetWindowMaximumSize(NULL, NULL, NULL);
1497
+ SDLTest_AssertPass("Call to SDL_GetWindowMaximumSize(NULL, NULL, NULL)");
1498
+ _checkInvalidWindowError();
1499
+
1500
+ SDL_SetWindowMaximumSize(NULL, desiredW, desiredH);
1501
+ SDLTest_AssertPass("Call to SDL_SetWindowMaximumSize(window=NULL)");
1502
+ _checkInvalidWindowError();
1503
+
1504
+ return TEST_COMPLETED;
1505
+ }
1506
+
1507
+
1508
+ /**
1509
+ * @brief Tests call to SDL_SetWindowData and SDL_GetWindowData
1510
+ *
1511
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_SetWindowData
1512
+ * @sa http://wiki.libsdl.org/moin.fcg/SDL_GetWindowData
1513
+ */
1514
+ int
1515
+ video_getSetWindowData(void *arg)
1516
+ {
1517
+ int returnValue = TEST_COMPLETED;
1518
+ const char* title = "video_setGetWindowData Test Window";
1519
+ SDL_Window* window;
1520
+ const char *referenceName = "TestName";
1521
+ const char *name = "TestName";
1522
+ const char *referenceName2 = "TestName2";
1523
+ const char *name2 = "TestName2";
1524
+ int datasize;
1525
+ char *referenceUserdata = NULL;
1526
+ char *userdata = NULL;
1527
+ char *referenceUserdata2 = NULL;
1528
+ char *userdata2 = NULL;
1529
+ char *result;
1530
+ int iteration;
1531
+
1532
+ /* Call against new test window */
1533
+ window = _createVideoSuiteTestWindow(title);
1534
+ if (window == NULL) return TEST_ABORTED;
1535
+
1536
+ /* Create testdata */
1537
+ datasize = SDLTest_RandomIntegerInRange(1, 32);
1538
+ referenceUserdata = SDLTest_RandomAsciiStringOfSize(datasize);
1539
+ if (referenceUserdata == NULL) {
1540
+ returnValue = TEST_ABORTED;
1541
+ goto cleanup;
1542
+ }
1543
+ userdata = SDL_strdup(referenceUserdata);
1544
+ if (userdata == NULL) {
1545
+ returnValue = TEST_ABORTED;
1546
+ goto cleanup;
1547
+ }
1548
+ datasize = SDLTest_RandomIntegerInRange(1, 32);
1549
+ referenceUserdata2 = SDLTest_RandomAsciiStringOfSize(datasize);
1550
+ if (referenceUserdata2 == NULL) {
1551
+ returnValue = TEST_ABORTED;
1552
+ goto cleanup;
1553
+ }
1554
+ userdata2 = (char *)SDL_strdup(referenceUserdata2);
1555
+ if (userdata2 == NULL) {
1556
+ returnValue = TEST_ABORTED;
1557
+ goto cleanup;
1558
+ }
1559
+
1560
+ /* Get non-existent data */
1561
+ result = (char *)SDL_GetWindowData(window, name);
1562
+ SDLTest_AssertPass("Call to SDL_GetWindowData(..,%s)", name);
1563
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1564
+ SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
1565
+
1566
+ /* Set data */
1567
+ result = (char *)SDL_SetWindowData(window, name, userdata);
1568
+ SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,%s)", name, userdata);
1569
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1570
+ SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
1571
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
1572
+
1573
+ /* Get data (twice) */
1574
+ for (iteration = 1; iteration <= 2; iteration++) {
1575
+ result = (char *)SDL_GetWindowData(window, name);
1576
+ SDLTest_AssertPass("Call to SDL_GetWindowData(..,%s) [iteration %d]", name, iteration);
1577
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, result) == 0, "Validate that correct result was returned; expected: %s, got: %s", referenceUserdata, result);
1578
+ SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
1579
+ }
1580
+
1581
+ /* Set data again twice */
1582
+ for (iteration = 1; iteration <= 2; iteration++) {
1583
+ result = (char *)SDL_SetWindowData(window, name, userdata);
1584
+ SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,%s) [iteration %d]", name, userdata, iteration);
1585
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, result) == 0, "Validate that correct result was returned; expected: %s, got: %s", referenceUserdata, result);
1586
+ SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
1587
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
1588
+ }
1589
+
1590
+ /* Get data again */
1591
+ result = (char *)SDL_GetWindowData(window, name);
1592
+ SDLTest_AssertPass("Call to SDL_GetWindowData(..,%s) [again]", name);
1593
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, result) == 0, "Validate that correct result was returned; expected: %s, got: %s", referenceUserdata, result);
1594
+ SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
1595
+
1596
+ /* Set data with new data */
1597
+ result = (char *)SDL_SetWindowData(window, name, userdata2);
1598
+ SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,%s) [new userdata]", name, userdata2);
1599
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, result) == 0, "Validate that correct result was returned; expected: %s, got: %s", referenceUserdata, result);
1600
+ SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
1601
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
1602
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata2, userdata2) == 0, "Validate that userdata2 was not changed, expected: %s, got: %s", referenceUserdata2, userdata2);
1603
+
1604
+ /* Set data with new data again */
1605
+ result = (char *)SDL_SetWindowData(window, name, userdata2);
1606
+ SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,%s) [new userdata again]", name, userdata2);
1607
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata2, result) == 0, "Validate that correct result was returned; expected: %s, got: %s", referenceUserdata2, result);
1608
+ SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
1609
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
1610
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata2, userdata2) == 0, "Validate that userdata2 was not changed, expected: %s, got: %s", referenceUserdata2, userdata2);
1611
+
1612
+ /* Get new data */
1613
+ result = (char *)SDL_GetWindowData(window, name);
1614
+ SDLTest_AssertPass("Call to SDL_GetWindowData(..,%s)", name);
1615
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata2, result) == 0, "Validate that correct result was returned; expected: %s, got: %s", referenceUserdata2, result);
1616
+ SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
1617
+
1618
+ /* Set data with NULL to clear */
1619
+ result = (char *)SDL_SetWindowData(window, name, NULL);
1620
+ SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,NULL)", name);
1621
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata2, result) == 0, "Validate that correct result was returned; expected: %s, got: %s", referenceUserdata2, result);
1622
+ SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
1623
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
1624
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata2, userdata2) == 0, "Validate that userdata2 was not changed, expected: %s, got: %s", referenceUserdata2, userdata2);
1625
+
1626
+ /* Set data with NULL to clear again */
1627
+ result = (char *)SDL_SetWindowData(window, name, NULL);
1628
+ SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,NULL) [again]", name);
1629
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1630
+ SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
1631
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
1632
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata2, userdata2) == 0, "Validate that userdata2 was not changed, expected: %s, got: %s", referenceUserdata2, userdata2);
1633
+
1634
+ /* Get non-existent data */
1635
+ result = (char *)SDL_GetWindowData(window, name);
1636
+ SDLTest_AssertPass("Call to SDL_GetWindowData(..,%s)", name);
1637
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1638
+ SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
1639
+
1640
+ /* Get non-existent data new name */
1641
+ result = (char *)SDL_GetWindowData(window, name2);
1642
+ SDLTest_AssertPass("Call to SDL_GetWindowData(..,%s)", name2);
1643
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1644
+ SDLTest_AssertCheck(SDL_strcmp(referenceName2, name2) == 0, "Validate that name2 was not changed, expected: %s, got: %s", referenceName2, name2);
1645
+
1646
+ /* Set data (again) */
1647
+ result = (char *)SDL_SetWindowData(window, name, userdata);
1648
+ SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,%s) [again, after clear]", name, userdata);
1649
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1650
+ SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
1651
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
1652
+
1653
+ /* Get data (again) */
1654
+ result = (char *)SDL_GetWindowData(window, name);
1655
+ SDLTest_AssertPass("Call to SDL_GetWindowData(..,%s) [again, after clear]", name);
1656
+ SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, result) == 0, "Validate that correct result was returned; expected: %s, got: %s", referenceUserdata, result);
1657
+ SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
1658
+
1659
+ /* Negative test */
1660
+ SDL_ClearError();
1661
+ SDLTest_AssertPass("Call to SDL_ClearError()");
1662
+
1663
+ /* Set with invalid window */
1664
+ result = (char *)SDL_SetWindowData(NULL, name, userdata);
1665
+ SDLTest_AssertPass("Call to SDL_SetWindowData(window=NULL)");
1666
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1667
+ _checkInvalidWindowError();
1668
+
1669
+ /* Set data with NULL name, valid userdata */
1670
+ result = (char *)SDL_SetWindowData(window, NULL, userdata);
1671
+ SDLTest_AssertPass("Call to SDL_SetWindowData(name=NULL)");
1672
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1673
+ _checkInvalidParameterError();
1674
+
1675
+ /* Set data with empty name, valid userdata */
1676
+ result = (char *)SDL_SetWindowData(window, "", userdata);
1677
+ SDLTest_AssertPass("Call to SDL_SetWindowData(name='')");
1678
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1679
+ _checkInvalidParameterError();
1680
+
1681
+ /* Set data with NULL name, NULL userdata */
1682
+ result = (char *)SDL_SetWindowData(window, NULL, NULL);
1683
+ SDLTest_AssertPass("Call to SDL_SetWindowData(name=NULL,userdata=NULL)");
1684
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1685
+ _checkInvalidParameterError();
1686
+
1687
+ /* Set data with empty name, NULL userdata */
1688
+ result = (char *)SDL_SetWindowData(window, "", NULL);
1689
+ SDLTest_AssertPass("Call to SDL_SetWindowData(name='',userdata=NULL)");
1690
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1691
+ _checkInvalidParameterError();
1692
+
1693
+ /* Get with invalid window */
1694
+ result = (char *)SDL_GetWindowData(NULL, name);
1695
+ SDLTest_AssertPass("Call to SDL_GetWindowData(window=NULL)");
1696
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1697
+ _checkInvalidWindowError();
1698
+
1699
+ /* Get data with NULL name */
1700
+ result = (char *)SDL_GetWindowData(window, NULL);
1701
+ SDLTest_AssertPass("Call to SDL_GetWindowData(name=NULL)");
1702
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1703
+ _checkInvalidParameterError();
1704
+
1705
+ /* Get data with empty name */
1706
+ result = (char *)SDL_GetWindowData(window, "");
1707
+ SDLTest_AssertPass("Call to SDL_GetWindowData(name='')");
1708
+ SDLTest_AssertCheck(result == NULL, "Validate that result is NULL");
1709
+ _checkInvalidParameterError();
1710
+
1711
+ /* Clean up */
1712
+ _destroyVideoSuiteTestWindow(window);
1713
+
1714
+ cleanup:
1715
+ SDL_free(referenceUserdata);
1716
+ SDL_free(referenceUserdata2);
1717
+ SDL_free(userdata);
1718
+ SDL_free(userdata2);
1719
+
1720
+ return returnValue;
1721
+ }
1722
+
1723
+
1724
+ /* ================= Test References ================== */
1725
+
1726
+ /* Video test cases */
1727
+ static const SDLTest_TestCaseReference videoTest1 =
1728
+ { (SDLTest_TestCaseFp)video_enableDisableScreensaver, "video_enableDisableScreensaver", "Enable and disable screenaver while checking state", TEST_ENABLED };
1729
+
1730
+ static const SDLTest_TestCaseReference videoTest2 =
1731
+ { (SDLTest_TestCaseFp)video_createWindowVariousPositions, "video_createWindowVariousPositions", "Create windows at various locations", TEST_ENABLED };
1732
+
1733
+ static const SDLTest_TestCaseReference videoTest3 =
1734
+ { (SDLTest_TestCaseFp)video_createWindowVariousSizes, "video_createWindowVariousSizes", "Create windows with various sizes", TEST_ENABLED };
1735
+
1736
+ static const SDLTest_TestCaseReference videoTest4 =
1737
+ { (SDLTest_TestCaseFp)video_createWindowVariousFlags, "video_createWindowVariousFlags", "Create windows using various flags", TEST_ENABLED };
1738
+
1739
+ static const SDLTest_TestCaseReference videoTest5 =
1740
+ { (SDLTest_TestCaseFp)video_getWindowFlags, "video_getWindowFlags", "Get window flags set during SDL_CreateWindow", TEST_ENABLED };
1741
+
1742
+ static const SDLTest_TestCaseReference videoTest6 =
1743
+ { (SDLTest_TestCaseFp)video_getNumDisplayModes, "video_getNumDisplayModes", "Use SDL_GetNumDisplayModes function to get number of display modes", TEST_ENABLED };
1744
+
1745
+ static const SDLTest_TestCaseReference videoTest7 =
1746
+ { (SDLTest_TestCaseFp)video_getNumDisplayModesNegative, "video_getNumDisplayModesNegative", "Negative tests for SDL_GetNumDisplayModes", TEST_ENABLED };
1747
+
1748
+ static const SDLTest_TestCaseReference videoTest8 =
1749
+ { (SDLTest_TestCaseFp)video_getClosestDisplayModeCurrentResolution, "video_getClosestDisplayModeCurrentResolution", "Use function to get closes match to requested display mode for current resolution", TEST_ENABLED };
1750
+
1751
+ static const SDLTest_TestCaseReference videoTest9 =
1752
+ { (SDLTest_TestCaseFp)video_getClosestDisplayModeRandomResolution, "video_getClosestDisplayModeRandomResolution", "Use function to get closes match to requested display mode for random resolution", TEST_ENABLED };
1753
+
1754
+ static const SDLTest_TestCaseReference videoTest10 =
1755
+ { (SDLTest_TestCaseFp)video_getWindowBrightness, "video_getWindowBrightness", "Get window brightness", TEST_ENABLED };
1756
+
1757
+ static const SDLTest_TestCaseReference videoTest11 =
1758
+ { (SDLTest_TestCaseFp)video_getWindowBrightnessNegative, "video_getWindowBrightnessNegative", "Get window brightness with invalid input", TEST_ENABLED };
1759
+
1760
+ static const SDLTest_TestCaseReference videoTest12 =
1761
+ { (SDLTest_TestCaseFp)video_getWindowDisplayMode, "video_getWindowDisplayMode", "Get window display mode", TEST_ENABLED };
1762
+
1763
+ static const SDLTest_TestCaseReference videoTest13 =
1764
+ { (SDLTest_TestCaseFp)video_getWindowDisplayModeNegative, "video_getWindowDisplayModeNegative", "Get window display mode with invalid input", TEST_ENABLED };
1765
+
1766
+ static const SDLTest_TestCaseReference videoTest14 =
1767
+ { (SDLTest_TestCaseFp)video_getWindowGammaRamp, "video_getWindowGammaRamp", "Get window gamma ramp", TEST_ENABLED };
1768
+
1769
+ static const SDLTest_TestCaseReference videoTest15 =
1770
+ { (SDLTest_TestCaseFp)video_getWindowGammaRampNegative, "video_getWindowGammaRampNegative", "Get window gamma ramp against invalid input", TEST_ENABLED };
1771
+
1772
+ static const SDLTest_TestCaseReference videoTest16 =
1773
+ { (SDLTest_TestCaseFp)video_getSetWindowGrab, "video_getSetWindowGrab", "Checks SDL_GetWindowGrab and SDL_SetWindowGrab positive and negative cases", TEST_ENABLED };
1774
+
1775
+ static const SDLTest_TestCaseReference videoTest17 =
1776
+ { (SDLTest_TestCaseFp)video_getWindowId, "video_getWindowId", "Checks SDL_GetWindowID and SDL_GetWindowFromID", TEST_ENABLED };
1777
+
1778
+ static const SDLTest_TestCaseReference videoTest18 =
1779
+ { (SDLTest_TestCaseFp)video_getWindowPixelFormat, "video_getWindowPixelFormat", "Checks SDL_GetWindowPixelFormat", TEST_ENABLED };
1780
+
1781
+ static const SDLTest_TestCaseReference videoTest19 =
1782
+ { (SDLTest_TestCaseFp)video_getSetWindowPosition, "video_getSetWindowPosition", "Checks SDL_GetWindowPosition and SDL_SetWindowPosition positive and negative cases", TEST_ENABLED };
1783
+
1784
+ static const SDLTest_TestCaseReference videoTest20 =
1785
+ { (SDLTest_TestCaseFp)video_getSetWindowSize, "video_getSetWindowSize", "Checks SDL_GetWindowSize and SDL_SetWindowSize positive and negative cases", TEST_ENABLED };
1786
+
1787
+ static const SDLTest_TestCaseReference videoTest21 =
1788
+ { (SDLTest_TestCaseFp)video_getSetWindowMinimumSize, "video_getSetWindowMinimumSize", "Checks SDL_GetWindowMinimumSize and SDL_SetWindowMinimumSize positive and negative cases", TEST_ENABLED };
1789
+
1790
+ static const SDLTest_TestCaseReference videoTest22 =
1791
+ { (SDLTest_TestCaseFp)video_getSetWindowMaximumSize, "video_getSetWindowMaximumSize", "Checks SDL_GetWindowMaximumSize and SDL_SetWindowMaximumSize positive and negative cases", TEST_ENABLED };
1792
+
1793
+ static const SDLTest_TestCaseReference videoTest23 =
1794
+ { (SDLTest_TestCaseFp)video_getSetWindowData, "video_getSetWindowData", "Checks SDL_SetWindowData and SDL_GetWindowData positive and negative cases", TEST_ENABLED };
1795
+
1796
+ /* Sequence of Video test cases */
1797
+ static const SDLTest_TestCaseReference *videoTests[] = {
1798
+ &videoTest1, &videoTest2, &videoTest3, &videoTest4, &videoTest5, &videoTest6,
1799
+ &videoTest7, &videoTest8, &videoTest9, &videoTest10, &videoTest11, &videoTest12,
1800
+ &videoTest13, &videoTest14, &videoTest15, &videoTest16, &videoTest17,
1801
+ &videoTest18, &videoTest19, &videoTest20, &videoTest21, &videoTest22,
1802
+ &videoTest23, NULL
1803
+ };
1804
+
1805
+ /* Video test suite (global) */
1806
+ SDLTest_TestSuiteReference videoTestSuite = {
1807
+ "Video",
1808
+ NULL,
1809
+ videoTests,
1810
+ NULL
1811
+ };