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,115 @@
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_timer_h_
23
+ #define SDL_timer_h_
24
+
25
+ /**
26
+ * \file SDL_timer.h
27
+ *
28
+ * Header for the SDL time management routines.
29
+ */
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
+ extern "C" {
38
+ #endif
39
+
40
+ /**
41
+ * \brief Get the number of milliseconds since the SDL library initialization.
42
+ *
43
+ * \note This value wraps if the program runs for more than ~49 days.
44
+ */
45
+ extern DECLSPEC Uint32 SDLCALL SDL_GetTicks(void);
46
+
47
+ /**
48
+ * \brief Compare SDL ticks values, and return true if A has passed B
49
+ *
50
+ * e.g. if you want to wait 100 ms, you could do this:
51
+ * Uint32 timeout = SDL_GetTicks() + 100;
52
+ * while (!SDL_TICKS_PASSED(SDL_GetTicks(), timeout)) {
53
+ * ... do work until timeout has elapsed
54
+ * }
55
+ */
56
+ #define SDL_TICKS_PASSED(A, B) ((Sint32)((B) - (A)) <= 0)
57
+
58
+ /**
59
+ * \brief Get the current value of the high resolution counter
60
+ */
61
+ extern DECLSPEC Uint64 SDLCALL SDL_GetPerformanceCounter(void);
62
+
63
+ /**
64
+ * \brief Get the count per second of the high resolution counter
65
+ */
66
+ extern DECLSPEC Uint64 SDLCALL SDL_GetPerformanceFrequency(void);
67
+
68
+ /**
69
+ * \brief Wait a specified number of milliseconds before returning.
70
+ */
71
+ extern DECLSPEC void SDLCALL SDL_Delay(Uint32 ms);
72
+
73
+ /**
74
+ * Function prototype for the timer callback function.
75
+ *
76
+ * The callback function is passed the current timer interval and returns
77
+ * the next timer interval. If the returned value is the same as the one
78
+ * passed in, the periodic alarm continues, otherwise a new alarm is
79
+ * scheduled. If the callback returns 0, the periodic alarm is cancelled.
80
+ */
81
+ typedef Uint32 (SDLCALL * SDL_TimerCallback) (Uint32 interval, void *param);
82
+
83
+ /**
84
+ * Definition of the timer ID type.
85
+ */
86
+ typedef int SDL_TimerID;
87
+
88
+ /**
89
+ * \brief Add a new timer to the pool of timers already running.
90
+ *
91
+ * \return A timer ID, or 0 when an error occurs.
92
+ */
93
+ extern DECLSPEC SDL_TimerID SDLCALL SDL_AddTimer(Uint32 interval,
94
+ SDL_TimerCallback callback,
95
+ void *param);
96
+
97
+ /**
98
+ * \brief Remove a timer knowing its ID.
99
+ *
100
+ * \return A boolean value indicating success or failure.
101
+ *
102
+ * \warning It is not safe to remove a timer multiple times.
103
+ */
104
+ extern DECLSPEC SDL_bool SDLCALL SDL_RemoveTimer(SDL_TimerID id);
105
+
106
+
107
+ /* Ends C function definitions when using C++ */
108
+ #ifdef __cplusplus
109
+ }
110
+ #endif
111
+ #include "close_code.h"
112
+
113
+ #endif /* SDL_timer_h_ */
114
+
115
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,86 @@
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_touch.h
24
+ *
25
+ * Include file for SDL touch event handling.
26
+ */
27
+
28
+ #ifndef SDL_touch_h_
29
+ #define SDL_touch_h_
30
+
31
+ #include "SDL_stdinc.h"
32
+ #include "SDL_error.h"
33
+ #include "SDL_video.h"
34
+
35
+ #include "begin_code.h"
36
+ /* Set up for C function definitions, even when using C++ */
37
+ #ifdef __cplusplus
38
+ extern "C" {
39
+ #endif
40
+
41
+ typedef Sint64 SDL_TouchID;
42
+ typedef Sint64 SDL_FingerID;
43
+
44
+ typedef struct SDL_Finger
45
+ {
46
+ SDL_FingerID id;
47
+ float x;
48
+ float y;
49
+ float pressure;
50
+ } SDL_Finger;
51
+
52
+ /* Used as the device ID for mouse events simulated with touch input */
53
+ #define SDL_TOUCH_MOUSEID ((Uint32)-1)
54
+
55
+
56
+ /* Function prototypes */
57
+
58
+ /**
59
+ * \brief Get the number of registered touch devices.
60
+ */
61
+ extern DECLSPEC int SDLCALL SDL_GetNumTouchDevices(void);
62
+
63
+ /**
64
+ * \brief Get the touch ID with the given index, or 0 if the index is invalid.
65
+ */
66
+ extern DECLSPEC SDL_TouchID SDLCALL SDL_GetTouchDevice(int index);
67
+
68
+ /**
69
+ * \brief Get the number of active fingers for a given touch device.
70
+ */
71
+ extern DECLSPEC int SDLCALL SDL_GetNumTouchFingers(SDL_TouchID touchID);
72
+
73
+ /**
74
+ * \brief Get the finger object of the given touch, with the given index.
75
+ */
76
+ extern DECLSPEC SDL_Finger * SDLCALL SDL_GetTouchFinger(SDL_TouchID touchID, int index);
77
+
78
+ /* Ends C function definitions when using C++ */
79
+ #ifdef __cplusplus
80
+ }
81
+ #endif
82
+ #include "close_code.h"
83
+
84
+ #endif /* SDL_touch_h_ */
85
+
86
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,294 @@
1
+ /*
2
+ SDL_ttf: A companion library to SDL for working with TrueType (tm) fonts
3
+ Copyright (C) 2001-2019 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
+ /* This library is a wrapper around the excellent FreeType 2.0 library,
23
+ available at:
24
+ http://www.freetype.org/
25
+ */
26
+
27
+ /* Note: In many places, SDL_ttf will say "glyph" when it means "code point."
28
+ Unicode is hard, we learn as we go, and we apologize for adding to the
29
+ confusion. */
30
+
31
+ #ifndef SDL_TTF_H_
32
+ #define SDL_TTF_H_
33
+
34
+ #include "SDL.h"
35
+ #include "begin_code.h"
36
+
37
+ /* Set up for C function definitions, even when using C++ */
38
+ #ifdef __cplusplus
39
+ extern "C" {
40
+ #endif
41
+
42
+ /* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
43
+ */
44
+ #define SDL_TTF_MAJOR_VERSION 2
45
+ #define SDL_TTF_MINOR_VERSION 0
46
+ #define SDL_TTF_PATCHLEVEL 15
47
+
48
+ /* This macro can be used to fill a version structure with the compile-time
49
+ * version of the SDL_ttf library.
50
+ */
51
+ #define SDL_TTF_VERSION(X) \
52
+ { \
53
+ (X)->major = SDL_TTF_MAJOR_VERSION; \
54
+ (X)->minor = SDL_TTF_MINOR_VERSION; \
55
+ (X)->patch = SDL_TTF_PATCHLEVEL; \
56
+ }
57
+
58
+ /* Backwards compatibility */
59
+ #define TTF_MAJOR_VERSION SDL_TTF_MAJOR_VERSION
60
+ #define TTF_MINOR_VERSION SDL_TTF_MINOR_VERSION
61
+ #define TTF_PATCHLEVEL SDL_TTF_PATCHLEVEL
62
+ #define TTF_VERSION(X) SDL_TTF_VERSION(X)
63
+
64
+ /**
65
+ * This is the version number macro for the current SDL_ttf version.
66
+ */
67
+ #define SDL_TTF_COMPILEDVERSION \
68
+ SDL_VERSIONNUM(SDL_TTF_MAJOR_VERSION, SDL_TTF_MINOR_VERSION, SDL_TTF_PATCHLEVEL)
69
+
70
+ /**
71
+ * This macro will evaluate to true if compiled with SDL_ttf at least X.Y.Z.
72
+ */
73
+ #define SDL_TTF_VERSION_ATLEAST(X, Y, Z) \
74
+ (SDL_TTF_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z))
75
+
76
+ /* Make sure this is defined (only available in newer SDL versions) */
77
+ #ifndef SDL_DEPRECATED
78
+ #define SDL_DEPRECATED
79
+ #endif
80
+
81
+ /* This function gets the version of the dynamically linked SDL_ttf library.
82
+ it should NOT be used to fill a version structure, instead you should
83
+ use the SDL_TTF_VERSION() macro.
84
+ */
85
+ extern DECLSPEC const SDL_version * SDLCALL TTF_Linked_Version(void);
86
+
87
+ /* ZERO WIDTH NO-BREAKSPACE (Unicode byte order mark) */
88
+ #define UNICODE_BOM_NATIVE 0xFEFF
89
+ #define UNICODE_BOM_SWAPPED 0xFFFE
90
+
91
+ /* This function tells the library whether UNICODE text is generally
92
+ byteswapped. A UNICODE BOM character in a string will override
93
+ this setting for the remainder of that string.
94
+ */
95
+ extern DECLSPEC void SDLCALL TTF_ByteSwappedUNICODE(int swapped);
96
+
97
+ /* The internal structure containing font information */
98
+ typedef struct _TTF_Font TTF_Font;
99
+
100
+ /* Initialize the TTF engine - returns 0 if successful, -1 on error */
101
+ extern DECLSPEC int SDLCALL TTF_Init(void);
102
+
103
+ /* Open a font file and create a font of the specified point size.
104
+ * Some .fon fonts will have several sizes embedded in the file, so the
105
+ * point size becomes the index of choosing which size. If the value
106
+ * is too high, the last indexed size will be the default. */
107
+ extern DECLSPEC TTF_Font * SDLCALL TTF_OpenFont(const char *file, int ptsize);
108
+ extern DECLSPEC TTF_Font * SDLCALL TTF_OpenFontIndex(const char *file, int ptsize, long index);
109
+ extern DECLSPEC TTF_Font * SDLCALL TTF_OpenFontRW(SDL_RWops *src, int freesrc, int ptsize);
110
+ extern DECLSPEC TTF_Font * SDLCALL TTF_OpenFontIndexRW(SDL_RWops *src, int freesrc, int ptsize, long index);
111
+
112
+ /* Set and retrieve the font style */
113
+ #define TTF_STYLE_NORMAL 0x00
114
+ #define TTF_STYLE_BOLD 0x01
115
+ #define TTF_STYLE_ITALIC 0x02
116
+ #define TTF_STYLE_UNDERLINE 0x04
117
+ #define TTF_STYLE_STRIKETHROUGH 0x08
118
+ extern DECLSPEC int SDLCALL TTF_GetFontStyle(const TTF_Font *font);
119
+ extern DECLSPEC void SDLCALL TTF_SetFontStyle(TTF_Font *font, int style);
120
+ extern DECLSPEC int SDLCALL TTF_GetFontOutline(const TTF_Font *font);
121
+ extern DECLSPEC void SDLCALL TTF_SetFontOutline(TTF_Font *font, int outline);
122
+
123
+ /* Set and retrieve FreeType hinter settings */
124
+ #define TTF_HINTING_NORMAL 0
125
+ #define TTF_HINTING_LIGHT 1
126
+ #define TTF_HINTING_MONO 2
127
+ #define TTF_HINTING_NONE 3
128
+ extern DECLSPEC int SDLCALL TTF_GetFontHinting(const TTF_Font *font);
129
+ extern DECLSPEC void SDLCALL TTF_SetFontHinting(TTF_Font *font, int hinting);
130
+
131
+ /* Get the total height of the font - usually equal to point size */
132
+ extern DECLSPEC int SDLCALL TTF_FontHeight(const TTF_Font *font);
133
+
134
+ /* Get the offset from the baseline to the top of the font
135
+ This is a positive value, relative to the baseline.
136
+ */
137
+ extern DECLSPEC int SDLCALL TTF_FontAscent(const TTF_Font *font);
138
+
139
+ /* Get the offset from the baseline to the bottom of the font
140
+ This is a negative value, relative to the baseline.
141
+ */
142
+ extern DECLSPEC int SDLCALL TTF_FontDescent(const TTF_Font *font);
143
+
144
+ /* Get the recommended spacing between lines of text for this font */
145
+ extern DECLSPEC int SDLCALL TTF_FontLineSkip(const TTF_Font *font);
146
+
147
+ /* Get/Set whether or not kerning is allowed for this font */
148
+ extern DECLSPEC int SDLCALL TTF_GetFontKerning(const TTF_Font *font);
149
+ extern DECLSPEC void SDLCALL TTF_SetFontKerning(TTF_Font *font, int allowed);
150
+
151
+ /* Get the number of faces of the font */
152
+ extern DECLSPEC long SDLCALL TTF_FontFaces(const TTF_Font *font);
153
+
154
+ /* Get the font face attributes, if any */
155
+ extern DECLSPEC int SDLCALL TTF_FontFaceIsFixedWidth(const TTF_Font *font);
156
+ extern DECLSPEC char * SDLCALL TTF_FontFaceFamilyName(const TTF_Font *font);
157
+ extern DECLSPEC char * SDLCALL TTF_FontFaceStyleName(const TTF_Font *font);
158
+
159
+ /* Check wether a glyph is provided by the font or not */
160
+ extern DECLSPEC int SDLCALL TTF_GlyphIsProvided(const TTF_Font *font, Uint16 ch);
161
+
162
+ /* Get the metrics (dimensions) of a glyph
163
+ To understand what these metrics mean, here is a useful link:
164
+ http://freetype.sourceforge.net/freetype2/docs/tutorial/step2.html
165
+ */
166
+ extern DECLSPEC int SDLCALL TTF_GlyphMetrics(TTF_Font *font, Uint16 ch,
167
+ int *minx, int *maxx,
168
+ int *miny, int *maxy, int *advance);
169
+
170
+ /* Get the dimensions of a rendered string of text */
171
+ extern DECLSPEC int SDLCALL TTF_SizeText(TTF_Font *font, const char *text, int *w, int *h);
172
+ extern DECLSPEC int SDLCALL TTF_SizeUTF8(TTF_Font *font, const char *text, int *w, int *h);
173
+ extern DECLSPEC int SDLCALL TTF_SizeUNICODE(TTF_Font *font, const Uint16 *text, int *w, int *h);
174
+
175
+ /* Create an 8-bit palettized surface and render the given text at
176
+ fast quality with the given font and color. The 0 pixel is the
177
+ colorkey, giving a transparent background, and the 1 pixel is set
178
+ to the text color.
179
+ This function returns the new surface, or NULL if there was an error.
180
+ */
181
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Solid(TTF_Font *font,
182
+ const char *text, SDL_Color fg);
183
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUTF8_Solid(TTF_Font *font,
184
+ const char *text, SDL_Color fg);
185
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUNICODE_Solid(TTF_Font *font,
186
+ const Uint16 *text, SDL_Color fg);
187
+
188
+ /* Create an 8-bit palettized surface and render the given glyph at
189
+ fast quality with the given font and color. The 0 pixel is the
190
+ colorkey, giving a transparent background, and the 1 pixel is set
191
+ to the text color. The glyph is rendered without any padding or
192
+ centering in the X direction, and aligned normally in the Y direction.
193
+ This function returns the new surface, or NULL if there was an error.
194
+ */
195
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderGlyph_Solid(TTF_Font *font,
196
+ Uint16 ch, SDL_Color fg);
197
+
198
+ /* Create an 8-bit palettized surface and render the given text at
199
+ high quality with the given font and colors. The 0 pixel is background,
200
+ while other pixels have varying degrees of the foreground color.
201
+ This function returns the new surface, or NULL if there was an error.
202
+ */
203
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Shaded(TTF_Font *font,
204
+ const char *text, SDL_Color fg, SDL_Color bg);
205
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUTF8_Shaded(TTF_Font *font,
206
+ const char *text, SDL_Color fg, SDL_Color bg);
207
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUNICODE_Shaded(TTF_Font *font,
208
+ const Uint16 *text, SDL_Color fg, SDL_Color bg);
209
+
210
+ /* Create an 8-bit palettized surface and render the given glyph at
211
+ high quality with the given font and colors. The 0 pixel is background,
212
+ while other pixels have varying degrees of the foreground color.
213
+ The glyph is rendered without any padding or centering in the X
214
+ direction, and aligned normally in the Y direction.
215
+ This function returns the new surface, or NULL if there was an error.
216
+ */
217
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderGlyph_Shaded(TTF_Font *font,
218
+ Uint16 ch, SDL_Color fg, SDL_Color bg);
219
+
220
+ /* Create a 32-bit ARGB surface and render the given text at high quality,
221
+ using alpha blending to dither the font with the given color.
222
+ This function returns the new surface, or NULL if there was an error.
223
+ */
224
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Blended(TTF_Font *font,
225
+ const char *text, SDL_Color fg);
226
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUTF8_Blended(TTF_Font *font,
227
+ const char *text, SDL_Color fg);
228
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUNICODE_Blended(TTF_Font *font,
229
+ const Uint16 *text, SDL_Color fg);
230
+
231
+
232
+ /* Create a 32-bit ARGB surface and render the given text at high quality,
233
+ using alpha blending to dither the font with the given color.
234
+ Text is wrapped to multiple lines on line endings and on word boundaries
235
+ if it extends beyond wrapLength in pixels.
236
+ This function returns the new surface, or NULL if there was an error.
237
+ */
238
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Blended_Wrapped(TTF_Font *font,
239
+ const char *text, SDL_Color fg, Uint32 wrapLength);
240
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUTF8_Blended_Wrapped(TTF_Font *font,
241
+ const char *text, SDL_Color fg, Uint32 wrapLength);
242
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUNICODE_Blended_Wrapped(TTF_Font *font,
243
+ const Uint16 *text, SDL_Color fg, Uint32 wrapLength);
244
+
245
+ /* Create a 32-bit ARGB surface and render the given glyph at high quality,
246
+ using alpha blending to dither the font with the given color.
247
+ The glyph is rendered without any padding or centering in the X
248
+ direction, and aligned normally in the Y direction.
249
+ This function returns the new surface, or NULL if there was an error.
250
+ */
251
+ extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderGlyph_Blended(TTF_Font *font,
252
+ Uint16 ch, SDL_Color fg);
253
+
254
+ /* For compatibility with previous versions, here are the old functions */
255
+ #define TTF_RenderText(font, text, fg, bg) \
256
+ TTF_RenderText_Shaded(font, text, fg, bg)
257
+ #define TTF_RenderUTF8(font, text, fg, bg) \
258
+ TTF_RenderUTF8_Shaded(font, text, fg, bg)
259
+ #define TTF_RenderUNICODE(font, text, fg, bg) \
260
+ TTF_RenderUNICODE_Shaded(font, text, fg, bg)
261
+
262
+ /* Close an opened font file */
263
+ extern DECLSPEC void SDLCALL TTF_CloseFont(TTF_Font *font);
264
+
265
+ /* De-initialize the TTF engine */
266
+ extern DECLSPEC void SDLCALL TTF_Quit(void);
267
+
268
+ /* Check if the TTF engine is initialized */
269
+ extern DECLSPEC int SDLCALL TTF_WasInit(void);
270
+
271
+ /* Get the kerning size of two glyphs indices */
272
+ /* DEPRECATED: this function requires FreeType font indexes, not glyphs,
273
+ by accident, which we don't expose through this API, so it could give
274
+ wildly incorrect results, especially with non-ASCII values.
275
+ Going forward, please use TTF_GetFontKerningSizeGlyphs() instead, which
276
+ does what you probably expected this function to do. */
277
+ extern DECLSPEC int TTF_GetFontKerningSize(TTF_Font *font, int prev_index, int index) SDL_DEPRECATED;
278
+
279
+ /* Get the kerning size of two glyphs */
280
+ extern DECLSPEC int TTF_GetFontKerningSizeGlyphs(TTF_Font *font, Uint16 previous_ch, Uint16 ch);
281
+
282
+ /* We'll use SDL for reporting errors */
283
+ #define TTF_SetError SDL_SetError
284
+ #define TTF_GetError SDL_GetError
285
+
286
+ /* Ends C function definitions when using C++ */
287
+ #ifdef __cplusplus
288
+ }
289
+ #endif
290
+ #include "close_code.h"
291
+
292
+ #endif /* SDL_TTF_H_ */
293
+
294
+ /* vi: set ts=4 sw=4 expandtab: */