ruby2d 0.8.1 → 0.9.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 (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,198 @@
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_platform.h
24
+ *
25
+ * Try to get a standard set of platform defines.
26
+ */
27
+
28
+ #ifndef SDL_platform_h_
29
+ #define SDL_platform_h_
30
+
31
+ #if defined(_AIX)
32
+ #undef __AIX__
33
+ #define __AIX__ 1
34
+ #endif
35
+ #if defined(__HAIKU__)
36
+ #undef __HAIKU__
37
+ #define __HAIKU__ 1
38
+ #endif
39
+ #if defined(bsdi) || defined(__bsdi) || defined(__bsdi__)
40
+ #undef __BSDI__
41
+ #define __BSDI__ 1
42
+ #endif
43
+ #if defined(_arch_dreamcast)
44
+ #undef __DREAMCAST__
45
+ #define __DREAMCAST__ 1
46
+ #endif
47
+ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
48
+ #undef __FREEBSD__
49
+ #define __FREEBSD__ 1
50
+ #endif
51
+ #if defined(hpux) || defined(__hpux) || defined(__hpux__)
52
+ #undef __HPUX__
53
+ #define __HPUX__ 1
54
+ #endif
55
+ #if defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE)
56
+ #undef __IRIX__
57
+ #define __IRIX__ 1
58
+ #endif
59
+ #if (defined(linux) || defined(__linux) || defined(__linux__))
60
+ #undef __LINUX__
61
+ #define __LINUX__ 1
62
+ #endif
63
+ #if defined(ANDROID) || defined(__ANDROID__)
64
+ #undef __ANDROID__
65
+ #undef __LINUX__ /* do we need to do this? */
66
+ #define __ANDROID__ 1
67
+ #endif
68
+
69
+ #if defined(__APPLE__)
70
+ /* lets us know what version of Mac OS X we're compiling on */
71
+ #include "AvailabilityMacros.h"
72
+ #include "TargetConditionals.h"
73
+ #if TARGET_OS_TV
74
+ #undef __TVOS__
75
+ #define __TVOS__ 1
76
+ #endif
77
+ #if TARGET_OS_IPHONE
78
+ /* if compiling for iOS */
79
+ #undef __IPHONEOS__
80
+ #define __IPHONEOS__ 1
81
+ #undef __MACOSX__
82
+ #else
83
+ /* if not compiling for iOS */
84
+ #undef __MACOSX__
85
+ #define __MACOSX__ 1
86
+ #if MAC_OS_X_VERSION_MIN_REQUIRED < 1060
87
+ # error SDL for Mac OS X only supports deploying on 10.6 and above.
88
+ #endif /* MAC_OS_X_VERSION_MIN_REQUIRED < 1060 */
89
+ #endif /* TARGET_OS_IPHONE */
90
+ #endif /* defined(__APPLE__) */
91
+
92
+ #if defined(__NetBSD__)
93
+ #undef __NETBSD__
94
+ #define __NETBSD__ 1
95
+ #endif
96
+ #if defined(__OpenBSD__)
97
+ #undef __OPENBSD__
98
+ #define __OPENBSD__ 1
99
+ #endif
100
+ #if defined(__OS2__) || defined(__EMX__)
101
+ #undef __OS2__
102
+ #define __OS2__ 1
103
+ #endif
104
+ #if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
105
+ #undef __OSF__
106
+ #define __OSF__ 1
107
+ #endif
108
+ #if defined(__QNXNTO__)
109
+ #undef __QNXNTO__
110
+ #define __QNXNTO__ 1
111
+ #endif
112
+ #if defined(riscos) || defined(__riscos) || defined(__riscos__)
113
+ #undef __RISCOS__
114
+ #define __RISCOS__ 1
115
+ #endif
116
+ #if defined(__sun) && defined(__SVR4)
117
+ #undef __SOLARIS__
118
+ #define __SOLARIS__ 1
119
+ #endif
120
+
121
+ #if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)
122
+ /* Try to find out if we're compiling for WinRT or non-WinRT */
123
+ #if defined(_MSC_VER) && defined(__has_include)
124
+ #if __has_include(<winapifamily.h>)
125
+ #define HAVE_WINAPIFAMILY_H 1
126
+ #else
127
+ #define HAVE_WINAPIFAMILY_H 0
128
+ #endif
129
+
130
+ /* If _USING_V110_SDK71_ is defined it means we are using the Windows XP toolset. */
131
+ #elif defined(_MSC_VER) && (_MSC_VER >= 1700 && !_USING_V110_SDK71_) /* _MSC_VER == 1700 for Visual Studio 2012 */
132
+ #define HAVE_WINAPIFAMILY_H 1
133
+ #else
134
+ #define HAVE_WINAPIFAMILY_H 0
135
+ #endif
136
+
137
+ #if HAVE_WINAPIFAMILY_H
138
+ #include <winapifamily.h>
139
+ #define WINAPI_FAMILY_WINRT (!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP))
140
+ #else
141
+ #define WINAPI_FAMILY_WINRT 0
142
+ #endif /* HAVE_WINAPIFAMILY_H */
143
+
144
+ #if WINAPI_FAMILY_WINRT
145
+ #undef __WINRT__
146
+ #define __WINRT__ 1
147
+ #else
148
+ #undef __WINDOWS__
149
+ #define __WINDOWS__ 1
150
+ #endif
151
+ #endif /* defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) */
152
+
153
+ #if defined(__WINDOWS__)
154
+ #undef __WIN32__
155
+ #define __WIN32__ 1
156
+ #endif
157
+ #if defined(__PSP__)
158
+ #undef __PSP__
159
+ #define __PSP__ 1
160
+ #endif
161
+
162
+ /* The NACL compiler defines __native_client__ and __pnacl__
163
+ * Ref: http://www.chromium.org/nativeclient/pnacl/stability-of-the-pnacl-bitcode-abi
164
+ */
165
+ #if defined(__native_client__)
166
+ #undef __LINUX__
167
+ #undef __NACL__
168
+ #define __NACL__ 1
169
+ #endif
170
+ #if defined(__pnacl__)
171
+ #undef __LINUX__
172
+ #undef __PNACL__
173
+ #define __PNACL__ 1
174
+ /* PNACL with newlib supports static linking only */
175
+ #define __SDL_NOGETPROCADDR__
176
+ #endif
177
+
178
+
179
+ #include "begin_code.h"
180
+ /* Set up for C function definitions, even when using C++ */
181
+ #ifdef __cplusplus
182
+ extern "C" {
183
+ #endif
184
+
185
+ /**
186
+ * \brief Gets the name of the platform.
187
+ */
188
+ extern DECLSPEC const char * SDLCALL SDL_GetPlatform (void);
189
+
190
+ /* Ends C function definitions when using C++ */
191
+ #ifdef __cplusplus
192
+ }
193
+ #endif
194
+ #include "close_code.h"
195
+
196
+ #endif /* SDL_platform_h_ */
197
+
198
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,75 @@
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
+ #ifndef SDL_power_h_
23
+ #define SDL_power_h_
24
+
25
+ /**
26
+ * \file SDL_power.h
27
+ *
28
+ * Header for the SDL power management routines.
29
+ */
30
+
31
+ #include "SDL_stdinc.h"
32
+
33
+ #include "begin_code.h"
34
+ /* Set up for C function definitions, even when using C++ */
35
+ #ifdef __cplusplus
36
+ extern "C" {
37
+ #endif
38
+
39
+ /**
40
+ * \brief The basic state for the system's power supply.
41
+ */
42
+ typedef enum
43
+ {
44
+ SDL_POWERSTATE_UNKNOWN, /**< cannot determine power status */
45
+ SDL_POWERSTATE_ON_BATTERY, /**< Not plugged in, running on the battery */
46
+ SDL_POWERSTATE_NO_BATTERY, /**< Plugged in, no battery available */
47
+ SDL_POWERSTATE_CHARGING, /**< Plugged in, charging battery */
48
+ SDL_POWERSTATE_CHARGED /**< Plugged in, battery charged */
49
+ } SDL_PowerState;
50
+
51
+
52
+ /**
53
+ * \brief Get the current power supply details.
54
+ *
55
+ * \param secs Seconds of battery life left. You can pass a NULL here if
56
+ * you don't care. Will return -1 if we can't determine a
57
+ * value, or we're not running on a battery.
58
+ *
59
+ * \param pct Percentage of battery life left, between 0 and 100. You can
60
+ * pass a NULL here if you don't care. Will return -1 if we
61
+ * can't determine a value, or we're not running on a battery.
62
+ *
63
+ * \return The state of the battery (if any).
64
+ */
65
+ extern DECLSPEC SDL_PowerState SDLCALL SDL_GetPowerInfo(int *secs, int *pct);
66
+
67
+ /* Ends C function definitions when using C++ */
68
+ #ifdef __cplusplus
69
+ }
70
+ #endif
71
+ #include "close_code.h"
72
+
73
+ #endif /* SDL_power_h_ */
74
+
75
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,58 @@
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_quit.h
24
+ *
25
+ * Include file for SDL quit event handling.
26
+ */
27
+
28
+ #ifndef SDL_quit_h_
29
+ #define SDL_quit_h_
30
+
31
+ #include "SDL_stdinc.h"
32
+ #include "SDL_error.h"
33
+
34
+ /**
35
+ * \file SDL_quit.h
36
+ *
37
+ * An ::SDL_QUIT event is generated when the user tries to close the application
38
+ * window. If it is ignored or filtered out, the window will remain open.
39
+ * If it is not ignored or filtered, it is queued normally and the window
40
+ * is allowed to close. When the window is closed, screen updates will
41
+ * complete, but have no effect.
42
+ *
43
+ * SDL_Init() installs signal handlers for SIGINT (keyboard interrupt)
44
+ * and SIGTERM (system termination request), if handlers do not already
45
+ * exist, that generate ::SDL_QUIT events as well. There is no way
46
+ * to determine the cause of an ::SDL_QUIT event, but setting a signal
47
+ * handler in your application will override the default generation of
48
+ * quit events for that signal.
49
+ *
50
+ * \sa SDL_Quit()
51
+ */
52
+
53
+ /* There are no functions directly affecting the quit event */
54
+
55
+ #define SDL_QuitRequested() \
56
+ (SDL_PumpEvents(), (SDL_PeepEvents(NULL,0,SDL_PEEKEVENT,SDL_QUIT,SDL_QUIT) > 0))
57
+
58
+ #endif /* SDL_quit_h_ */
@@ -0,0 +1,148 @@
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_rect.h
24
+ *
25
+ * Header file for SDL_rect definition and management functions.
26
+ */
27
+
28
+ #ifndef SDL_rect_h_
29
+ #define SDL_rect_h_
30
+
31
+ #include "SDL_stdinc.h"
32
+ #include "SDL_error.h"
33
+ #include "SDL_pixels.h"
34
+ #include "SDL_rwops.h"
35
+
36
+ #include "begin_code.h"
37
+ /* Set up for C function definitions, even when using C++ */
38
+ #ifdef __cplusplus
39
+ extern "C" {
40
+ #endif
41
+
42
+ /**
43
+ * \brief The structure that defines a point
44
+ *
45
+ * \sa SDL_EnclosePoints
46
+ * \sa SDL_PointInRect
47
+ */
48
+ typedef struct SDL_Point
49
+ {
50
+ int x;
51
+ int y;
52
+ } SDL_Point;
53
+
54
+ /**
55
+ * \brief A rectangle, with the origin at the upper left.
56
+ *
57
+ * \sa SDL_RectEmpty
58
+ * \sa SDL_RectEquals
59
+ * \sa SDL_HasIntersection
60
+ * \sa SDL_IntersectRect
61
+ * \sa SDL_UnionRect
62
+ * \sa SDL_EnclosePoints
63
+ */
64
+ typedef struct SDL_Rect
65
+ {
66
+ int x, y;
67
+ int w, h;
68
+ } SDL_Rect;
69
+
70
+ /**
71
+ * \brief Returns true if point resides inside a rectangle.
72
+ */
73
+ SDL_FORCE_INLINE SDL_bool SDL_PointInRect(const SDL_Point *p, const SDL_Rect *r)
74
+ {
75
+ return ( (p->x >= r->x) && (p->x < (r->x + r->w)) &&
76
+ (p->y >= r->y) && (p->y < (r->y + r->h)) ) ? SDL_TRUE : SDL_FALSE;
77
+ }
78
+
79
+ /**
80
+ * \brief Returns true if the rectangle has no area.
81
+ */
82
+ SDL_FORCE_INLINE SDL_bool SDL_RectEmpty(const SDL_Rect *r)
83
+ {
84
+ return ((!r) || (r->w <= 0) || (r->h <= 0)) ? SDL_TRUE : SDL_FALSE;
85
+ }
86
+
87
+ /**
88
+ * \brief Returns true if the two rectangles are equal.
89
+ */
90
+ SDL_FORCE_INLINE SDL_bool SDL_RectEquals(const SDL_Rect *a, const SDL_Rect *b)
91
+ {
92
+ return (a && b && (a->x == b->x) && (a->y == b->y) &&
93
+ (a->w == b->w) && (a->h == b->h)) ? SDL_TRUE : SDL_FALSE;
94
+ }
95
+
96
+ /**
97
+ * \brief Determine whether two rectangles intersect.
98
+ *
99
+ * \return SDL_TRUE if there is an intersection, SDL_FALSE otherwise.
100
+ */
101
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasIntersection(const SDL_Rect * A,
102
+ const SDL_Rect * B);
103
+
104
+ /**
105
+ * \brief Calculate the intersection of two rectangles.
106
+ *
107
+ * \return SDL_TRUE if there is an intersection, SDL_FALSE otherwise.
108
+ */
109
+ extern DECLSPEC SDL_bool SDLCALL SDL_IntersectRect(const SDL_Rect * A,
110
+ const SDL_Rect * B,
111
+ SDL_Rect * result);
112
+
113
+ /**
114
+ * \brief Calculate the union of two rectangles.
115
+ */
116
+ extern DECLSPEC void SDLCALL SDL_UnionRect(const SDL_Rect * A,
117
+ const SDL_Rect * B,
118
+ SDL_Rect * result);
119
+
120
+ /**
121
+ * \brief Calculate a minimal rectangle enclosing a set of points
122
+ *
123
+ * \return SDL_TRUE if any points were within the clipping rect
124
+ */
125
+ extern DECLSPEC SDL_bool SDLCALL SDL_EnclosePoints(const SDL_Point * points,
126
+ int count,
127
+ const SDL_Rect * clip,
128
+ SDL_Rect * result);
129
+
130
+ /**
131
+ * \brief Calculate the intersection of a rectangle and line segment.
132
+ *
133
+ * \return SDL_TRUE if there is an intersection, SDL_FALSE otherwise.
134
+ */
135
+ extern DECLSPEC SDL_bool SDLCALL SDL_IntersectRectAndLine(const SDL_Rect *
136
+ rect, int *X1,
137
+ int *Y1, int *X2,
138
+ int *Y2);
139
+
140
+ /* Ends C function definitions when using C++ */
141
+ #ifdef __cplusplus
142
+ }
143
+ #endif
144
+ #include "close_code.h"
145
+
146
+ #endif /* SDL_rect_h_ */
147
+
148
+ /* vi: set ts=4 sw=4 expandtab: */