gosu 0.15.1 → 1.1.0.pre1

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 (227) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/COPYING +1 -1
  4. data/dependencies/SDL/include/SDL.h +138 -0
  5. data/dependencies/SDL/include/SDL_assert.h +293 -0
  6. data/dependencies/SDL/include/SDL_atomic.h +295 -0
  7. data/dependencies/SDL/include/SDL_audio.h +859 -0
  8. data/dependencies/SDL/include/SDL_bits.h +121 -0
  9. data/dependencies/SDL/include/SDL_blendmode.h +123 -0
  10. data/dependencies/SDL/include/SDL_clipboard.h +71 -0
  11. data/dependencies/SDL/include/SDL_config.h +55 -0
  12. data/dependencies/SDL/include/SDL_config_android.h +182 -0
  13. data/dependencies/SDL/include/SDL_config_iphoneos.h +207 -0
  14. data/dependencies/SDL/include/SDL_config_macosx.h +266 -0
  15. data/dependencies/SDL/include/SDL_config_minimal.h +85 -0
  16. data/dependencies/SDL/include/SDL_config_os2.h +188 -0
  17. data/dependencies/SDL/include/SDL_config_pandora.h +135 -0
  18. data/dependencies/SDL/include/SDL_config_psp.h +165 -0
  19. data/dependencies/SDL/include/SDL_config_windows.h +288 -0
  20. data/dependencies/SDL/include/SDL_config_winrt.h +243 -0
  21. data/dependencies/SDL/include/SDL_config_wiz.h +149 -0
  22. data/dependencies/SDL/include/SDL_copying.h +20 -0
  23. data/dependencies/SDL/include/SDL_cpuinfo.h +299 -0
  24. data/dependencies/SDL/include/SDL_egl.h +1676 -0
  25. data/dependencies/SDL/include/SDL_endian.h +263 -0
  26. data/dependencies/SDL/include/SDL_error.h +112 -0
  27. data/dependencies/SDL/include/SDL_events.h +827 -0
  28. data/dependencies/SDL/include/SDL_filesystem.h +136 -0
  29. data/dependencies/SDL/include/SDL_gamecontroller.h +541 -0
  30. data/dependencies/SDL/include/SDL_gesture.h +87 -0
  31. data/dependencies/SDL/include/SDL_haptic.h +1247 -0
  32. data/dependencies/SDL/include/SDL_hints.h +1578 -0
  33. data/dependencies/SDL/include/SDL_joystick.h +499 -0
  34. data/dependencies/SDL/include/SDL_keyboard.h +217 -0
  35. data/dependencies/SDL/include/SDL_keycode.h +351 -0
  36. data/dependencies/SDL/include/SDL_loadso.h +81 -0
  37. data/dependencies/SDL/include/SDL_locale.h +101 -0
  38. data/dependencies/SDL/include/SDL_log.h +211 -0
  39. data/dependencies/SDL/include/SDL_main.h +180 -0
  40. data/dependencies/SDL/include/SDL_messagebox.h +146 -0
  41. data/dependencies/SDL/include/SDL_metal.h +117 -0
  42. data/dependencies/SDL/include/SDL_misc.h +75 -0
  43. data/dependencies/SDL/include/SDL_mouse.h +302 -0
  44. data/dependencies/SDL/include/SDL_mutex.h +251 -0
  45. data/dependencies/SDL/include/SDL_name.h +33 -0
  46. data/dependencies/SDL/include/SDL_opengl.h +2183 -0
  47. data/dependencies/SDL/include/SDL_opengl_glext.h +11180 -0
  48. data/dependencies/SDL/include/SDL_opengles.h +39 -0
  49. data/dependencies/SDL/include/SDL_opengles2.h +52 -0
  50. data/dependencies/SDL/include/SDL_opengles2_gl2.h +621 -0
  51. data/dependencies/SDL/include/SDL_opengles2_gl2ext.h +2050 -0
  52. data/dependencies/SDL/include/SDL_opengles2_gl2platform.h +30 -0
  53. data/dependencies/SDL/include/SDL_opengles2_khrplatform.h +282 -0
  54. data/dependencies/SDL/include/SDL_pixels.h +479 -0
  55. data/dependencies/SDL/include/SDL_platform.h +198 -0
  56. data/dependencies/SDL/include/SDL_power.h +75 -0
  57. data/dependencies/SDL/include/SDL_quit.h +58 -0
  58. data/dependencies/SDL/include/SDL_rect.h +174 -0
  59. data/dependencies/SDL/include/SDL_render.h +1158 -0
  60. data/dependencies/SDL/include/SDL_revision.h +2 -0
  61. data/dependencies/SDL/include/SDL_rwops.h +283 -0
  62. data/dependencies/SDL/include/SDL_scancode.h +413 -0
  63. data/dependencies/SDL/include/SDL_sensor.h +267 -0
  64. data/dependencies/SDL/include/SDL_shape.h +144 -0
  65. data/dependencies/SDL/include/SDL_stdinc.h +647 -0
  66. data/dependencies/SDL/include/SDL_surface.h +563 -0
  67. data/dependencies/SDL/include/SDL_system.h +325 -0
  68. data/dependencies/SDL/include/SDL_syswm.h +354 -0
  69. data/dependencies/SDL/include/SDL_test.h +69 -0
  70. data/dependencies/SDL/include/SDL_test_assert.h +105 -0
  71. data/dependencies/SDL/include/SDL_test_common.h +218 -0
  72. data/dependencies/SDL/include/SDL_test_compare.h +69 -0
  73. data/dependencies/SDL/include/SDL_test_crc32.h +124 -0
  74. data/dependencies/SDL/include/SDL_test_font.h +81 -0
  75. data/dependencies/SDL/include/SDL_test_fuzzer.h +384 -0
  76. data/dependencies/SDL/include/SDL_test_harness.h +134 -0
  77. data/dependencies/SDL/include/SDL_test_images.h +78 -0
  78. data/dependencies/SDL/include/SDL_test_log.h +67 -0
  79. data/dependencies/SDL/include/SDL_test_md5.h +129 -0
  80. data/dependencies/SDL/include/SDL_test_memory.h +63 -0
  81. data/dependencies/SDL/include/SDL_test_random.h +115 -0
  82. data/dependencies/SDL/include/SDL_thread.h +366 -0
  83. data/dependencies/SDL/include/SDL_timer.h +115 -0
  84. data/dependencies/SDL/include/SDL_touch.h +102 -0
  85. data/dependencies/SDL/include/SDL_types.h +29 -0
  86. data/dependencies/SDL/include/SDL_version.h +162 -0
  87. data/dependencies/SDL/include/SDL_video.h +1282 -0
  88. data/dependencies/SDL/include/SDL_vulkan.h +276 -0
  89. data/dependencies/SDL/include/begin_code.h +166 -0
  90. data/dependencies/SDL/include/close_code.h +40 -0
  91. data/dependencies/SDL/lib/x64/libSDL2.dll.a +0 -0
  92. data/dependencies/SDL/lib/x86/libSDL2.dll.a +0 -0
  93. data/dependencies/SDL_sound/SDL_sound.c +795 -0
  94. data/dependencies/SDL_sound/SDL_sound.h +725 -0
  95. data/dependencies/SDL_sound/SDL_sound_aiff.c +537 -0
  96. data/dependencies/SDL_sound/SDL_sound_au.c +352 -0
  97. data/dependencies/SDL_sound/SDL_sound_coreaudio.c +747 -0
  98. data/dependencies/SDL_sound/SDL_sound_flac.c +182 -0
  99. data/dependencies/SDL_sound/SDL_sound_internal.h +304 -0
  100. data/dependencies/SDL_sound/SDL_sound_modplug.c +228 -0
  101. data/dependencies/SDL_sound/SDL_sound_mp3.c +184 -0
  102. data/dependencies/SDL_sound/SDL_sound_raw.c +164 -0
  103. data/dependencies/SDL_sound/SDL_sound_shn.c +1309 -0
  104. data/dependencies/SDL_sound/SDL_sound_voc.c +550 -0
  105. data/dependencies/SDL_sound/SDL_sound_vorbis.c +223 -0
  106. data/dependencies/SDL_sound/SDL_sound_wav.c +783 -0
  107. data/dependencies/SDL_sound/dr_flac.h +5906 -0
  108. data/dependencies/SDL_sound/dr_mp3.h +2832 -0
  109. data/dependencies/SDL_sound/libmodplug/fastmix.c +1748 -0
  110. data/dependencies/SDL_sound/libmodplug/libmodplug.h +1001 -0
  111. data/dependencies/SDL_sound/libmodplug/load_669.c +188 -0
  112. data/dependencies/SDL_sound/libmodplug/load_abc.c +4725 -0
  113. data/dependencies/SDL_sound/libmodplug/load_amf.c +403 -0
  114. data/dependencies/SDL_sound/libmodplug/load_ams.c +587 -0
  115. data/dependencies/SDL_sound/libmodplug/load_dbm.c +357 -0
  116. data/dependencies/SDL_sound/libmodplug/load_dmf.c +531 -0
  117. data/dependencies/SDL_sound/libmodplug/load_dsm.c +232 -0
  118. data/dependencies/SDL_sound/libmodplug/load_far.c +253 -0
  119. data/dependencies/SDL_sound/libmodplug/load_it.c +796 -0
  120. data/dependencies/SDL_sound/libmodplug/load_mdl.c +488 -0
  121. data/dependencies/SDL_sound/libmodplug/load_med.c +757 -0
  122. data/dependencies/SDL_sound/libmodplug/load_mid.c +1405 -0
  123. data/dependencies/SDL_sound/libmodplug/load_mod.c +269 -0
  124. data/dependencies/SDL_sound/libmodplug/load_mt2.c +546 -0
  125. data/dependencies/SDL_sound/libmodplug/load_mtm.c +142 -0
  126. data/dependencies/SDL_sound/libmodplug/load_okt.c +192 -0
  127. data/dependencies/SDL_sound/libmodplug/load_pat.c +1143 -0
  128. data/dependencies/SDL_sound/libmodplug/load_pat.h +25 -0
  129. data/dependencies/SDL_sound/libmodplug/load_psm.c +350 -0
  130. data/dependencies/SDL_sound/libmodplug/load_ptm.c +204 -0
  131. data/dependencies/SDL_sound/libmodplug/load_s3m.c +325 -0
  132. data/dependencies/SDL_sound/libmodplug/load_stm.c +180 -0
  133. data/dependencies/SDL_sound/libmodplug/load_ult.c +206 -0
  134. data/dependencies/SDL_sound/libmodplug/load_umx.c +51 -0
  135. data/dependencies/SDL_sound/libmodplug/load_xm.c +554 -0
  136. data/dependencies/SDL_sound/libmodplug/mmcmp.c +382 -0
  137. data/dependencies/SDL_sound/libmodplug/modplug.c +170 -0
  138. data/dependencies/SDL_sound/libmodplug/modplug.h +90 -0
  139. data/dependencies/SDL_sound/libmodplug/snd_dsp.c +301 -0
  140. data/dependencies/SDL_sound/libmodplug/snd_flt.c +63 -0
  141. data/dependencies/SDL_sound/libmodplug/snd_fx.c +2350 -0
  142. data/dependencies/SDL_sound/libmodplug/sndfile.c +1169 -0
  143. data/dependencies/SDL_sound/libmodplug/sndmix.c +1034 -0
  144. data/dependencies/SDL_sound/libmodplug/tables.h +371 -0
  145. data/{src/stb_vorbis.c → dependencies/SDL_sound/stb_vorbis.h} +143 -78
  146. data/dependencies/al_soft/AL/al.h +655 -0
  147. data/dependencies/al_soft/AL/alc.h +270 -0
  148. data/dependencies/al_soft/AL/alext.h +585 -0
  149. data/dependencies/al_soft/AL/efx-creative.h +3 -0
  150. data/dependencies/al_soft/AL/efx-presets.h +402 -0
  151. data/dependencies/al_soft/AL/efx.h +762 -0
  152. data/dependencies/al_soft/x64/libOpenAL32.dll.a +0 -0
  153. data/dependencies/al_soft/x86/libOpenAL32.dll.a +0 -0
  154. data/{src → dependencies/stb}/stb_image.h +330 -127
  155. data/{src → dependencies/stb}/stb_image_write.h +156 -85
  156. data/{src → dependencies/stb}/stb_truetype.h +192 -69
  157. data/{src → dependencies/utf8proc}/utf8proc.c +0 -0
  158. data/{src → dependencies/utf8proc}/utf8proc.h +0 -0
  159. data/{src → dependencies/utf8proc}/utf8proc_data.h +0 -0
  160. data/ext/gosu/extconf.rb +53 -39
  161. data/{Gosu → include/Gosu}/Audio.hpp +6 -8
  162. data/include/Gosu/Bitmap.hpp +100 -0
  163. data/{Gosu → include/Gosu}/Buttons.hpp +104 -44
  164. data/{Gosu → include/Gosu}/Color.hpp +0 -0
  165. data/{Gosu → include/Gosu}/Directories.hpp +0 -0
  166. data/{Gosu → include/Gosu}/Font.hpp +1 -1
  167. data/{Gosu → include/Gosu}/Fwd.hpp +0 -5
  168. data/{Gosu → include/Gosu}/Gosu.hpp +0 -0
  169. data/{Gosu → include/Gosu}/Graphics.hpp +0 -0
  170. data/{Gosu → include/Gosu}/GraphicsBase.hpp +0 -0
  171. data/{Gosu → include/Gosu}/IO.hpp +0 -0
  172. data/{Gosu → include/Gosu}/Image.hpp +7 -6
  173. data/{Gosu → include/Gosu}/ImageData.hpp +0 -0
  174. data/{Gosu → include/Gosu}/Input.hpp +39 -51
  175. data/{Gosu → include/Gosu}/Inspection.hpp +0 -0
  176. data/{Gosu → include/Gosu}/Math.hpp +0 -0
  177. data/{Gosu → include/Gosu}/Platform.hpp +0 -0
  178. data/{Gosu → include/Gosu}/Text.hpp +0 -0
  179. data/{Gosu → include/Gosu}/TextInput.hpp +0 -0
  180. data/{Gosu → include/Gosu}/Timing.hpp +0 -0
  181. data/{Gosu → include/Gosu}/Utility.hpp +15 -4
  182. data/{Gosu → include/Gosu}/Version.hpp +3 -3
  183. data/{Gosu → include/Gosu}/Window.hpp +46 -34
  184. data/lib/OpenAL32.dll +0 -0
  185. data/lib/SDL2.dll +0 -0
  186. data/lib/gosu.rb +0 -3
  187. data/lib/gosu/patches.rb +0 -23
  188. data/lib/gosu/preview.rb +1 -3
  189. data/lib/gosu/swig_patches.rb +6 -8
  190. data/lib64/OpenAL32.dll +0 -0
  191. data/lib64/SDL2.dll +0 -0
  192. data/rdoc/gosu.rb +112 -23
  193. data/src/Audio.cpp +50 -224
  194. data/src/AudioFile.hpp +20 -37
  195. data/src/AudioFileAudioToolbox.cpp +237 -0
  196. data/src/AudioFileSDLSound.cpp +147 -0
  197. data/src/AudioImpl.cpp +3 -12
  198. data/src/AudioImpl.hpp +3 -1
  199. data/src/Bitmap.cpp +85 -83
  200. data/src/BitmapIO.cpp +52 -58
  201. data/src/Font.cpp +4 -1
  202. data/src/Graphics.cpp +7 -4
  203. data/src/Image.cpp +13 -16
  204. data/src/Input.cpp +412 -164
  205. data/src/LargeImageData.cpp +2 -1
  206. data/src/MarkupParser.cpp +2 -1
  207. data/src/Resolution.cpp +8 -8
  208. data/src/RubyGosu.cxx +1184 -352
  209. data/src/RubyGosu.h +3 -2
  210. data/src/TexChunk.cpp +1 -1
  211. data/src/Text.cpp +1 -0
  212. data/src/TextBuilder.cpp +3 -1
  213. data/src/Texture.cpp +1 -1
  214. data/src/TrueTypeFont.cpp +2 -1
  215. data/src/TrueTypeFontWin.cpp +3 -3
  216. data/src/Utility.cpp +11 -7
  217. data/src/Window.cpp +90 -62
  218. data/src/WindowUIKit.cpp +21 -9
  219. metadata +195 -46
  220. data/Gosu/AutoLink.hpp +0 -14
  221. data/Gosu/Bitmap.hpp +0 -113
  222. data/lib/gosu/zen.rb +0 -89
  223. data/src/AudioToolboxFile.hpp +0 -210
  224. data/src/MPEGFile.hpp +0 -90
  225. data/src/OggFile.hpp +0 -92
  226. data/src/SndFile.hpp +0 -174
  227. data/src/WinMain.cpp +0 -64
@@ -0,0 +1,81 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+ */
21
+
22
+ /**
23
+ * \file SDL_loadso.h
24
+ *
25
+ * System dependent library loading routines
26
+ *
27
+ * Some things to keep in mind:
28
+ * \li These functions only work on C function names. Other languages may
29
+ * have name mangling and intrinsic language support that varies from
30
+ * compiler to compiler.
31
+ * \li Make sure you declare your function pointers with the same calling
32
+ * convention as the actual library function. Your code will crash
33
+ * mysteriously if you do not do this.
34
+ * \li Avoid namespace collisions. If you load a symbol from the library,
35
+ * it is not defined whether or not it goes into the global symbol
36
+ * namespace for the application. If it does and it conflicts with
37
+ * symbols in your code or other shared libraries, you will not get
38
+ * the results you expect. :)
39
+ */
40
+
41
+ #ifndef SDL_loadso_h_
42
+ #define SDL_loadso_h_
43
+
44
+ #include "SDL_stdinc.h"
45
+ #include "SDL_error.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
+ /**
54
+ * This function dynamically loads a shared object and returns a pointer
55
+ * to the object handle (or NULL if there was an error).
56
+ * The 'sofile' parameter is a system dependent name of the object file.
57
+ */
58
+ extern DECLSPEC void *SDLCALL SDL_LoadObject(const char *sofile);
59
+
60
+ /**
61
+ * Given an object handle, this function looks up the address of the
62
+ * named function in the shared object and returns it. This address
63
+ * is no longer valid after calling SDL_UnloadObject().
64
+ */
65
+ extern DECLSPEC void *SDLCALL SDL_LoadFunction(void *handle,
66
+ const char *name);
67
+
68
+ /**
69
+ * Unload a shared object from memory.
70
+ */
71
+ extern DECLSPEC void SDLCALL SDL_UnloadObject(void *handle);
72
+
73
+ /* Ends C function definitions when using C++ */
74
+ #ifdef __cplusplus
75
+ }
76
+ #endif
77
+ #include "close_code.h"
78
+
79
+ #endif /* SDL_loadso_h_ */
80
+
81
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,101 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+ */
21
+
22
+ /**
23
+ * \file SDL_locale.h
24
+ *
25
+ * Include file for SDL locale services
26
+ */
27
+
28
+ #ifndef _SDL_locale_h
29
+ #define _SDL_locale_h
30
+
31
+ #include "SDL_stdinc.h"
32
+ #include "SDL_error.h"
33
+
34
+ #include "begin_code.h"
35
+ /* Set up for C function definitions, even when using C++ */
36
+ #ifdef __cplusplus
37
+ /* *INDENT-OFF* */
38
+ extern "C" {
39
+ /* *INDENT-ON* */
40
+ #endif
41
+
42
+
43
+ typedef struct SDL_Locale
44
+ {
45
+ const char *language; /**< A language name, like "en" for English. */
46
+ const char *country; /**< A country, like "US" for America. Can be NULL. */
47
+ } SDL_Locale;
48
+
49
+ /**
50
+ * \brief Report the user's preferred locale.
51
+ *
52
+ * This returns an array of SDL_Locale structs, the final item zeroed out.
53
+ * When the caller is done with this array, it should call SDL_free() on
54
+ * the returned value; all the memory involved is allocated in a single
55
+ * block, so a single SDL_free() will suffice.
56
+ *
57
+ * Returned language strings are in the format xx, where 'xx' is an ISO-639
58
+ * language specifier (such as "en" for English, "de" for German, etc).
59
+ * Country strings are in the format YY, where "YY" is an ISO-3166 country
60
+ * code (such as "US" for the United States, "CA" for Canada, etc). Country
61
+ * might be NULL if there's no specific guidance on them (so you might get
62
+ * { "en", "US" } for American English, but { "en", NULL } means "English
63
+ * language, generically"). Language strings are never NULL, except to
64
+ * terminate the array.
65
+ *
66
+ * Please note that not all of these strings are 2 characters; some are
67
+ * three or more.
68
+ *
69
+ * The returned list of locales are in the order of the user's preference.
70
+ * For example, a German citizen that is fluent in US English and knows
71
+ * enough Japanese to navigate around Tokyo might have a list like:
72
+ * { "de", "en_US", "jp", NULL }. Someone from England might prefer British
73
+ * English (where "color" is spelled "colour", etc), but will settle for
74
+ * anything like it: { "en_GB", "en", NULL }.
75
+ *
76
+ * This function returns NULL on error, including when the platform does not
77
+ * supply this information at all.
78
+ *
79
+ * This might be a "slow" call that has to query the operating system. It's
80
+ * best to ask for this once and save the results. However, this list can
81
+ * change, usually because the user has changed a system preference outside
82
+ * of your program; SDL will send an SDL_LOCALECHANGED event in this case,
83
+ * if possible, and you can call this function again to get an updated copy
84
+ * of preferred locales.
85
+ *
86
+ * \return array of locales, terminated with a locale with a NULL language
87
+ * field. Will return NULL on error.
88
+ */
89
+ extern DECLSPEC SDL_Locale * SDLCALL SDL_GetPreferredLocales(void);
90
+
91
+ /* Ends C function definitions when using C++ */
92
+ #ifdef __cplusplus
93
+ /* *INDENT-OFF* */
94
+ }
95
+ /* *INDENT-ON* */
96
+ #endif
97
+ #include "close_code.h"
98
+
99
+ #endif /* _SDL_locale_h */
100
+
101
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,211 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+ */
21
+
22
+ /**
23
+ * \file SDL_log.h
24
+ *
25
+ * Simple log messages with categories and priorities.
26
+ *
27
+ * By default logs are quiet, but if you're debugging SDL you might want:
28
+ *
29
+ * SDL_LogSetAllPriority(SDL_LOG_PRIORITY_WARN);
30
+ *
31
+ * Here's where the messages go on different platforms:
32
+ * Windows: debug output stream
33
+ * Android: log output
34
+ * Others: standard error output (stderr)
35
+ */
36
+
37
+ #ifndef SDL_log_h_
38
+ #define SDL_log_h_
39
+
40
+ #include "SDL_stdinc.h"
41
+
42
+ #include "begin_code.h"
43
+ /* Set up for C function definitions, even when using C++ */
44
+ #ifdef __cplusplus
45
+ extern "C" {
46
+ #endif
47
+
48
+
49
+ /**
50
+ * \brief The maximum size of a log message
51
+ *
52
+ * Messages longer than the maximum size will be truncated
53
+ */
54
+ #define SDL_MAX_LOG_MESSAGE 4096
55
+
56
+ /**
57
+ * \brief The predefined log categories
58
+ *
59
+ * By default the application category is enabled at the INFO level,
60
+ * the assert category is enabled at the WARN level, test is enabled
61
+ * at the VERBOSE level and all other categories are enabled at the
62
+ * CRITICAL level.
63
+ */
64
+ typedef enum
65
+ {
66
+ SDL_LOG_CATEGORY_APPLICATION,
67
+ SDL_LOG_CATEGORY_ERROR,
68
+ SDL_LOG_CATEGORY_ASSERT,
69
+ SDL_LOG_CATEGORY_SYSTEM,
70
+ SDL_LOG_CATEGORY_AUDIO,
71
+ SDL_LOG_CATEGORY_VIDEO,
72
+ SDL_LOG_CATEGORY_RENDER,
73
+ SDL_LOG_CATEGORY_INPUT,
74
+ SDL_LOG_CATEGORY_TEST,
75
+
76
+ /* Reserved for future SDL library use */
77
+ SDL_LOG_CATEGORY_RESERVED1,
78
+ SDL_LOG_CATEGORY_RESERVED2,
79
+ SDL_LOG_CATEGORY_RESERVED3,
80
+ SDL_LOG_CATEGORY_RESERVED4,
81
+ SDL_LOG_CATEGORY_RESERVED5,
82
+ SDL_LOG_CATEGORY_RESERVED6,
83
+ SDL_LOG_CATEGORY_RESERVED7,
84
+ SDL_LOG_CATEGORY_RESERVED8,
85
+ SDL_LOG_CATEGORY_RESERVED9,
86
+ SDL_LOG_CATEGORY_RESERVED10,
87
+
88
+ /* Beyond this point is reserved for application use, e.g.
89
+ enum {
90
+ MYAPP_CATEGORY_AWESOME1 = SDL_LOG_CATEGORY_CUSTOM,
91
+ MYAPP_CATEGORY_AWESOME2,
92
+ MYAPP_CATEGORY_AWESOME3,
93
+ ...
94
+ };
95
+ */
96
+ SDL_LOG_CATEGORY_CUSTOM
97
+ } SDL_LogCategory;
98
+
99
+ /**
100
+ * \brief The predefined log priorities
101
+ */
102
+ typedef enum
103
+ {
104
+ SDL_LOG_PRIORITY_VERBOSE = 1,
105
+ SDL_LOG_PRIORITY_DEBUG,
106
+ SDL_LOG_PRIORITY_INFO,
107
+ SDL_LOG_PRIORITY_WARN,
108
+ SDL_LOG_PRIORITY_ERROR,
109
+ SDL_LOG_PRIORITY_CRITICAL,
110
+ SDL_NUM_LOG_PRIORITIES
111
+ } SDL_LogPriority;
112
+
113
+
114
+ /**
115
+ * \brief Set the priority of all log categories
116
+ */
117
+ extern DECLSPEC void SDLCALL SDL_LogSetAllPriority(SDL_LogPriority priority);
118
+
119
+ /**
120
+ * \brief Set the priority of a particular log category
121
+ */
122
+ extern DECLSPEC void SDLCALL SDL_LogSetPriority(int category,
123
+ SDL_LogPriority priority);
124
+
125
+ /**
126
+ * \brief Get the priority of a particular log category
127
+ */
128
+ extern DECLSPEC SDL_LogPriority SDLCALL SDL_LogGetPriority(int category);
129
+
130
+ /**
131
+ * \brief Reset all priorities to default.
132
+ *
133
+ * \note This is called in SDL_Quit().
134
+ */
135
+ extern DECLSPEC void SDLCALL SDL_LogResetPriorities(void);
136
+
137
+ /**
138
+ * \brief Log a message with SDL_LOG_CATEGORY_APPLICATION and SDL_LOG_PRIORITY_INFO
139
+ */
140
+ extern DECLSPEC void SDLCALL SDL_Log(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1);
141
+
142
+ /**
143
+ * \brief Log a message with SDL_LOG_PRIORITY_VERBOSE
144
+ */
145
+ extern DECLSPEC void SDLCALL SDL_LogVerbose(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
146
+
147
+ /**
148
+ * \brief Log a message with SDL_LOG_PRIORITY_DEBUG
149
+ */
150
+ extern DECLSPEC void SDLCALL SDL_LogDebug(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
151
+
152
+ /**
153
+ * \brief Log a message with SDL_LOG_PRIORITY_INFO
154
+ */
155
+ extern DECLSPEC void SDLCALL SDL_LogInfo(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
156
+
157
+ /**
158
+ * \brief Log a message with SDL_LOG_PRIORITY_WARN
159
+ */
160
+ extern DECLSPEC void SDLCALL SDL_LogWarn(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
161
+
162
+ /**
163
+ * \brief Log a message with SDL_LOG_PRIORITY_ERROR
164
+ */
165
+ extern DECLSPEC void SDLCALL SDL_LogError(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
166
+
167
+ /**
168
+ * \brief Log a message with SDL_LOG_PRIORITY_CRITICAL
169
+ */
170
+ extern DECLSPEC void SDLCALL SDL_LogCritical(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
171
+
172
+ /**
173
+ * \brief Log a message with the specified category and priority.
174
+ */
175
+ extern DECLSPEC void SDLCALL SDL_LogMessage(int category,
176
+ SDL_LogPriority priority,
177
+ SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(3);
178
+
179
+ /**
180
+ * \brief Log a message with the specified category and priority.
181
+ */
182
+ extern DECLSPEC void SDLCALL SDL_LogMessageV(int category,
183
+ SDL_LogPriority priority,
184
+ const char *fmt, va_list ap);
185
+
186
+ /**
187
+ * \brief The prototype for the log output function
188
+ */
189
+ typedef void (SDLCALL *SDL_LogOutputFunction)(void *userdata, int category, SDL_LogPriority priority, const char *message);
190
+
191
+ /**
192
+ * \brief Get the current log output function.
193
+ */
194
+ extern DECLSPEC void SDLCALL SDL_LogGetOutputFunction(SDL_LogOutputFunction *callback, void **userdata);
195
+
196
+ /**
197
+ * \brief This function allows you to replace the default log output
198
+ * function with one of your own.
199
+ */
200
+ extern DECLSPEC void SDLCALL SDL_LogSetOutputFunction(SDL_LogOutputFunction callback, void *userdata);
201
+
202
+
203
+ /* Ends C function definitions when using C++ */
204
+ #ifdef __cplusplus
205
+ }
206
+ #endif
207
+ #include "close_code.h"
208
+
209
+ #endif /* SDL_log_h_ */
210
+
211
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,180 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+ */
21
+
22
+ #ifndef SDL_main_h_
23
+ #define SDL_main_h_
24
+
25
+ #include "SDL_stdinc.h"
26
+
27
+ /**
28
+ * \file SDL_main.h
29
+ *
30
+ * Redefine main() on some platforms so that it is called by SDL.
31
+ */
32
+
33
+ #ifndef SDL_MAIN_HANDLED
34
+ #if defined(__WIN32__)
35
+ /* On Windows SDL provides WinMain(), which parses the command line and passes
36
+ the arguments to your main function.
37
+
38
+ If you provide your own WinMain(), you may define SDL_MAIN_HANDLED
39
+ */
40
+ #define SDL_MAIN_AVAILABLE
41
+
42
+ #elif defined(__WINRT__)
43
+ /* On WinRT, SDL provides a main function that initializes CoreApplication,
44
+ creating an instance of IFrameworkView in the process.
45
+
46
+ Please note that #include'ing SDL_main.h is not enough to get a main()
47
+ function working. In non-XAML apps, the file,
48
+ src/main/winrt/SDL_WinRT_main_NonXAML.cpp, or a copy of it, must be compiled
49
+ into the app itself. In XAML apps, the function, SDL_WinRTRunApp must be
50
+ called, with a pointer to the Direct3D-hosted XAML control passed in.
51
+ */
52
+ #define SDL_MAIN_NEEDED
53
+
54
+ #elif defined(__IPHONEOS__)
55
+ /* On iOS SDL provides a main function that creates an application delegate
56
+ and starts the iOS application run loop.
57
+
58
+ If you link with SDL dynamically on iOS, the main function can't be in a
59
+ shared library, so you need to link with libSDLmain.a, which includes a
60
+ stub main function that calls into the shared library to start execution.
61
+
62
+ See src/video/uikit/SDL_uikitappdelegate.m for more details.
63
+ */
64
+ #define SDL_MAIN_NEEDED
65
+
66
+ #elif defined(__ANDROID__)
67
+ /* On Android SDL provides a Java class in SDLActivity.java that is the
68
+ main activity entry point.
69
+
70
+ See docs/README-android.md for more details on extending that class.
71
+ */
72
+ #define SDL_MAIN_NEEDED
73
+
74
+ /* We need to export SDL_main so it can be launched from Java */
75
+ #define SDLMAIN_DECLSPEC DECLSPEC
76
+
77
+ #elif defined(__NACL__)
78
+ /* On NACL we use ppapi_simple to set up the application helper code,
79
+ then wait for the first PSE_INSTANCE_DIDCHANGEVIEW event before
80
+ starting the user main function.
81
+ All user code is run in a separate thread by ppapi_simple, thus
82
+ allowing for blocking io to take place via nacl_io
83
+ */
84
+ #define SDL_MAIN_NEEDED
85
+
86
+ #endif
87
+ #endif /* SDL_MAIN_HANDLED */
88
+
89
+ #ifndef SDLMAIN_DECLSPEC
90
+ #define SDLMAIN_DECLSPEC
91
+ #endif
92
+
93
+ /**
94
+ * \file SDL_main.h
95
+ *
96
+ * The application's main() function must be called with C linkage,
97
+ * and should be declared like this:
98
+ * \code
99
+ * #ifdef __cplusplus
100
+ * extern "C"
101
+ * #endif
102
+ * int main(int argc, char *argv[])
103
+ * {
104
+ * }
105
+ * \endcode
106
+ */
107
+
108
+ #if defined(SDL_MAIN_NEEDED) || defined(SDL_MAIN_AVAILABLE)
109
+ #define main SDL_main
110
+ #endif
111
+
112
+ #include "begin_code.h"
113
+ #ifdef __cplusplus
114
+ extern "C" {
115
+ #endif
116
+
117
+ /**
118
+ * The prototype for the application's main() function
119
+ */
120
+ typedef int (*SDL_main_func)(int argc, char *argv[]);
121
+ extern SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[]);
122
+
123
+
124
+ /**
125
+ * This is called by the real SDL main function to let the rest of the
126
+ * library know that initialization was done properly.
127
+ *
128
+ * Calling this yourself without knowing what you're doing can cause
129
+ * crashes and hard to diagnose problems with your application.
130
+ */
131
+ extern DECLSPEC void SDLCALL SDL_SetMainReady(void);
132
+
133
+ #ifdef __WIN32__
134
+
135
+ /**
136
+ * This can be called to set the application class at startup
137
+ */
138
+ extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style, void *hInst);
139
+ extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
140
+
141
+ #endif /* __WIN32__ */
142
+
143
+
144
+ #ifdef __WINRT__
145
+
146
+ /**
147
+ * \brief Initializes and launches an SDL/WinRT application.
148
+ *
149
+ * \param mainFunction The SDL app's C-style main().
150
+ * \param reserved Reserved for future use; should be NULL
151
+ * \return 0 on success, -1 on failure. On failure, use SDL_GetError to retrieve more
152
+ * information on the failure.
153
+ */
154
+ extern DECLSPEC int SDLCALL SDL_WinRTRunApp(SDL_main_func mainFunction, void * reserved);
155
+
156
+ #endif /* __WINRT__ */
157
+
158
+ #if defined(__IPHONEOS__)
159
+
160
+ /**
161
+ * \brief Initializes and launches an SDL application.
162
+ *
163
+ * \param argc The argc parameter from the application's main() function
164
+ * \param argv The argv parameter from the application's main() function
165
+ * \param mainFunction The SDL app's C-style main().
166
+ * \return the return value from mainFunction
167
+ */
168
+ extern DECLSPEC int SDLCALL SDL_UIKitRunApp(int argc, char *argv[], SDL_main_func mainFunction);
169
+
170
+ #endif /* __IPHONEOS__ */
171
+
172
+
173
+ #ifdef __cplusplus
174
+ }
175
+ #endif
176
+ #include "close_code.h"
177
+
178
+ #endif /* SDL_main_h_ */
179
+
180
+ /* vi: set ts=4 sw=4 expandtab: */