ruby2d 0.8.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/assets/README.md +20 -7
  3. data/assets/include/SDL2/SDL.h +135 -0
  4. data/assets/include/SDL2/SDL_assert.h +291 -0
  5. data/assets/include/SDL2/SDL_atomic.h +277 -0
  6. data/assets/include/SDL2/SDL_audio.h +826 -0
  7. data/assets/include/SDL2/SDL_bits.h +112 -0
  8. data/assets/include/SDL2/SDL_blendmode.h +120 -0
  9. data/assets/include/SDL2/SDL_clipboard.h +71 -0
  10. data/assets/include/SDL2/SDL_config.h +421 -0
  11. data/assets/include/SDL2/SDL_cpuinfo.h +188 -0
  12. data/assets/include/SDL2/SDL_egl.h +1673 -0
  13. data/assets/include/SDL2/SDL_endian.h +260 -0
  14. data/assets/include/SDL2/SDL_error.h +76 -0
  15. data/assets/include/SDL2/SDL_events.h +788 -0
  16. data/assets/include/SDL2/SDL_filesystem.h +136 -0
  17. data/assets/include/SDL2/SDL_gamecontroller.h +390 -0
  18. data/assets/include/SDL2/SDL_gesture.h +87 -0
  19. data/assets/include/SDL2/SDL_haptic.h +1238 -0
  20. data/assets/include/SDL2/SDL_hints.h +1135 -0
  21. data/assets/include/SDL2/SDL_image.h +161 -0
  22. data/assets/include/SDL2/SDL_joystick.h +408 -0
  23. data/assets/include/SDL2/SDL_keyboard.h +217 -0
  24. data/assets/include/SDL2/SDL_keycode.h +349 -0
  25. data/assets/include/SDL2/SDL_loadso.h +81 -0
  26. data/assets/include/SDL2/SDL_log.h +211 -0
  27. data/assets/include/SDL2/SDL_main.h +168 -0
  28. data/assets/include/SDL2/SDL_messagebox.h +144 -0
  29. data/assets/include/SDL2/SDL_mixer.h +651 -0
  30. data/assets/include/SDL2/SDL_mouse.h +302 -0
  31. data/assets/include/SDL2/SDL_mutex.h +251 -0
  32. data/assets/include/SDL2/SDL_name.h +33 -0
  33. data/assets/include/SDL2/SDL_opengl.h +2183 -0
  34. data/assets/include/SDL2/SDL_opengl_glext.h +11177 -0
  35. data/assets/include/SDL2/SDL_opengles.h +39 -0
  36. data/assets/include/SDL2/SDL_opengles2.h +52 -0
  37. data/assets/include/SDL2/SDL_opengles2_gl2.h +621 -0
  38. data/assets/include/SDL2/SDL_opengles2_gl2ext.h +2050 -0
  39. data/assets/include/SDL2/SDL_opengles2_gl2platform.h +30 -0
  40. data/assets/include/SDL2/SDL_opengles2_khrplatform.h +282 -0
  41. data/assets/include/SDL2/SDL_pixels.h +470 -0
  42. data/assets/include/SDL2/SDL_platform.h +198 -0
  43. data/assets/include/SDL2/SDL_power.h +75 -0
  44. data/assets/include/SDL2/SDL_quit.h +58 -0
  45. data/assets/include/SDL2/SDL_rect.h +148 -0
  46. data/assets/include/SDL2/SDL_render.h +931 -0
  47. data/assets/include/SDL2/SDL_revision.h +2 -0
  48. data/assets/include/SDL2/SDL_rwops.h +254 -0
  49. data/assets/include/SDL2/SDL_scancode.h +413 -0
  50. data/assets/include/SDL2/SDL_sensor.h +251 -0
  51. data/assets/include/SDL2/SDL_shape.h +144 -0
  52. data/assets/include/SDL2/SDL_stdinc.h +607 -0
  53. data/assets/include/SDL2/SDL_surface.h +553 -0
  54. data/assets/include/SDL2/SDL_system.h +279 -0
  55. data/assets/include/SDL2/SDL_syswm.h +324 -0
  56. data/assets/include/SDL2/SDL_test.h +69 -0
  57. data/assets/include/SDL2/SDL_test_assert.h +105 -0
  58. data/assets/include/SDL2/SDL_test_common.h +188 -0
  59. data/assets/include/SDL2/SDL_test_compare.h +69 -0
  60. data/assets/include/SDL2/SDL_test_crc32.h +124 -0
  61. data/assets/include/SDL2/SDL_test_font.h +81 -0
  62. data/assets/include/SDL2/SDL_test_fuzzer.h +384 -0
  63. data/assets/include/SDL2/SDL_test_harness.h +134 -0
  64. data/assets/include/SDL2/SDL_test_images.h +78 -0
  65. data/assets/include/SDL2/SDL_test_log.h +67 -0
  66. data/assets/include/SDL2/SDL_test_md5.h +129 -0
  67. data/assets/include/SDL2/SDL_test_memory.h +63 -0
  68. data/assets/include/SDL2/SDL_test_random.h +115 -0
  69. data/assets/include/SDL2/SDL_thread.h +343 -0
  70. data/assets/include/SDL2/SDL_timer.h +115 -0
  71. data/assets/include/SDL2/SDL_touch.h +86 -0
  72. data/assets/include/SDL2/SDL_ttf.h +294 -0
  73. data/assets/include/SDL2/SDL_types.h +29 -0
  74. data/assets/include/SDL2/SDL_version.h +162 -0
  75. data/assets/include/SDL2/SDL_video.h +1276 -0
  76. data/assets/include/SDL2/SDL_vulkan.h +278 -0
  77. data/assets/include/SDL2/begin_code.h +167 -0
  78. data/assets/include/SDL2/close_code.h +37 -0
  79. data/assets/include/glew.h +23686 -0
  80. data/assets/include/simple2d.h +735 -0
  81. data/assets/ios/MRuby.framework/Headers/mrbconf.h +3 -5
  82. data/assets/ios/MRuby.framework/Headers/mruby.h +35 -32
  83. data/assets/ios/MRuby.framework/Headers/mruby/array.h +1 -0
  84. data/assets/ios/MRuby.framework/Headers/mruby/boxing_word.h +9 -1
  85. data/assets/ios/MRuby.framework/Headers/mruby/class.h +14 -11
  86. data/assets/ios/MRuby.framework/Headers/mruby/common.h +5 -0
  87. data/assets/ios/MRuby.framework/Headers/mruby/compile.h +4 -3
  88. data/assets/ios/MRuby.framework/Headers/mruby/debug.h +3 -2
  89. data/assets/ios/MRuby.framework/Headers/mruby/dump.h +2 -2
  90. data/assets/ios/MRuby.framework/Headers/mruby/hash.h +38 -5
  91. data/assets/ios/MRuby.framework/Headers/mruby/irep.h +17 -4
  92. data/assets/ios/MRuby.framework/Headers/mruby/object.h +4 -5
  93. data/assets/ios/MRuby.framework/Headers/mruby/opcode.h +47 -139
  94. data/assets/ios/MRuby.framework/Headers/mruby/ops.h +117 -0
  95. data/assets/ios/MRuby.framework/Headers/mruby/proc.h +4 -4
  96. data/assets/ios/MRuby.framework/Headers/mruby/string.h +11 -7
  97. data/assets/ios/MRuby.framework/Headers/mruby/throw.h +4 -4
  98. data/assets/ios/MRuby.framework/Headers/mruby/variable.h +2 -4
  99. data/assets/ios/MRuby.framework/Headers/mruby/version.h +6 -6
  100. data/assets/ios/MRuby.framework/MRuby +0 -0
  101. data/assets/ios/MyApp.xcodeproj/project.pbxproj +24 -18
  102. data/assets/ios/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  103. data/assets/ios/main.c +1 -1
  104. data/assets/macos/lib/libFLAC.a +0 -0
  105. data/assets/macos/lib/libSDL2.a +0 -0
  106. data/assets/macos/lib/libSDL2_image.a +0 -0
  107. data/assets/macos/lib/libSDL2_mixer.a +0 -0
  108. data/assets/macos/lib/libSDL2_ttf.a +0 -0
  109. data/assets/macos/lib/libfreetype.a +0 -0
  110. data/assets/macos/lib/libjpeg.a +0 -0
  111. data/assets/macos/lib/libmpg123.a +0 -0
  112. data/assets/macos/lib/libogg.a +0 -0
  113. data/assets/macos/lib/libpng16.a +0 -0
  114. data/assets/macos/lib/libsimple2d.a +0 -0
  115. data/assets/macos/lib/libtiff.a +0 -0
  116. data/assets/macos/lib/libvorbis.a +0 -0
  117. data/assets/macos/lib/libvorbisfile.a +0 -0
  118. data/assets/macos/lib/libwebp.a +0 -0
  119. data/assets/mingw/bin/SDL2.dll +0 -0
  120. data/assets/mingw/bin/SDL2_image.dll +0 -0
  121. data/assets/mingw/bin/SDL2_mixer.dll +0 -0
  122. data/assets/mingw/bin/SDL2_ttf.dll +0 -0
  123. data/assets/mingw/bin/glew32.dll +0 -0
  124. data/assets/mingw/bin/libFLAC-8.dll +0 -0
  125. data/assets/mingw/bin/libfreetype-6.dll +0 -0
  126. data/assets/mingw/bin/libjpeg-9.dll +0 -0
  127. data/assets/mingw/bin/libmodplug-1.dll +0 -0
  128. data/assets/mingw/bin/libmpg123-0.dll +0 -0
  129. data/assets/mingw/bin/libogg-0.dll +0 -0
  130. data/assets/mingw/bin/libopus-0.dll +0 -0
  131. data/assets/mingw/bin/libopusfile-0.dll +0 -0
  132. data/assets/mingw/bin/libpng16-16.dll +0 -0
  133. data/assets/mingw/bin/libtiff-5.dll +0 -0
  134. data/assets/mingw/bin/libvorbis-0.dll +0 -0
  135. data/assets/mingw/bin/libvorbisfile-3.dll +0 -0
  136. data/assets/mingw/bin/libwebp-7.dll +0 -0
  137. data/assets/mingw/bin/zlib1.dll +0 -0
  138. data/assets/mingw/lib/libSDL2.a +0 -0
  139. data/assets/mingw/lib/libSDL2.dll.a +0 -0
  140. data/assets/mingw/lib/libSDL2_image.a +0 -0
  141. data/assets/mingw/lib/libSDL2_image.dll.a +0 -0
  142. data/assets/mingw/lib/libSDL2_mixer.a +0 -0
  143. data/assets/mingw/lib/libSDL2_mixer.dll.a +0 -0
  144. data/assets/mingw/lib/libSDL2_test.a +0 -0
  145. data/assets/mingw/lib/libSDL2_ttf.a +0 -0
  146. data/assets/mingw/lib/libSDL2_ttf.dll.a +0 -0
  147. data/assets/mingw/lib/libSDL2main.a +0 -0
  148. data/assets/mingw/lib/libglew32.a +0 -0
  149. data/assets/mingw/lib/libglew32.dll.a +0 -0
  150. data/assets/mingw/lib/libsimple2d.a +0 -0
  151. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +4 -0
  152. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +4 -0
  153. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +4 -0
  154. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +4 -0
  155. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +4 -0
  156. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +4 -0
  157. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json +4 -0
  158. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json +4 -0
  159. data/assets/tvos/Assets.xcassets/LaunchImage.launchimage/Contents.json +7 -0
  160. data/assets/tvos/MRuby.framework/Headers/mrbconf.h +3 -5
  161. data/assets/tvos/MRuby.framework/Headers/mruby.h +35 -32
  162. data/assets/tvos/MRuby.framework/Headers/mruby/array.h +1 -0
  163. data/assets/tvos/MRuby.framework/Headers/mruby/boxing_word.h +9 -1
  164. data/assets/tvos/MRuby.framework/Headers/mruby/class.h +14 -11
  165. data/assets/tvos/MRuby.framework/Headers/mruby/common.h +5 -0
  166. data/assets/tvos/MRuby.framework/Headers/mruby/compile.h +4 -3
  167. data/assets/tvos/MRuby.framework/Headers/mruby/debug.h +3 -2
  168. data/assets/tvos/MRuby.framework/Headers/mruby/dump.h +2 -2
  169. data/assets/tvos/MRuby.framework/Headers/mruby/hash.h +38 -5
  170. data/assets/tvos/MRuby.framework/Headers/mruby/irep.h +17 -4
  171. data/assets/tvos/MRuby.framework/Headers/mruby/object.h +4 -5
  172. data/assets/tvos/MRuby.framework/Headers/mruby/opcode.h +47 -139
  173. data/assets/tvos/MRuby.framework/Headers/mruby/ops.h +117 -0
  174. data/assets/tvos/MRuby.framework/Headers/mruby/proc.h +4 -4
  175. data/assets/tvos/MRuby.framework/Headers/mruby/string.h +11 -7
  176. data/assets/tvos/MRuby.framework/Headers/mruby/throw.h +4 -4
  177. data/assets/tvos/MRuby.framework/Headers/mruby/variable.h +2 -4
  178. data/assets/tvos/MRuby.framework/Headers/mruby/version.h +6 -6
  179. data/assets/tvos/MRuby.framework/MRuby +0 -0
  180. data/assets/tvos/MyApp.xcodeproj/project.pbxproj +25 -19
  181. data/assets/tvos/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  182. data/assets/tvos/main.c +1 -1
  183. data/ext/ruby2d/extconf.rb +59 -50
  184. data/ext/ruby2d/ruby2d.c +0 -1
  185. data/lib/ruby2d.rb +1 -7
  186. data/lib/ruby2d/cli/launch.rb +1 -1
  187. data/lib/ruby2d/font.rb +32 -7
  188. data/lib/ruby2d/version.rb +1 -1
  189. metadata +132 -6
  190. data/assets/opal.js +0 -21637
  191. data/assets/simple2d.js +0 -1379
  192. data/assets/template.html +0 -18
@@ -0,0 +1,69 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+ */
21
+
22
+ /**
23
+ * \file SDL_test.h
24
+ *
25
+ * Include file for SDL test framework.
26
+ *
27
+ * This code is a part of the SDL2_test library, not the main SDL library.
28
+ */
29
+
30
+ #ifndef SDL_test_h_
31
+ #define SDL_test_h_
32
+
33
+ #include "SDL.h"
34
+ #include "SDL_test_assert.h"
35
+ #include "SDL_test_common.h"
36
+ #include "SDL_test_compare.h"
37
+ #include "SDL_test_crc32.h"
38
+ #include "SDL_test_font.h"
39
+ #include "SDL_test_fuzzer.h"
40
+ #include "SDL_test_harness.h"
41
+ #include "SDL_test_images.h"
42
+ #include "SDL_test_log.h"
43
+ #include "SDL_test_md5.h"
44
+ #include "SDL_test_memory.h"
45
+ #include "SDL_test_random.h"
46
+
47
+ #include "begin_code.h"
48
+ /* Set up for C function definitions, even when using C++ */
49
+ #ifdef __cplusplus
50
+ extern "C" {
51
+ #endif
52
+
53
+ /* Global definitions */
54
+
55
+ /*
56
+ * Note: Maximum size of SDLTest log message is less than SDL's limit
57
+ * to ensure we can fit additional information such as the timestamp.
58
+ */
59
+ #define SDLTEST_MAX_LOGMESSAGE_LENGTH 3584
60
+
61
+ /* Ends C function definitions when using C++ */
62
+ #ifdef __cplusplus
63
+ }
64
+ #endif
65
+ #include "close_code.h"
66
+
67
+ #endif /* SDL_test_h_ */
68
+
69
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,105 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+ */
21
+
22
+ /**
23
+ * \file SDL_test_assert.h
24
+ *
25
+ * Include file for SDL test framework.
26
+ *
27
+ * This code is a part of the SDL2_test library, not the main SDL library.
28
+ */
29
+
30
+ /*
31
+ *
32
+ * Assert API for test code and test cases
33
+ *
34
+ */
35
+
36
+ #ifndef SDL_test_assert_h_
37
+ #define SDL_test_assert_h_
38
+
39
+ #include "begin_code.h"
40
+ /* Set up for C function definitions, even when using C++ */
41
+ #ifdef __cplusplus
42
+ extern "C" {
43
+ #endif
44
+
45
+ /**
46
+ * \brief Fails the assert.
47
+ */
48
+ #define ASSERT_FAIL 0
49
+
50
+ /**
51
+ * \brief Passes the assert.
52
+ */
53
+ #define ASSERT_PASS 1
54
+
55
+ /**
56
+ * \brief Assert that logs and break execution flow on failures.
57
+ *
58
+ * \param assertCondition Evaluated condition or variable to assert; fail (==0) or pass (!=0).
59
+ * \param assertDescription Message to log with the assert describing it.
60
+ */
61
+ void SDLTest_Assert(int assertCondition, SDL_PRINTF_FORMAT_STRING const char *assertDescription, ...) SDL_PRINTF_VARARG_FUNC(2);
62
+
63
+ /**
64
+ * \brief Assert for test cases that logs but does not break execution flow on failures. Updates assertion counters.
65
+ *
66
+ * \param assertCondition Evaluated condition or variable to assert; fail (==0) or pass (!=0).
67
+ * \param assertDescription Message to log with the assert describing it.
68
+ *
69
+ * \returns Returns the assertCondition so it can be used to externally to break execution flow if desired.
70
+ */
71
+ int SDLTest_AssertCheck(int assertCondition, SDL_PRINTF_FORMAT_STRING const char *assertDescription, ...) SDL_PRINTF_VARARG_FUNC(2);
72
+
73
+ /**
74
+ * \brief Explicitly pass without checking an assertion condition. Updates assertion counter.
75
+ *
76
+ * \param assertDescription Message to log with the assert describing it.
77
+ */
78
+ void SDLTest_AssertPass(SDL_PRINTF_FORMAT_STRING const char *assertDescription, ...) SDL_PRINTF_VARARG_FUNC(1);
79
+
80
+ /**
81
+ * \brief Resets the assert summary counters to zero.
82
+ */
83
+ void SDLTest_ResetAssertSummary(void);
84
+
85
+ /**
86
+ * \brief Logs summary of all assertions (total, pass, fail) since last reset as INFO or ERROR.
87
+ */
88
+ void SDLTest_LogAssertSummary(void);
89
+
90
+
91
+ /**
92
+ * \brief Converts the current assert summary state to a test result.
93
+ *
94
+ * \returns TEST_RESULT_PASSED, TEST_RESULT_FAILED, or TEST_RESULT_NO_ASSERT
95
+ */
96
+ int SDLTest_AssertSummaryToTestResult(void);
97
+
98
+ #ifdef __cplusplus
99
+ }
100
+ #endif
101
+ #include "close_code.h"
102
+
103
+ #endif /* SDL_test_assert_h_ */
104
+
105
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,188 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+ */
21
+
22
+ /**
23
+ * \file SDL_test_common.h
24
+ *
25
+ * Include file for SDL test framework.
26
+ *
27
+ * This code is a part of the SDL2_test library, not the main SDL library.
28
+ */
29
+
30
+ /* Ported from original test\common.h file. */
31
+
32
+ #ifndef SDL_test_common_h_
33
+ #define SDL_test_common_h_
34
+
35
+ #include "SDL.h"
36
+
37
+ #if defined(__PSP__)
38
+ #define DEFAULT_WINDOW_WIDTH 480
39
+ #define DEFAULT_WINDOW_HEIGHT 272
40
+ #else
41
+ #define DEFAULT_WINDOW_WIDTH 640
42
+ #define DEFAULT_WINDOW_HEIGHT 480
43
+ #endif
44
+
45
+ #define VERBOSE_VIDEO 0x00000001
46
+ #define VERBOSE_MODES 0x00000002
47
+ #define VERBOSE_RENDER 0x00000004
48
+ #define VERBOSE_EVENT 0x00000008
49
+ #define VERBOSE_AUDIO 0x00000010
50
+
51
+ typedef struct
52
+ {
53
+ /* SDL init flags */
54
+ char **argv;
55
+ Uint32 flags;
56
+ Uint32 verbose;
57
+
58
+ /* Video info */
59
+ const char *videodriver;
60
+ int display;
61
+ const char *window_title;
62
+ const char *window_icon;
63
+ Uint32 window_flags;
64
+ int window_x;
65
+ int window_y;
66
+ int window_w;
67
+ int window_h;
68
+ int window_minW;
69
+ int window_minH;
70
+ int window_maxW;
71
+ int window_maxH;
72
+ int logical_w;
73
+ int logical_h;
74
+ float scale;
75
+ int depth;
76
+ int refresh_rate;
77
+ int num_windows;
78
+ SDL_Window **windows;
79
+
80
+ /* Renderer info */
81
+ const char *renderdriver;
82
+ Uint32 render_flags;
83
+ SDL_bool skip_renderer;
84
+ SDL_Renderer **renderers;
85
+ SDL_Texture **targets;
86
+
87
+ /* Audio info */
88
+ const char *audiodriver;
89
+ SDL_AudioSpec audiospec;
90
+
91
+ /* GL settings */
92
+ int gl_red_size;
93
+ int gl_green_size;
94
+ int gl_blue_size;
95
+ int gl_alpha_size;
96
+ int gl_buffer_size;
97
+ int gl_depth_size;
98
+ int gl_stencil_size;
99
+ int gl_double_buffer;
100
+ int gl_accum_red_size;
101
+ int gl_accum_green_size;
102
+ int gl_accum_blue_size;
103
+ int gl_accum_alpha_size;
104
+ int gl_stereo;
105
+ int gl_multisamplebuffers;
106
+ int gl_multisamplesamples;
107
+ int gl_retained_backing;
108
+ int gl_accelerated;
109
+ int gl_major_version;
110
+ int gl_minor_version;
111
+ int gl_debug;
112
+ int gl_profile_mask;
113
+ } SDLTest_CommonState;
114
+
115
+ #include "begin_code.h"
116
+ /* Set up for C function definitions, even when using C++ */
117
+ #ifdef __cplusplus
118
+ extern "C" {
119
+ #endif
120
+
121
+ /* Function prototypes */
122
+
123
+ /**
124
+ * \brief Parse command line parameters and create common state.
125
+ *
126
+ * \param argv Array of command line parameters
127
+ * \param flags Flags indicating which subsystem to initialize (i.e. SDL_INIT_VIDEO | SDL_INIT_AUDIO)
128
+ *
129
+ * \returns Returns a newly allocated common state object.
130
+ */
131
+ SDLTest_CommonState *SDLTest_CommonCreateState(char **argv, Uint32 flags);
132
+
133
+ /**
134
+ * \brief Process one common argument.
135
+ *
136
+ * \param state The common state describing the test window to create.
137
+ * \param index The index of the argument to process in argv[].
138
+ *
139
+ * \returns The number of arguments processed (i.e. 1 for --fullscreen, 2 for --video [videodriver], or -1 on error.
140
+ */
141
+ int SDLTest_CommonArg(SDLTest_CommonState * state, int index);
142
+
143
+ /**
144
+ * \brief Returns common usage information
145
+ *
146
+ * \param state The common state describing the test window to create.
147
+ *
148
+ * \returns String with usage information
149
+ */
150
+ const char *SDLTest_CommonUsage(SDLTest_CommonState * state);
151
+
152
+ /**
153
+ * \brief Open test window.
154
+ *
155
+ * \param state The common state describing the test window to create.
156
+ *
157
+ * \returns True if initialization succeeded, false otherwise
158
+ */
159
+ SDL_bool SDLTest_CommonInit(SDLTest_CommonState * state);
160
+
161
+ /**
162
+ * \brief Common event handler for test windows.
163
+ *
164
+ * \param state The common state used to create test window.
165
+ * \param event The event to handle.
166
+ * \param done Flag indicating we are done.
167
+ *
168
+ */
169
+ void SDLTest_CommonEvent(SDLTest_CommonState * state, SDL_Event * event, int *done);
170
+
171
+ /**
172
+ * \brief Close test window.
173
+ *
174
+ * \param state The common state used to create test window.
175
+ *
176
+ */
177
+ void SDLTest_CommonQuit(SDLTest_CommonState * state);
178
+
179
+
180
+ /* Ends C function definitions when using C++ */
181
+ #ifdef __cplusplus
182
+ }
183
+ #endif
184
+ #include "close_code.h"
185
+
186
+ #endif /* SDL_test_common_h_ */
187
+
188
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,69 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+ */
21
+
22
+ /**
23
+ * \file SDL_test_compare.h
24
+ *
25
+ * Include file for SDL test framework.
26
+ *
27
+ * This code is a part of the SDL2_test library, not the main SDL library.
28
+ */
29
+
30
+ /*
31
+
32
+ Defines comparison functions (i.e. for surfaces).
33
+
34
+ */
35
+
36
+ #ifndef SDL_test_compare_h_
37
+ #define SDL_test_compare_h_
38
+
39
+ #include "SDL.h"
40
+
41
+ #include "SDL_test_images.h"
42
+
43
+ #include "begin_code.h"
44
+ /* Set up for C function definitions, even when using C++ */
45
+ #ifdef __cplusplus
46
+ extern "C" {
47
+ #endif
48
+
49
+ /**
50
+ * \brief Compares a surface and with reference image data for equality
51
+ *
52
+ * \param surface Surface used in comparison
53
+ * \param referenceSurface Test Surface used in comparison
54
+ * \param allowable_error Allowable difference (=sum of squared difference for each RGB component) in blending accuracy.
55
+ *
56
+ * \returns 0 if comparison succeeded, >0 (=number of pixels for which the comparison failed) if comparison failed, -1 if any of the surfaces were NULL, -2 if the surface sizes differ.
57
+ */
58
+ int SDLTest_CompareSurfaces(SDL_Surface *surface, SDL_Surface *referenceSurface, int allowable_error);
59
+
60
+
61
+ /* Ends C function definitions when using C++ */
62
+ #ifdef __cplusplus
63
+ }
64
+ #endif
65
+ #include "close_code.h"
66
+
67
+ #endif /* SDL_test_compare_h_ */
68
+
69
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,124 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+ */
21
+
22
+ /**
23
+ * \file SDL_test_crc32.h
24
+ *
25
+ * Include file for SDL test framework.
26
+ *
27
+ * This code is a part of the SDL2_test library, not the main SDL library.
28
+ */
29
+
30
+ /*
31
+
32
+ Implements CRC32 calculations (default output is Perl String::CRC32 compatible).
33
+
34
+ */
35
+
36
+ #ifndef SDL_test_crc32_h_
37
+ #define SDL_test_crc32_h_
38
+
39
+ #include "begin_code.h"
40
+ /* Set up for C function definitions, even when using C++ */
41
+ #ifdef __cplusplus
42
+ extern "C" {
43
+ #endif
44
+
45
+
46
+ /* ------------ Definitions --------- */
47
+
48
+ /* Definition shared by all CRC routines */
49
+
50
+ #ifndef CrcUint32
51
+ #define CrcUint32 unsigned int
52
+ #endif
53
+ #ifndef CrcUint8
54
+ #define CrcUint8 unsigned char
55
+ #endif
56
+
57
+ #ifdef ORIGINAL_METHOD
58
+ #define CRC32_POLY 0x04c11db7 /* AUTODIN II, Ethernet, & FDDI */
59
+ #else
60
+ #define CRC32_POLY 0xEDB88320 /* Perl String::CRC32 compatible */
61
+ #endif
62
+
63
+ /**
64
+ * Data structure for CRC32 (checksum) computation
65
+ */
66
+ typedef struct {
67
+ CrcUint32 crc32_table[256]; /* CRC table */
68
+ } SDLTest_Crc32Context;
69
+
70
+ /* ---------- Function Prototypes ------------- */
71
+
72
+ /**
73
+ * \brief Initialize the CRC context
74
+ *
75
+ * Note: The function initializes the crc table required for all crc calculations.
76
+ *
77
+ * \param crcContext pointer to context variable
78
+ *
79
+ * \returns 0 for OK, -1 on error
80
+ *
81
+ */
82
+ int SDLTest_Crc32Init(SDLTest_Crc32Context * crcContext);
83
+
84
+
85
+ /**
86
+ * \brief calculate a crc32 from a data block
87
+ *
88
+ * \param crcContext pointer to context variable
89
+ * \param inBuf input buffer to checksum
90
+ * \param inLen length of input buffer
91
+ * \param crc32 pointer to Uint32 to store the final CRC into
92
+ *
93
+ * \returns 0 for OK, -1 on error
94
+ *
95
+ */
96
+ int SDLTest_Crc32Calc(SDLTest_Crc32Context * crcContext, CrcUint8 *inBuf, CrcUint32 inLen, CrcUint32 *crc32);
97
+
98
+ /* Same routine broken down into three steps */
99
+ int SDLTest_Crc32CalcStart(SDLTest_Crc32Context * crcContext, CrcUint32 *crc32);
100
+ int SDLTest_Crc32CalcEnd(SDLTest_Crc32Context * crcContext, CrcUint32 *crc32);
101
+ int SDLTest_Crc32CalcBuffer(SDLTest_Crc32Context * crcContext, CrcUint8 *inBuf, CrcUint32 inLen, CrcUint32 *crc32);
102
+
103
+
104
+ /**
105
+ * \brief clean up CRC context
106
+ *
107
+ * \param crcContext pointer to context variable
108
+ *
109
+ * \returns 0 for OK, -1 on error
110
+ *
111
+ */
112
+
113
+ int SDLTest_Crc32Done(SDLTest_Crc32Context * crcContext);
114
+
115
+
116
+ /* Ends C function definitions when using C++ */
117
+ #ifdef __cplusplus
118
+ }
119
+ #endif
120
+ #include "close_code.h"
121
+
122
+ #endif /* SDL_test_crc32_h_ */
123
+
124
+ /* vi: set ts=4 sw=4 expandtab: */