gosu 0.15.2 → 1.1.0.pre2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (243) hide show
  1. checksums.yaml +4 -4
  2. data/dependencies/SDL/include/SDL.h +138 -0
  3. data/dependencies/SDL/include/SDL_assert.h +293 -0
  4. data/dependencies/SDL/include/SDL_atomic.h +295 -0
  5. data/dependencies/SDL/include/SDL_audio.h +859 -0
  6. data/dependencies/SDL/include/SDL_bits.h +121 -0
  7. data/dependencies/SDL/include/SDL_blendmode.h +123 -0
  8. data/dependencies/SDL/include/SDL_clipboard.h +71 -0
  9. data/dependencies/SDL/include/SDL_config.h +55 -0
  10. data/dependencies/SDL/include/SDL_config_android.h +182 -0
  11. data/dependencies/SDL/include/SDL_config_iphoneos.h +207 -0
  12. data/dependencies/SDL/include/SDL_config_macosx.h +266 -0
  13. data/dependencies/SDL/include/SDL_config_minimal.h +85 -0
  14. data/dependencies/SDL/include/SDL_config_os2.h +188 -0
  15. data/dependencies/SDL/include/SDL_config_pandora.h +135 -0
  16. data/dependencies/SDL/include/SDL_config_psp.h +165 -0
  17. data/dependencies/SDL/include/SDL_config_windows.h +288 -0
  18. data/dependencies/SDL/include/SDL_config_winrt.h +243 -0
  19. data/dependencies/SDL/include/SDL_config_wiz.h +149 -0
  20. data/dependencies/SDL/include/SDL_copying.h +20 -0
  21. data/dependencies/SDL/include/SDL_cpuinfo.h +299 -0
  22. data/dependencies/SDL/include/SDL_egl.h +1676 -0
  23. data/dependencies/SDL/include/SDL_endian.h +263 -0
  24. data/dependencies/SDL/include/SDL_error.h +112 -0
  25. data/dependencies/SDL/include/SDL_events.h +827 -0
  26. data/dependencies/SDL/include/SDL_filesystem.h +136 -0
  27. data/dependencies/SDL/include/SDL_gamecontroller.h +541 -0
  28. data/dependencies/SDL/include/SDL_gesture.h +87 -0
  29. data/dependencies/SDL/include/SDL_haptic.h +1247 -0
  30. data/dependencies/SDL/include/SDL_hints.h +1578 -0
  31. data/dependencies/SDL/include/SDL_joystick.h +499 -0
  32. data/dependencies/SDL/include/SDL_keyboard.h +217 -0
  33. data/dependencies/SDL/include/SDL_keycode.h +351 -0
  34. data/dependencies/SDL/include/SDL_loadso.h +81 -0
  35. data/dependencies/SDL/include/SDL_locale.h +101 -0
  36. data/dependencies/SDL/include/SDL_log.h +211 -0
  37. data/dependencies/SDL/include/SDL_main.h +180 -0
  38. data/dependencies/SDL/include/SDL_messagebox.h +146 -0
  39. data/dependencies/SDL/include/SDL_metal.h +117 -0
  40. data/dependencies/SDL/include/SDL_misc.h +75 -0
  41. data/dependencies/SDL/include/SDL_mouse.h +302 -0
  42. data/dependencies/SDL/include/SDL_mutex.h +251 -0
  43. data/dependencies/SDL/include/SDL_name.h +33 -0
  44. data/dependencies/SDL/include/SDL_opengl.h +2183 -0
  45. data/dependencies/SDL/include/SDL_opengl_glext.h +11180 -0
  46. data/dependencies/SDL/include/SDL_opengles.h +39 -0
  47. data/dependencies/SDL/include/SDL_opengles2.h +52 -0
  48. data/dependencies/SDL/include/SDL_opengles2_gl2.h +621 -0
  49. data/dependencies/SDL/include/SDL_opengles2_gl2ext.h +2050 -0
  50. data/dependencies/SDL/include/SDL_opengles2_gl2platform.h +30 -0
  51. data/dependencies/SDL/include/SDL_opengles2_khrplatform.h +282 -0
  52. data/dependencies/SDL/include/SDL_pixels.h +479 -0
  53. data/dependencies/SDL/include/SDL_platform.h +198 -0
  54. data/dependencies/SDL/include/SDL_power.h +75 -0
  55. data/dependencies/SDL/include/SDL_quit.h +58 -0
  56. data/dependencies/SDL/include/SDL_rect.h +174 -0
  57. data/dependencies/SDL/include/SDL_render.h +1158 -0
  58. data/dependencies/SDL/include/SDL_revision.h +2 -0
  59. data/dependencies/SDL/include/SDL_rwops.h +283 -0
  60. data/dependencies/SDL/include/SDL_scancode.h +413 -0
  61. data/dependencies/SDL/include/SDL_sensor.h +267 -0
  62. data/dependencies/SDL/include/SDL_shape.h +144 -0
  63. data/dependencies/SDL/include/SDL_stdinc.h +647 -0
  64. data/dependencies/SDL/include/SDL_surface.h +563 -0
  65. data/dependencies/SDL/include/SDL_system.h +325 -0
  66. data/dependencies/SDL/include/SDL_syswm.h +354 -0
  67. data/dependencies/SDL/include/SDL_test.h +69 -0
  68. data/dependencies/SDL/include/SDL_test_assert.h +105 -0
  69. data/dependencies/SDL/include/SDL_test_common.h +218 -0
  70. data/dependencies/SDL/include/SDL_test_compare.h +69 -0
  71. data/dependencies/SDL/include/SDL_test_crc32.h +124 -0
  72. data/dependencies/SDL/include/SDL_test_font.h +81 -0
  73. data/dependencies/SDL/include/SDL_test_fuzzer.h +384 -0
  74. data/dependencies/SDL/include/SDL_test_harness.h +134 -0
  75. data/dependencies/SDL/include/SDL_test_images.h +78 -0
  76. data/dependencies/SDL/include/SDL_test_log.h +67 -0
  77. data/dependencies/SDL/include/SDL_test_md5.h +129 -0
  78. data/dependencies/SDL/include/SDL_test_memory.h +63 -0
  79. data/dependencies/SDL/include/SDL_test_random.h +115 -0
  80. data/dependencies/SDL/include/SDL_thread.h +366 -0
  81. data/dependencies/SDL/include/SDL_timer.h +115 -0
  82. data/dependencies/SDL/include/SDL_touch.h +102 -0
  83. data/dependencies/SDL/include/SDL_types.h +29 -0
  84. data/dependencies/SDL/include/SDL_version.h +162 -0
  85. data/dependencies/SDL/include/SDL_video.h +1282 -0
  86. data/dependencies/SDL/include/SDL_vulkan.h +276 -0
  87. data/dependencies/SDL/include/begin_code.h +166 -0
  88. data/dependencies/SDL/include/close_code.h +40 -0
  89. data/dependencies/SDL/lib/x64/libSDL2.dll.a +0 -0
  90. data/dependencies/SDL/lib/x86/libSDL2.dll.a +0 -0
  91. data/dependencies/SDL_sound/SDL_sound.c +795 -0
  92. data/dependencies/SDL_sound/SDL_sound.h +725 -0
  93. data/dependencies/SDL_sound/SDL_sound_aiff.c +537 -0
  94. data/dependencies/SDL_sound/SDL_sound_au.c +352 -0
  95. data/dependencies/SDL_sound/SDL_sound_coreaudio.c +747 -0
  96. data/dependencies/SDL_sound/SDL_sound_flac.c +182 -0
  97. data/dependencies/SDL_sound/SDL_sound_internal.h +304 -0
  98. data/dependencies/SDL_sound/SDL_sound_modplug.c +228 -0
  99. data/dependencies/SDL_sound/SDL_sound_mp3.c +184 -0
  100. data/dependencies/SDL_sound/SDL_sound_raw.c +164 -0
  101. data/dependencies/SDL_sound/SDL_sound_shn.c +1309 -0
  102. data/dependencies/SDL_sound/SDL_sound_voc.c +550 -0
  103. data/dependencies/SDL_sound/SDL_sound_vorbis.c +223 -0
  104. data/dependencies/SDL_sound/SDL_sound_wav.c +783 -0
  105. data/dependencies/SDL_sound/dr_flac.h +5906 -0
  106. data/dependencies/SDL_sound/dr_mp3.h +2832 -0
  107. data/dependencies/SDL_sound/libmodplug/fastmix.c +1748 -0
  108. data/dependencies/SDL_sound/libmodplug/libmodplug.h +1001 -0
  109. data/dependencies/SDL_sound/libmodplug/load_669.c +188 -0
  110. data/dependencies/SDL_sound/libmodplug/load_abc.c +4725 -0
  111. data/dependencies/SDL_sound/libmodplug/load_amf.c +403 -0
  112. data/dependencies/SDL_sound/libmodplug/load_ams.c +587 -0
  113. data/dependencies/SDL_sound/libmodplug/load_dbm.c +357 -0
  114. data/dependencies/SDL_sound/libmodplug/load_dmf.c +531 -0
  115. data/dependencies/SDL_sound/libmodplug/load_dsm.c +232 -0
  116. data/dependencies/SDL_sound/libmodplug/load_far.c +253 -0
  117. data/dependencies/SDL_sound/libmodplug/load_it.c +796 -0
  118. data/dependencies/SDL_sound/libmodplug/load_mdl.c +488 -0
  119. data/dependencies/SDL_sound/libmodplug/load_med.c +757 -0
  120. data/dependencies/SDL_sound/libmodplug/load_mid.c +1405 -0
  121. data/dependencies/SDL_sound/libmodplug/load_mod.c +269 -0
  122. data/dependencies/SDL_sound/libmodplug/load_mt2.c +546 -0
  123. data/dependencies/SDL_sound/libmodplug/load_mtm.c +142 -0
  124. data/dependencies/SDL_sound/libmodplug/load_okt.c +192 -0
  125. data/dependencies/SDL_sound/libmodplug/load_pat.c +1143 -0
  126. data/dependencies/SDL_sound/libmodplug/load_pat.h +25 -0
  127. data/dependencies/SDL_sound/libmodplug/load_psm.c +350 -0
  128. data/dependencies/SDL_sound/libmodplug/load_ptm.c +204 -0
  129. data/dependencies/SDL_sound/libmodplug/load_s3m.c +325 -0
  130. data/dependencies/SDL_sound/libmodplug/load_stm.c +180 -0
  131. data/dependencies/SDL_sound/libmodplug/load_ult.c +206 -0
  132. data/dependencies/SDL_sound/libmodplug/load_umx.c +51 -0
  133. data/dependencies/SDL_sound/libmodplug/load_xm.c +554 -0
  134. data/dependencies/SDL_sound/libmodplug/mmcmp.c +382 -0
  135. data/dependencies/SDL_sound/libmodplug/modplug.c +170 -0
  136. data/dependencies/SDL_sound/libmodplug/modplug.h +90 -0
  137. data/dependencies/SDL_sound/libmodplug/snd_dsp.c +301 -0
  138. data/dependencies/SDL_sound/libmodplug/snd_flt.c +63 -0
  139. data/dependencies/SDL_sound/libmodplug/snd_fx.c +2350 -0
  140. data/dependencies/SDL_sound/libmodplug/sndfile.c +1169 -0
  141. data/dependencies/SDL_sound/libmodplug/sndmix.c +1034 -0
  142. data/dependencies/SDL_sound/libmodplug/tables.h +371 -0
  143. data/{src/stb_vorbis.c → dependencies/SDL_sound/stb_vorbis.h} +143 -78
  144. data/dependencies/al_soft/AL/al.h +655 -0
  145. data/dependencies/al_soft/AL/alc.h +270 -0
  146. data/dependencies/al_soft/AL/alext.h +585 -0
  147. data/dependencies/al_soft/AL/efx-creative.h +3 -0
  148. data/dependencies/al_soft/AL/efx-presets.h +402 -0
  149. data/dependencies/al_soft/AL/efx.h +762 -0
  150. data/dependencies/al_soft/x64/libOpenAL32.dll.a +0 -0
  151. data/dependencies/al_soft/x86/libOpenAL32.dll.a +0 -0
  152. data/{src → dependencies/stb}/stb_image.h +330 -127
  153. data/{src → dependencies/stb}/stb_image_write.h +156 -85
  154. data/{src → dependencies/stb}/stb_truetype.h +192 -69
  155. data/{src → dependencies/utf8proc}/utf8proc.c +0 -0
  156. data/{src → dependencies/utf8proc}/utf8proc.h +0 -0
  157. data/{src → dependencies/utf8proc}/utf8proc_data.h +0 -0
  158. data/ext/gosu/extconf.rb +53 -39
  159. data/{Gosu → include/Gosu}/Audio.hpp +6 -8
  160. data/include/Gosu/Bitmap.hpp +100 -0
  161. data/{Gosu → include/Gosu}/Buttons.hpp +104 -44
  162. data/{Gosu → include/Gosu}/Color.hpp +0 -0
  163. data/{Gosu → include/Gosu}/Directories.hpp +0 -0
  164. data/{Gosu → include/Gosu}/Font.hpp +1 -1
  165. data/{Gosu → include/Gosu}/Fwd.hpp +0 -5
  166. data/{Gosu → include/Gosu}/Gosu.hpp +0 -0
  167. data/{Gosu → include/Gosu}/Graphics.hpp +0 -0
  168. data/{Gosu → include/Gosu}/GraphicsBase.hpp +0 -0
  169. data/{Gosu → include/Gosu}/IO.hpp +0 -0
  170. data/{Gosu → include/Gosu}/Image.hpp +7 -6
  171. data/{Gosu → include/Gosu}/ImageData.hpp +0 -0
  172. data/{Gosu → include/Gosu}/Input.hpp +39 -51
  173. data/{Gosu → include/Gosu}/Inspection.hpp +0 -0
  174. data/{Gosu → include/Gosu}/Math.hpp +0 -0
  175. data/{Gosu → include/Gosu}/Platform.hpp +0 -0
  176. data/{Gosu → include/Gosu}/Text.hpp +0 -0
  177. data/{Gosu → include/Gosu}/TextInput.hpp +0 -0
  178. data/{Gosu → include/Gosu}/Timing.hpp +0 -0
  179. data/{Gosu → include/Gosu}/Utility.hpp +15 -4
  180. data/{Gosu → include/Gosu}/Version.hpp +3 -3
  181. data/{Gosu → include/Gosu}/Window.hpp +46 -34
  182. data/lib/OpenAL32.dll +0 -0
  183. data/lib/SDL2.dll +0 -0
  184. data/lib/gosu.rb +0 -3
  185. data/lib/gosu/patches.rb +0 -23
  186. data/lib/gosu/preview.rb +1 -3
  187. data/lib/gosu/swig_patches.rb +14 -12
  188. data/lib64/OpenAL32.dll +0 -0
  189. data/lib64/SDL2.dll +0 -0
  190. data/rdoc/gosu.rb +112 -23
  191. data/src/Audio.cpp +50 -224
  192. data/src/AudioFile.hpp +20 -37
  193. data/src/AudioFileAudioToolbox.cpp +237 -0
  194. data/src/AudioFileSDLSound.cpp +147 -0
  195. data/src/AudioImpl.cpp +3 -12
  196. data/src/AudioImpl.hpp +3 -1
  197. data/src/Bitmap.cpp +85 -83
  198. data/src/BitmapIO.cpp +52 -58
  199. data/src/Font.cpp +3 -1
  200. data/src/Graphics.cpp +7 -4
  201. data/src/Image.cpp +13 -16
  202. data/src/Input.cpp +412 -164
  203. data/src/LargeImageData.cpp +1 -1
  204. data/src/MarkupParser.cpp +2 -1
  205. data/src/Resolution.cpp +8 -8
  206. data/src/RubyGosu.cxx +1017 -196
  207. data/src/RubyGosu.h +4 -2
  208. data/src/TexChunk.cpp +1 -1
  209. data/src/TextBuilder.cpp +3 -1
  210. data/src/Texture.cpp +1 -1
  211. data/src/TrueTypeFont.cpp +1 -1
  212. data/src/TrueTypeFontWin.cpp +3 -3
  213. data/src/Utility.cpp +11 -7
  214. data/src/Window.cpp +90 -62
  215. data/src/WindowUIKit.cpp +21 -9
  216. metadata +194 -65
  217. data/Gosu/AutoLink.hpp +0 -14
  218. data/Gosu/Bitmap.hpp +0 -113
  219. data/Gosu/Channel.h +0 -25
  220. data/Gosu/Color.h +0 -38
  221. data/Gosu/Font.h +0 -36
  222. data/Gosu/Gosu.h +0 -79
  223. data/Gosu/Image.h +0 -54
  224. data/Gosu/Sample.h +0 -19
  225. data/Gosu/Song.h +0 -24
  226. data/Gosu/TextInput.h +0 -30
  227. data/Gosu/Window.h +0 -61
  228. data/lib/gosu/zen.rb +0 -89
  229. data/src/AudioToolboxFile.hpp +0 -210
  230. data/src/ChannelWrapper.cpp +0 -50
  231. data/src/ColorWrapper.cpp +0 -126
  232. data/src/Constants.cpp +0 -287
  233. data/src/FontWrapper.cpp +0 -74
  234. data/src/GosuWrapper.cpp +0 -232
  235. data/src/ImageWrapper.cpp +0 -168
  236. data/src/MPEGFile.hpp +0 -90
  237. data/src/OggFile.hpp +0 -92
  238. data/src/SampleWrapper.cpp +0 -30
  239. data/src/SndFile.hpp +0 -174
  240. data/src/SongWrapper.cpp +0 -52
  241. data/src/TextInputWrapper.cpp +0 -101
  242. data/src/WinMain.cpp +0 -64
  243. data/src/WindowWrapper.cpp +0 -289
@@ -1,25 +0,0 @@
1
- #pragma once
2
-
3
- #ifdef __cplusplus
4
- extern "C" {
5
- #endif
6
-
7
- typedef struct Gosu_Channel Gosu_Channel;
8
-
9
- Gosu_Channel* Gosu_Channel_create(Gosu_Channel* channel);
10
- void Gosu_Channel_destroy(Gosu_Channel* channel);
11
-
12
- void Gosu_Channel_play(Gosu_Channel *channel);
13
- bool Gosu_Channel_playing(Gosu_Channel *channel);
14
- void Gosu_Channel_pause(Gosu_Channel *channel);
15
- bool Gosu_Channel_paused(Gosu_Channel *channel);
16
- void Gosu_Channel_resume(Gosu_Channel *channel);
17
- void Gosu_Channel_stop(Gosu_Channel *channel);
18
-
19
- void Gosu_Channel_set_volume(Gosu_Channel *channel, double volume);
20
- void Gosu_Channel_set_speed(Gosu_Channel *channel, double speed);
21
- void Gosu_Channel_set_pan(Gosu_Channel *channel, double pan);
22
-
23
- #ifdef __cplusplus
24
- }
25
- #endif
@@ -1,38 +0,0 @@
1
- #pragma once
2
-
3
- #ifdef __cplusplus
4
- extern "C" {
5
- #endif
6
-
7
- typedef unsigned char Gosu_Color_Channel;
8
-
9
- unsigned Gosu_Color_create(unsigned argb);
10
- unsigned Gosu_Color_create_argb(Gosu_Color_Channel a, Gosu_Color_Channel r, Gosu_Color_Channel g, Gosu_Color_Channel b);
11
- unsigned Gosu_Color_create_from_hsv(double h, double s, double v);
12
- unsigned Gosu_Color_create_from_ahsv(Gosu_Color_Channel alpha, double h, double s, double v);
13
-
14
- Gosu_Color_Channel Gosu_Color_alpha(unsigned color);
15
- Gosu_Color_Channel Gosu_Color_red(unsigned color);
16
- Gosu_Color_Channel Gosu_Color_green(unsigned color);
17
- Gosu_Color_Channel Gosu_Color_blue(unsigned color);
18
- unsigned Gosu_Color_set_alpha(unsigned color, Gosu_Color_Channel value);
19
- unsigned Gosu_Color_set_red(unsigned color, Gosu_Color_Channel value);
20
- unsigned Gosu_Color_set_green(unsigned color, Gosu_Color_Channel value);
21
- unsigned Gosu_Color_set_blue(unsigned color, Gosu_Color_Channel value);
22
-
23
- double Gosu_Color_hue(unsigned color);
24
- double Gosu_Color_saturation(unsigned color);
25
- double Gosu_Color_value(unsigned color);
26
- unsigned Gosu_Color_set_hue(unsigned color, double value);
27
- unsigned Gosu_Color_set_saturation(unsigned color, double value);
28
- unsigned Gosu_Color_set_value(unsigned color, double value);
29
-
30
- unsigned Gosu_Color_argb(unsigned color);
31
- unsigned Gosu_Color_bgr(unsigned color);
32
- unsigned Gosu_Color_abgr(unsigned color);
33
-
34
- unsigned Gosu_Color_gl(unsigned color);
35
-
36
- #ifdef __cplusplus
37
- }
38
- #endif
@@ -1,36 +0,0 @@
1
- #pragma once
2
-
3
- #ifdef __cplusplus
4
- extern "C" {
5
- #endif
6
-
7
- typedef struct Gosu_Font Gosu_Font;
8
-
9
- Gosu_Font* Gosu_Font_create(int height, const char* name, unsigned flags);
10
-
11
- const char *Gosu_Font_name(Gosu_Font* font);
12
- int Gosu_Font_height(Gosu_Font* font);
13
- unsigned Gosu_Font_flags(Gosu_Font* font);
14
-
15
- double Gosu_Font_text_width(Gosu_Font* font, const char* text);
16
- double Gosu_Font_markup_width(Gosu_Font* font, const char* text);
17
-
18
- void Gosu_Font_draw_text(Gosu_Font* font, const char* text, double x, double y, double z,
19
- double scale_x, double scale_y, unsigned c, unsigned mode);
20
- void Gosu_Font_draw_markup(Gosu_Font* font, const char* text, double x, double y, double z,
21
- double scale_x, double scale_y, unsigned c, unsigned mode);
22
-
23
- void Gosu_Font_draw_text_rel(Gosu_Font* font, const char* text, double x, double y, double z,
24
- double rel_x, double rel_y, double scale_x, double scale_y,
25
- unsigned c, unsigned mode);
26
- void Gosu_Font_draw_markup_rel(Gosu_Font* font, const char* text, double x, double y, double z,
27
- double rel_x, double rel_y, double scale_x, double scale_y,
28
- unsigned c, unsigned mode);
29
-
30
- void Gosu_Font_set_image(Gosu_Font* font, const char* codepoint, unsigned font_flags, Gosu_Image* image);
31
-
32
- void Gosu_Font_destroy(Gosu_Font* font);
33
-
34
- #ifdef __cplusplus
35
- }
36
- #endif
@@ -1,79 +0,0 @@
1
- #pragma once
2
-
3
- #ifdef __cplusplus
4
- extern "C" {
5
- #endif
6
-
7
- #include <Gosu/Window.h>
8
- #include <Gosu/Image.h>
9
- #include <Gosu/Font.h>
10
- #include <Gosu/Color.h>
11
- #include <Gosu/TextInput.h>
12
- #include <Gosu/Sample.h>
13
- #include <Gosu/Song.h>
14
- #include <Gosu/Channel.h>
15
-
16
- // Graphics operations
17
- void Gosu_gl_z(double z, void function(void *data), void* data);
18
- void Gosu_gl(void function(void *data), void* data);
19
- void Gosu_flush();
20
- Gosu_Image* Gosu_render(int width, int height, void function(void *data), void* data, unsigned image_flags);
21
- Gosu_Image* Gosu_record(int width, int height, void function(void *data), void* data);
22
- void Gosu_clip_to(double x, double y, double width, double height, void function(void *data), void* data);
23
-
24
- // Transformations
25
- void Gosu_transform(double m0, double m1, double m2, double m3, double m4, double m5, double m6,
26
- double m7, double m8, double m9, double m10, double m11, double m12, double m13,
27
- double m14, double m15, void function(void *data), void* data);
28
- void Gosu_translate(double x, double y, void function(void *data), void* data);
29
- void Gosu_scale(double scale_x, double scale_y, double around_x, double around_y, void function(void *data), void* data);
30
- void Gosu_rotate(double angle, double around_x, double around_y, void function(void *data), void* data);
31
-
32
- void Gosu_clip_to(double x, double y, double width, double height, void function(void *data), void* data);
33
-
34
- // Rendering
35
- void Gosu_draw_line(double x1, double y1, unsigned c1,
36
- double x2, double y2, unsigned c2,
37
- double z, unsigned mode);
38
- void Gosu_draw_triangle(double x1, double y1, unsigned c1,
39
- double x2, double y2, unsigned c2,
40
- double x3, double y3, unsigned c3,
41
- double z, unsigned mode);
42
- void Gosu_draw_rect(double x, double y, double width, double height, unsigned c, double z, unsigned mode);
43
- void Gosu_draw_quad(double x1, double y1, unsigned c1,
44
- double x2, double y2, unsigned c2,
45
- double x3, double y3, unsigned c3,
46
- double x4, double y4, unsigned c4,
47
- double z, unsigned mode);
48
-
49
- // Math functions
50
- double Gosu_distance(double x1, double y1, double x2, double y2);
51
-
52
- double Gosu_angle(double from_x, double from_y, double to_x, double to_y);
53
- double Gosu_angle_diff(double from, double to);
54
-
55
- double Gosu_offset_x(double angle, double radius);
56
- double Gosu_offset_y(double angle, double radius);
57
-
58
- double Gosu_random(double min, double max);
59
-
60
- // Window/Screen information
61
- unsigned Gosu_available_width(Gosu_Window* window);
62
- unsigned Gosu_available_height(Gosu_Window* window);
63
- unsigned Gosu_screen_width(Gosu_Window* window);
64
- unsigned Gosu_screen_height(Gosu_Window* window);
65
-
66
- // Button querying
67
- int Gosu_button_down(int id);
68
- const char* Gosu_button_id_to_char(int id);
69
- unsigned Gosu_button_char_to_id(const char* character);
70
-
71
- // Misc
72
- int Gosu_fps();
73
- const char* Gosu_language();
74
- long Gosu_milliseconds();
75
- const char* Gosu_default_font_name();
76
-
77
- #ifdef __cplusplus
78
- }
79
- #endif
@@ -1,54 +0,0 @@
1
- #pragma once
2
-
3
- #ifdef __cplusplus
4
- extern "C" {
5
- #endif
6
-
7
- typedef struct Gosu_Image Gosu_Image;
8
-
9
- typedef struct Gosu_GLTexInfo {
10
- int tex_name;
11
- double left, right, top, bottom;
12
- } Gosu_GLTexInfo;
13
-
14
- // Constructor
15
- Gosu_Image* Gosu_Image_create(const char *filename, unsigned image_flags);
16
- Gosu_Image *Gosu_Image_create_from_blob(unsigned char *blob, int byte_count, int width, int height, unsigned image_flags); // support for RMagick blob objects
17
- Gosu_Image *Gosu_Image_create_from_markup(const char *markup, const char *font, double font_height,
18
- int width, double spacing, unsigned align, unsigned font_flags, unsigned image_flags);
19
- Gosu_Image* Gosu_Image_create_from_text(const char *text, const char *font, double font_height,
20
- int width, double spacing, unsigned align, unsigned font_flags, unsigned image_flags);
21
- Gosu_Image* Gosu_Image_create_from_subimage(Gosu_Image *source, int left, int top, int width, int height);
22
-
23
- void Gosu_Image_create_from_tiles(const char *source, int tile_width, int tile_height, void function(void* data, Gosu_Image* image), void *data, unsigned image_flags);
24
- void Gosu_Image_create_tiles_from_image(Gosu_Image *image, int tile_width, int tile_height, void function(void *data, Gosu_Image *image), void *data, unsigned image_flags);
25
-
26
- // Destructor
27
- void Gosu_Image_destroy(Gosu_Image *image);
28
-
29
- // Image properties
30
- unsigned Gosu_Image_width(Gosu_Image *image);
31
- unsigned Gosu_Image_height(Gosu_Image *image);
32
-
33
- // Rendering
34
- void Gosu_Image_draw(Gosu_Image *image, double x, double y, double z,
35
- double scale_x, double scale_y, unsigned color, unsigned mode);
36
- void Gosu_Image_draw_rot(Gosu_Image *image, double x, double y, double z,
37
- double angle, double center_x, double center_y,
38
- double scale_x, double scale_y, unsigned color, unsigned mode);
39
- void Gosu_Image_draw_as_quad(Gosu_Image *image, double x1, double y1, unsigned color1,
40
- double x2, double y2, unsigned color2,
41
- double x3, double y3, unsigned color3,
42
- double x4, double y4, unsigned color4,
43
- double z, unsigned mode);
44
-
45
- // Operations
46
- void Gosu_Image_insert(Gosu_Image *image, Gosu_Image *source, int x, int y);
47
- void Gosu_Image_save(Gosu_Image *image, const char *filename);
48
- unsigned char* Gosu_Image_to_blob(Gosu_Image *image);
49
- Gosu_GLTexInfo* Gosu_Image_gl_tex_info_create(Gosu_Image *image);
50
- void Gosu_Image_gl_tex_info_destroy(Gosu_GLTexInfo *tex_info);
51
-
52
- #ifdef __cplusplus
53
- }
54
- #endif
@@ -1,19 +0,0 @@
1
- #pragma once
2
-
3
- #include <Gosu/Channel.h>
4
-
5
- #ifdef __cplusplus
6
- extern "C" {
7
- #endif
8
-
9
- typedef struct Gosu_Sample Gosu_Sample;
10
-
11
- Gosu_Sample* Gosu_Sample_create(const char* filename);
12
- void Gosu_Sample_destroy(Gosu_Sample* sample);
13
-
14
- Gosu_Channel* Gosu_Sample_play(Gosu_Sample *sample, double volume, double speed, bool looping);
15
- Gosu_Channel* Gosu_Sample_play_pan(Gosu_Sample *sample, double pan, double volume, double speed, bool looping);
16
-
17
- #ifdef __cplusplus
18
- }
19
- #endif
@@ -1,24 +0,0 @@
1
- #pragma once
2
-
3
- #ifdef __cplusplus
4
- extern "C" {
5
- #endif
6
-
7
- typedef struct Gosu_Song Gosu_Song;
8
-
9
- Gosu_Song* Gosu_Song_create(const char* filename);
10
- void Gosu_Song_destroy(Gosu_Song* song);
11
-
12
- void Gosu_Song_pause(Gosu_Song* song);
13
- bool Gosu_Song_paused(Gosu_Song* song);
14
- void Gosu_Song_play(Gosu_Song* song, bool looping);
15
- bool Gosu_Song_playing(Gosu_Song* song);
16
- void Gosu_Song_stop(Gosu_Song* song);
17
- double Gosu_Song_volume(Gosu_Song* song);
18
- void Gosu_Song_set_volume(Gosu_Song* song, double volume);
19
-
20
- Gosu_Song* Gosu_Song_current_song();
21
-
22
- #ifdef __cplusplus
23
- }
24
- #endif
@@ -1,30 +0,0 @@
1
- #pragma once
2
-
3
- #ifdef __cplusplus
4
- extern "C" {
5
- #endif
6
-
7
- typedef struct Gosu_TextInput Gosu_TextInput;
8
-
9
- Gosu_TextInput* Gosu_TextInput_create();
10
-
11
- const char* Gosu_TextInput_text(Gosu_TextInput* text_input);
12
- void Gosu_TextInput_set_text(Gosu_TextInput* text_input, const char* text);
13
-
14
- unsigned Gosu_TextInput_caret_pos(Gosu_TextInput* text_input);
15
- void Gosu_TextInput_set_caret_pos(Gosu_TextInput* text_input, unsigned pos);
16
-
17
- unsigned Gosu_TextInput_selection_start(Gosu_TextInput* text_input);
18
- void Gosu_TextInput_set_selection_start(Gosu_TextInput* text_input, unsigned pos);
19
-
20
- void Gosu_TextInput_set_filter(Gosu_TextInput *text_input, void function(void* data, const char* text), void* data);
21
- void Gosu_TextInput_set_filter_result(Gosu_TextInput *text_input, const char* result);
22
- void Gosu_TextInput_insert_text(Gosu_TextInput *text_input, const char* text);
23
- void Gosu_TextInput_delete_backward(Gosu_TextInput *text_input);
24
- void Gosu_TextInput_delete_forward(Gosu_TextInput *text_input);
25
-
26
- void Gosu_TextInput_destroy(Gosu_TextInput* text_input);
27
-
28
- #ifdef __cplusplus
29
- }
30
- #endif
@@ -1,61 +0,0 @@
1
- #pragma once
2
- #include <stdbool.h>
3
- #include "TextInput.h"
4
-
5
- #ifdef __cplusplus
6
- extern "C" {
7
- #endif
8
-
9
- typedef struct Gosu_Window Gosu_Window;
10
-
11
- // Constructor
12
- Gosu_Window* Gosu_Window_create(int width, int height, bool fullscreen, double update_interval, bool resizable);
13
-
14
- // callbacks
15
- void Gosu_Window_set_update(Gosu_Window *window, void function(void *data), void* data);
16
- void Gosu_Window_set_draw(Gosu_Window *window, void function(void *data), void* data);
17
- void Gosu_Window_set_button_down(Gosu_Window *window, void function(void *data, unsigned btn), void* data);
18
- void Gosu_Window_set_button_up(Gosu_Window *window, void function(void *data, unsigned btn), void* data);
19
- void Gosu_Window_set_drop(Gosu_Window *window, void function(void *data, const char *filename), void* data);
20
- void Gosu_Window_set_needs_redraw(Gosu_Window *window, bool function(void *data), void* data);
21
- void Gosu_Window_set_needs_cursor(Gosu_Window *window, bool function(void *data), void* data);
22
- void Gosu_Window_set_close(Gosu_Window *window, void function(void *data), void* data);
23
-
24
- void Gosu_Window_default_button_down(Gosu_Window* window, unsigned btn);
25
-
26
- // Properties
27
- int Gosu_Window_width(Gosu_Window* window);
28
- int Gosu_Window_height(Gosu_Window* window);
29
- bool Gosu_Window_is_fullscreen(Gosu_Window* window);
30
- bool Gosu_Window_is_resizable(Gosu_Window* window);
31
- double Gosu_Window_update_interval(Gosu_Window* window);
32
- const char* Gosu_Window_caption(Gosu_Window* window);
33
-
34
- Gosu_TextInput* Gosu_Window_text_input(Gosu_Window *window);
35
- double Gosu_Window_mouse_x(Gosu_Window* window);
36
- double Gosu_Window_mouse_y(Gosu_Window* window);
37
- int Gosu_Window_is_button_down(Gosu_Window* window, unsigned btn);
38
-
39
- // Setters
40
- void Gosu_Window_set_text_input(Gosu_Window *window, Gosu_TextInput *text_input);
41
- void Gosu_Window_set_caption(Gosu_Window* window, const char* caption);
42
- void Gosu_Window_set_update_interval(Gosu_Window* window, double update_interval);
43
- void Gosu_Window_set_mouse_x(Gosu_Window* window, double width);
44
- void Gosu_Window_set_mouse_y(Gosu_Window* window, double height);
45
- void Gosu_Window_set_width(Gosu_Window* window, int width);
46
- void Gosu_Window_set_height(Gosu_Window* window, int height);
47
-
48
- void Gosu_Window_resize(Gosu_Window* window, int width, int height, bool fullscreen);
49
-
50
- // Main Loop
51
- void Gosu_Window_show(Gosu_Window* window);
52
- void Gosu_Window_close_immediately(Gosu_Window* window);
53
- bool Gosu_Window_tick(Gosu_Window* window);
54
-
55
- // Destructor
56
- void Gosu_Window_destroy(Gosu_Window* window);
57
-
58
-
59
- #ifdef __cplusplus
60
- }
61
- #endif
@@ -1,89 +0,0 @@
1
- require 'gosu/preview'
2
-
3
- module Gosu
4
- module Zen
5
-
6
- @@window_args = [800, 600, {}]
7
- @@options = {}
8
-
9
- def window width, height, options = nil
10
- if $window.nil?
11
- @@window_args[0] = width
12
- @@window_args[1] = height
13
- @@window_args[2].merge! options if options
14
- else
15
- raise "window size can only be set before the window is created"
16
- end
17
- end
18
-
19
- def set what, value
20
- if $window.nil?
21
- @@options[what.to_sym] = value
22
- else
23
- $window.send "#{what}=", value
24
- end
25
- end
26
-
27
- def init &body
28
- ZenWindow.send :define_method, :init, &body
29
- end
30
-
31
- def button_down id = nil, &body
32
- m = id ? "button_down_#{id}" : :button_down_other
33
- ZenWindow.send :define_method, m, &body
34
- end
35
-
36
- def button_up id = nil, &body
37
- m = id ? "button_up_#{id}" : :button_up_other
38
- ZenWindow.send :define_method, m, &body
39
- end
40
-
41
- def update &body
42
- ZenWindow.send :define_method, :update, &body
43
- end
44
-
45
- def draw &body
46
- ZenWindow.send :define_method, :draw, &body
47
- end
48
-
49
- def run!
50
- window = ZenWindow.new *@@window_args
51
- @@options.each do |opt, value|
52
- window.send "#{opt}=", value
53
- end
54
- window.show
55
- end
56
-
57
- def Zen.included mod
58
- at_exit { run! unless $! }
59
- end
60
-
61
- end
62
-
63
- class ZenWindow < Window
64
- def initialize *args
65
- super
66
- init
67
- end
68
-
69
- def init
70
- end
71
-
72
- def button_down id
73
- m = :"button_down_#{id}"
74
- respond_to?(m) ? send(m) : button_down_other(id)
75
- end
76
-
77
- def button_up id
78
- m = :"button_up_#{id}"
79
- respond_to?(m) ? send(m) : button_up_other(id)
80
- end
81
-
82
- def button_down_other id
83
- end
84
-
85
- def button_up_other id
86
- end
87
-
88
- end
89
- end