gosu 1.4.6 → 2.0.0.pre7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (173) hide show
  1. checksums.yaml +4 -4
  2. data/COPYING +2 -1
  3. data/dependencies/SDL/include/SDL_assert.h +2 -0
  4. data/dependencies/SDL/include/SDL_atomic.h +2 -3
  5. data/dependencies/SDL/include/SDL_audio.h +7 -7
  6. data/dependencies/SDL/include/SDL_blendmode.h +1 -1
  7. data/dependencies/SDL/include/SDL_endian.h +3 -3
  8. data/dependencies/SDL/include/SDL_gamecontroller.h +4 -4
  9. data/dependencies/SDL/include/SDL_hints.h +83 -28
  10. data/dependencies/SDL/include/SDL_joystick.h +8 -5
  11. data/dependencies/SDL/include/SDL_keycode.h +1 -1
  12. data/dependencies/SDL/include/SDL_main.h +7 -0
  13. data/dependencies/SDL/include/SDL_mouse.h +6 -7
  14. data/dependencies/SDL/include/SDL_mutex.h +79 -5
  15. data/dependencies/SDL/include/SDL_opengl_glext.h +5 -1
  16. data/dependencies/SDL/include/SDL_power.h +7 -8
  17. data/dependencies/SDL/include/SDL_render.h +6 -1
  18. data/dependencies/SDL/include/SDL_revision.h +2 -2
  19. data/dependencies/SDL/include/SDL_sensor.h +1 -1
  20. data/dependencies/SDL/include/SDL_stdinc.h +19 -11
  21. data/dependencies/SDL/include/SDL_thread.h +2 -2
  22. data/dependencies/SDL/include/SDL_version.h +2 -2
  23. data/dependencies/SDL/include/SDL_video.h +30 -2
  24. data/dependencies/SDL/include/begin_code.h +7 -7
  25. data/dependencies/SDL/include/close_code.h +2 -2
  26. data/dependencies/SDL/lib/x64/libSDL2.dll.a +0 -0
  27. data/dependencies/SDL/lib/x86/libSDL2.dll.a +0 -0
  28. data/dependencies/SDL_sound/SDL_sound.h +1 -1
  29. data/dependencies/SDL_sound/dr_flac.h +48 -23
  30. data/dependencies/SDL_sound/dr_mp3.h +34 -14
  31. data/dependencies/SDL_sound/stb_vorbis.h +3 -2
  32. data/dependencies/mojoAL/mojoal.c +1 -1
  33. data/ext/{gosu → gosu-ffi}/extconf.rb +34 -33
  34. data/ext/gosu-ffi/gosu-ffi.def +465 -0
  35. data/ffi/Gosu.cpp +307 -0
  36. data/ffi/Gosu.h +84 -0
  37. data/ffi/Gosu_Channel.cpp +62 -0
  38. data/ffi/Gosu_Channel.h +17 -0
  39. data/ffi/Gosu_Color.cpp +132 -0
  40. data/ffi/Gosu_Color.h +31 -0
  41. data/ffi/Gosu_Constants.cpp +334 -0
  42. data/ffi/Gosu_FFI.h +34 -0
  43. data/ffi/Gosu_FFI_internal.h +161 -0
  44. data/ffi/Gosu_Font.cpp +92 -0
  45. data/ffi/Gosu_Font.h +32 -0
  46. data/ffi/Gosu_Image.cpp +218 -0
  47. data/ffi/Gosu_Image.h +66 -0
  48. data/ffi/Gosu_Sample.cpp +29 -0
  49. data/ffi/Gosu_Sample.h +14 -0
  50. data/ffi/Gosu_Song.cpp +69 -0
  51. data/ffi/Gosu_Song.h +18 -0
  52. data/ffi/Gosu_TextInput.cpp +94 -0
  53. data/ffi/Gosu_TextInput.h +25 -0
  54. data/ffi/Gosu_Window.cpp +314 -0
  55. data/ffi/Gosu_Window.h +78 -0
  56. data/include/Gosu/Audio.hpp +6 -11
  57. data/include/Gosu/Bitmap.hpp +38 -53
  58. data/include/Gosu/Buffer.hpp +54 -0
  59. data/include/Gosu/Color.hpp +27 -35
  60. data/include/Gosu/Directories.hpp +25 -28
  61. data/include/Gosu/Drawable.hpp +58 -0
  62. data/include/Gosu/Font.hpp +6 -5
  63. data/include/Gosu/Fwd.hpp +4 -6
  64. data/include/Gosu/Gosu.hpp +5 -5
  65. data/include/Gosu/Graphics.hpp +51 -61
  66. data/include/Gosu/GraphicsBase.hpp +1 -11
  67. data/include/Gosu/Image.hpp +12 -15
  68. data/include/Gosu/Math.hpp +50 -72
  69. data/include/Gosu/Transform.hpp +32 -0
  70. data/include/Gosu/Utility.hpp +51 -1
  71. data/include/Gosu/Version.hpp +3 -3
  72. data/include/Gosu/Window.hpp +15 -9
  73. data/lib/SDL2.dll +0 -0
  74. data/lib/gosu/channel.rb +49 -0
  75. data/lib/gosu/color.rb +150 -0
  76. data/lib/gosu/compat.rb +29 -8
  77. data/lib/gosu/constants.rb +386 -0
  78. data/lib/gosu/ffi.rb +259 -0
  79. data/lib/gosu/font.rb +56 -0
  80. data/lib/gosu/gl_tex_info.rb +33 -0
  81. data/lib/gosu/gosu.rb +210 -0
  82. data/lib/gosu/image.rb +153 -0
  83. data/lib/gosu/numeric.rb +17 -0
  84. data/lib/gosu/preview.rb +6 -6
  85. data/lib/gosu/sample.rb +24 -0
  86. data/lib/gosu/song.rb +56 -0
  87. data/lib/gosu/text_input.rb +69 -0
  88. data/lib/gosu/window.rb +228 -0
  89. data/lib/gosu.rb +29 -8
  90. data/lib64/SDL2.dll +0 -0
  91. data/rdoc/gosu.rb +0 -2
  92. data/src/Audio.cpp +12 -12
  93. data/src/AudioFile.hpp +5 -4
  94. data/src/AudioFileAudioToolbox.cpp +8 -8
  95. data/src/AudioFileSDLSound.cpp +7 -10
  96. data/src/BinPacker.cpp +187 -0
  97. data/src/BinPacker.hpp +55 -0
  98. data/src/Bitmap.cpp +166 -144
  99. data/src/BitmapIO.cpp +60 -86
  100. data/src/Buffer.cpp +159 -0
  101. data/src/ClipRectStack.cpp +38 -0
  102. data/src/ClipRectStack.hpp +17 -83
  103. data/src/Color.cpp +75 -80
  104. data/src/Directories.cpp +47 -0
  105. data/src/DirectoriesUIKit.cpp +50 -0
  106. data/src/DrawOp.hpp +9 -9
  107. data/src/DrawOpQueue.hpp +26 -32
  108. data/src/Drawable.cpp +95 -0
  109. data/src/EmptyDrawable.hpp +38 -0
  110. data/src/FPS.cpp +31 -0
  111. data/src/Font.cpp +104 -74
  112. data/src/GosuGLView.cpp +13 -11
  113. data/src/GosuViewController.cpp +2 -10
  114. data/src/Graphics.cpp +66 -129
  115. data/src/GraphicsImpl.hpp +14 -67
  116. data/src/Image.cpp +41 -35
  117. data/src/Input.cpp +7 -8
  118. data/src/Macro.cpp +6 -6
  119. data/src/Macro.hpp +4 -4
  120. data/src/MarkupParser.cpp +5 -5
  121. data/src/Math.cpp +35 -22
  122. data/src/OffScreenTarget.cpp +53 -49
  123. data/src/OffScreenTarget.hpp +13 -11
  124. data/src/OpenGLContext.cpp +117 -0
  125. data/src/OpenGLContext.hpp +41 -0
  126. data/src/RenderState.hpp +45 -56
  127. data/src/Resolution.cpp +23 -21
  128. data/src/TexChunk.cpp +35 -80
  129. data/src/TexChunk.hpp +44 -35
  130. data/src/Text.cpp +1 -1
  131. data/src/TextBuilder.cpp +35 -21
  132. data/src/TextBuilder.hpp +6 -9
  133. data/src/Texture.cpp +62 -80
  134. data/src/Texture.hpp +25 -23
  135. data/src/TiledDrawable.cpp +150 -0
  136. data/src/TiledDrawable.hpp +47 -0
  137. data/src/TimingApple.cpp +1 -1
  138. data/src/Transform.cpp +45 -50
  139. data/src/TransformStack.hpp +16 -16
  140. data/src/TrueTypeFont.cpp +59 -51
  141. data/src/TrueTypeFont.hpp +6 -7
  142. data/src/TrueTypeFontApple.cpp +28 -19
  143. data/src/TrueTypeFontUnix.cpp +27 -23
  144. data/src/TrueTypeFontWin.cpp +30 -30
  145. data/src/Utility.cpp +84 -21
  146. data/src/UtilityWin.cpp +45 -0
  147. data/src/Window.cpp +92 -142
  148. data/src/WindowUIKit.cpp +14 -14
  149. metadata +74 -32
  150. data/include/Gosu/IO.hpp +0 -254
  151. data/include/Gosu/ImageData.hpp +0 -53
  152. data/include/Gosu/Inspection.hpp +0 -7
  153. data/lib/gosu/patches.rb +0 -66
  154. data/lib/gosu/run.rb +0 -20
  155. data/lib/gosu/swig_patches.rb +0 -110
  156. data/src/BlockAllocator.cpp +0 -131
  157. data/src/BlockAllocator.hpp +0 -32
  158. data/src/DirectoriesApple.cpp +0 -69
  159. data/src/DirectoriesUnix.cpp +0 -46
  160. data/src/DirectoriesWin.cpp +0 -65
  161. data/src/EmptyImageData.hpp +0 -52
  162. data/src/FileUnix.cpp +0 -99
  163. data/src/FileWin.cpp +0 -88
  164. data/src/IO.cpp +0 -60
  165. data/src/Iconv.hpp +0 -51
  166. data/src/Inspection.cpp +0 -27
  167. data/src/LargeImageData.cpp +0 -215
  168. data/src/LargeImageData.hpp +0 -39
  169. data/src/Log.hpp +0 -19
  170. data/src/RubyGosu.cxx +0 -13100
  171. data/src/RubyGosu.h +0 -49
  172. data/src/WinUtility.cpp +0 -61
  173. data/src/WinUtility.hpp +0 -27
@@ -1254,7 +1254,7 @@ static void pitch_shift(ALsource *src, const ALbuffer *buffer, int numSampsToPro
1254
1254
  /* do windowing and re,im interleave */
1255
1255
  for (k = 0; k < pitch_framesize;k++) {
1256
1256
  window = -.5*SDL_cos(2.*M_PI*(double)k/(double)pitch_framesize)+.5;
1257
- state->workspace[2*k] = (ALfloat) state->infifo[k] * window;
1257
+ state->workspace[2*k] = (ALfloat) (state->infifo[k] * window);
1258
1258
  state->workspace[2*k+1] = 0.0f;
1259
1259
  }
1260
1260
 
@@ -9,7 +9,7 @@ end
9
9
 
10
10
  if not windows
11
11
  puts "The Gosu gem requires some libraries to be installed system-wide."
12
- puts "See the following site for a list:"
12
+ puts "See the following wiki page for a list:"
13
13
  if macos
14
14
  puts "https://github.com/gosu/gosu/wiki/Getting-Started-on-OS-X"
15
15
  else
@@ -20,50 +20,55 @@ end
20
20
  require "mkmf"
21
21
  require "fileutils"
22
22
 
23
+ # Ensure that FFI functions are exported.
24
+ $CXXFLAGS << " -DGOSU_FFI_EXPORTS"
25
+
23
26
  # Silence internal deprecation warnings in Gosu.
24
- $CFLAGS << " -DGOSU_DEPRECATED="
27
+ $CXXFLAGS << " -DGOSU_DEPRECATED="
25
28
 
26
- # Disable assertions in C code.
29
+ # Disable assertions in C and C++ code.
27
30
  $CFLAGS << " -DNDEBUG"
31
+ $CXXFLAGS << " -DNDEBUG"
28
32
 
29
- $CXXFLAGS ||= ""
30
- # Enable C++17, but at the same time make the compiler more permissive to avoid this error:
33
+ # Enable C++20, but at the same time make the compiler more permissive, and avoid this error:
31
34
  # https://stackoverflow.com/a/31899029 (triggered by ruby.h, which uses register variables)
32
35
  # The "register" macro can be removed when support for Ruby 2.6 and older has been dropped.
33
- $CXXFLAGS << " -std=gnu++17 -Dregister="
36
+ $CXXFLAGS << " -std=gnu++20 -Dregister="
34
37
 
35
38
  # Make Gosu's own header files and all of its dependencies available to C++ source files.
36
- $INCFLAGS << " -I../../include -I../../dependencies/stb -I../../dependencies/utf8proc -I../../dependencies/SDL_sound -I../../dependencies/mojoAL/AL"
37
-
38
- if windows
39
- # We statically compile utf8proc into the Gosu binary.
40
- # This macro is required to avoid errors about dllexport/dllimport mismatches.
41
- $CFLAGS << " -DUTF8PROC_STATIC -DAL_LIBTYPE_STATIC"
42
- $CXXFLAGS << " -DUTF8PROC_STATIC -DAL_LIBTYPE_STATIC"
39
+ %w(include dependencies/stb dependencies/utf8proc dependencies/SDL_sound dependencies/mojoAL/AL).each do |incdir|
40
+ $INCFLAGS << " -I$(srcdir)/../../#{incdir}"
41
+ end
43
42
 
44
- # Define UNICODE to use the Unicode-aware variants of all Win32 API functions.
45
- $CXXFLAGS << " -DUNICODE"
43
+ # We statically compile utf8proc into the Gosu binary.
44
+ # This macro is required on Windows to avoid errors about dllexport/dllimport mismatches.
45
+ # On other platforms, it might help us avoid unnecessarily exported symbols.
46
+ $CFLAGS << " -DUTF8PROC_STATIC -DAL_LIBTYPE_STATIC"
47
+ $CXXFLAGS << " -DUTF8PROC_STATIC -DAL_LIBTYPE_STATIC"
46
48
 
47
- # Use the bundled versions of SDL 2 and open_al.
48
- $INCFLAGS << " -I../../dependencies/SDL/include"
49
+ if windows
50
+ # Use the bundled version of SDL 2.
51
+ $INCFLAGS << " -I$(srcdir)/../../dependencies/SDL/include"
49
52
  if RbConfig::CONFIG["arch"] =~ /x64-/
50
- $LDFLAGS << " -L../../dependencies/SDL/lib/x64"
53
+ $LDFLAGS << " -L$(srcdir)/../../dependencies/SDL/lib/x64"
51
54
  else
52
- $LDFLAGS << " -L../../dependencies/SDL/lib/x86"
55
+ $LDFLAGS << " -L$(srcdir)/../../dependencies/SDL/lib/x86"
53
56
  end
54
57
  $LDFLAGS << " -lgdi32 -lwinmm -ldwmapi -lOpenGL32 -lSDL2"
55
58
  # Link libstdc++ statically to avoid having another DLL dependency when using Ocra.
56
59
  $LDFLAGS << " -static-libstdc++"
57
60
  elsif macos
58
61
  # Compile all C++ files as Objective C++ on macOS since mkmf does not support .mm files.
59
- $CXXFLAGS << " -x objective-c++ -fobjc-arc -DNDEBUG"
62
+ $CXXFLAGS << " -x objective-c++ -fobjc-arc"
63
+ # Also hide all symbols by default. FFI symbols use the GOSU_FFI_API macro to override this.
64
+ $CXXFLAGS << " -fvisibility=hidden -DGOSU_FFI_EXPORTS"
60
65
 
61
66
  # Explicitly specify libc++ as the standard library.
62
67
  # rvm will sometimes try to override this:
63
68
  # https://github.com/shawn42/gamebox/issues/96
64
69
  $CXXFLAGS << " -stdlib=libc++"
65
70
 
66
- # Disable an error that is disabled by default and prevents Gosu from building with universal Ruby:
71
+ # Disable an error that is enabled by default and prevents Gosu from building with universal Ruby:
67
72
  # https://trac.macports.org/ticket/58255 / https://github.com/gosu/gosu/issues/424
68
73
  $CXXFLAGS << " -Wno-reserved-user-defined-literal"
69
74
 
@@ -82,7 +87,7 @@ elsif macos
82
87
  $LDFLAGS.sub! " -lSDL2 ", " #{static_lib} " if File.exist? static_lib
83
88
 
84
89
  # Disable building of 32-bit slices in Apple's Ruby.
85
- # (RbConfig::CONFIG['CXXFLAGS'] on 10.11: -arch x86_64 -arch i386 -g -Os -pipe)
90
+ # (RbConfig::CONFIG['CXXFLAGS'] on macOS 10.11: -arch x86_64 -arch i386 -g -Os -pipe)
86
91
  $CFLAGS.gsub! "-arch i386", ""
87
92
  $CXXFLAGS.gsub! "-arch i386", ""
88
93
  $LDFLAGS.gsub! "-arch i386", ""
@@ -101,19 +106,15 @@ else
101
106
  end
102
107
 
103
108
  pkg_config "sdl2"
104
- pkg_config "vorbisfile"
105
- pkg_config "sndfile"
106
- pkg_config "libmpg123"
107
109
  pkg_config "fontconfig"
108
110
  end
109
111
 
110
- # Because Ruby will only compile source file in the src/ folder, but our dependencies are
111
- # stored in dependencies/, we need to create symlinks for all the .c files. This is terrible,
112
- # but still seems better than putting everything into the same folder to begin with.
113
- Dir.glob("../../dependencies/**/*.c").each do |dep|
114
- File.open("../../src/#{File.basename dep}", "w") do |shim|
115
- shim.puts "#include \"#{File.expand_path dep}\""
116
- end
112
+ # mkmf only looks for C/C++ files in $srcdir by default, but our source files are in other folders.
113
+
114
+ Dir.chdir($srcdir) do # (not needed when installing the gem, but for 'rake compile')
115
+ $srcs = Dir["../../dependencies/**/*.c"] + Dir["../../{src,ffi}/*.cpp"]
116
+ # We need to expand the $VPATH so that all source files can be found reliably. https://stackoverflow.com/a/35842162
117
+ $VPATH += $srcs.map { |src| "$(srcdir)/#{File.dirname(src)}" }.uniq
117
118
  end
118
119
 
119
- create_makefile "gosu", "../../src"
120
+ create_makefile "gosu-ffi"
@@ -0,0 +1,465 @@
1
+ EXPORTS
2
+ Gosu_AL_CENTER
3
+ Gosu_AL_JUSTIFY
4
+ Gosu_AL_LEFT
5
+ Gosu_AL_RIGHT
6
+ Gosu_BM_ADD
7
+ Gosu_BM_DEFAULT
8
+ Gosu_BM_INTERPOLATE
9
+ Gosu_BM_MULTIPLY
10
+ Gosu_Channel_destroy
11
+ Gosu_Channel_pause
12
+ Gosu_Channel_paused
13
+ Gosu_Channel_playing
14
+ Gosu_Channel_resume
15
+ Gosu_Channel_set_pan
16
+ Gosu_Channel_set_speed
17
+ Gosu_Channel_set_volume
18
+ Gosu_Channel_stop
19
+ Gosu_Color_abgr
20
+ Gosu_Color_alpha
21
+ Gosu_Color_argb
22
+ Gosu_Color_bgr
23
+ Gosu_Color_blue
24
+ Gosu_Color_create
25
+ Gosu_Color_create_argb
26
+ Gosu_Color_create_from_ahsv
27
+ Gosu_Color_create_from_hsv
28
+ Gosu_Color_gl
29
+ Gosu_Color_green
30
+ Gosu_Color_hue
31
+ Gosu_Color_red
32
+ Gosu_Color_saturation
33
+ Gosu_Color_set_alpha
34
+ Gosu_Color_set_blue
35
+ Gosu_Color_set_green
36
+ Gosu_Color_set_hue
37
+ Gosu_Color_set_red
38
+ Gosu_Color_set_saturation
39
+ Gosu_Color_set_value
40
+ Gosu_Color_value
41
+ Gosu_FF_BOLD
42
+ Gosu_FF_COMBINATIONS
43
+ Gosu_FF_ITALIC
44
+ Gosu_FF_UNDERLINE
45
+ Gosu_Font_create
46
+ Gosu_Font_destroy
47
+ Gosu_Font_draw_markup
48
+ Gosu_Font_draw_markup_rel
49
+ Gosu_Font_draw_text
50
+ Gosu_Font_draw_text_rel
51
+ Gosu_Font_height
52
+ Gosu_Font_markup_width
53
+ Gosu_Font_name
54
+ Gosu_Font_set_image
55
+ Gosu_Font_text_width
56
+ Gosu_GP_0_BUTTON_0
57
+ Gosu_GP_0_BUTTON_1
58
+ Gosu_GP_0_BUTTON_10
59
+ Gosu_GP_0_BUTTON_11
60
+ Gosu_GP_0_BUTTON_12
61
+ Gosu_GP_0_BUTTON_13
62
+ Gosu_GP_0_BUTTON_14
63
+ Gosu_GP_0_BUTTON_15
64
+ Gosu_GP_0_BUTTON_2
65
+ Gosu_GP_0_BUTTON_3
66
+ Gosu_GP_0_BUTTON_4
67
+ Gosu_GP_0_BUTTON_5
68
+ Gosu_GP_0_BUTTON_6
69
+ Gosu_GP_0_BUTTON_7
70
+ Gosu_GP_0_BUTTON_8
71
+ Gosu_GP_0_BUTTON_9
72
+ Gosu_GP_0_DOWN
73
+ Gosu_GP_0_DPAD_DOWN
74
+ Gosu_GP_0_DPAD_LEFT
75
+ Gosu_GP_0_DPAD_RIGHT
76
+ Gosu_GP_0_DPAD_UP
77
+ Gosu_GP_0_LEFT
78
+ Gosu_GP_0_LEFT_STICK_X_AXIS
79
+ Gosu_GP_0_LEFT_STICK_Y_AXIS
80
+ Gosu_GP_0_LEFT_TRIGGER_AXIS
81
+ Gosu_GP_0_RIGHT
82
+ Gosu_GP_0_RIGHT_STICK_X_AXIS
83
+ Gosu_GP_0_RIGHT_STICK_Y_AXIS
84
+ Gosu_GP_0_RIGHT_TRIGGER_AXIS
85
+ Gosu_GP_0_UP
86
+ Gosu_GP_1_BUTTON_0
87
+ Gosu_GP_1_BUTTON_1
88
+ Gosu_GP_1_BUTTON_10
89
+ Gosu_GP_1_BUTTON_11
90
+ Gosu_GP_1_BUTTON_12
91
+ Gosu_GP_1_BUTTON_13
92
+ Gosu_GP_1_BUTTON_14
93
+ Gosu_GP_1_BUTTON_15
94
+ Gosu_GP_1_BUTTON_2
95
+ Gosu_GP_1_BUTTON_3
96
+ Gosu_GP_1_BUTTON_4
97
+ Gosu_GP_1_BUTTON_5
98
+ Gosu_GP_1_BUTTON_6
99
+ Gosu_GP_1_BUTTON_7
100
+ Gosu_GP_1_BUTTON_8
101
+ Gosu_GP_1_BUTTON_9
102
+ Gosu_GP_1_DOWN
103
+ Gosu_GP_1_DPAD_DOWN
104
+ Gosu_GP_1_DPAD_LEFT
105
+ Gosu_GP_1_DPAD_RIGHT
106
+ Gosu_GP_1_DPAD_UP
107
+ Gosu_GP_1_LEFT
108
+ Gosu_GP_1_LEFT_STICK_X_AXIS
109
+ Gosu_GP_1_LEFT_STICK_Y_AXIS
110
+ Gosu_GP_1_LEFT_TRIGGER_AXIS
111
+ Gosu_GP_1_RIGHT
112
+ Gosu_GP_1_RIGHT_STICK_X_AXIS
113
+ Gosu_GP_1_RIGHT_STICK_Y_AXIS
114
+ Gosu_GP_1_RIGHT_TRIGGER_AXIS
115
+ Gosu_GP_1_UP
116
+ Gosu_GP_2_BUTTON_0
117
+ Gosu_GP_2_BUTTON_1
118
+ Gosu_GP_2_BUTTON_10
119
+ Gosu_GP_2_BUTTON_11
120
+ Gosu_GP_2_BUTTON_12
121
+ Gosu_GP_2_BUTTON_13
122
+ Gosu_GP_2_BUTTON_14
123
+ Gosu_GP_2_BUTTON_15
124
+ Gosu_GP_2_BUTTON_2
125
+ Gosu_GP_2_BUTTON_3
126
+ Gosu_GP_2_BUTTON_4
127
+ Gosu_GP_2_BUTTON_5
128
+ Gosu_GP_2_BUTTON_6
129
+ Gosu_GP_2_BUTTON_7
130
+ Gosu_GP_2_BUTTON_8
131
+ Gosu_GP_2_BUTTON_9
132
+ Gosu_GP_2_DOWN
133
+ Gosu_GP_2_DPAD_DOWN
134
+ Gosu_GP_2_DPAD_LEFT
135
+ Gosu_GP_2_DPAD_RIGHT
136
+ Gosu_GP_2_DPAD_UP
137
+ Gosu_GP_2_LEFT
138
+ Gosu_GP_2_LEFT_STICK_X_AXIS
139
+ Gosu_GP_2_LEFT_STICK_Y_AXIS
140
+ Gosu_GP_2_LEFT_TRIGGER_AXIS
141
+ Gosu_GP_2_RIGHT
142
+ Gosu_GP_2_RIGHT_STICK_X_AXIS
143
+ Gosu_GP_2_RIGHT_STICK_Y_AXIS
144
+ Gosu_GP_2_RIGHT_TRIGGER_AXIS
145
+ Gosu_GP_2_UP
146
+ Gosu_GP_3_BUTTON_0
147
+ Gosu_GP_3_BUTTON_1
148
+ Gosu_GP_3_BUTTON_10
149
+ Gosu_GP_3_BUTTON_11
150
+ Gosu_GP_3_BUTTON_12
151
+ Gosu_GP_3_BUTTON_13
152
+ Gosu_GP_3_BUTTON_14
153
+ Gosu_GP_3_BUTTON_15
154
+ Gosu_GP_3_BUTTON_2
155
+ Gosu_GP_3_BUTTON_3
156
+ Gosu_GP_3_BUTTON_4
157
+ Gosu_GP_3_BUTTON_5
158
+ Gosu_GP_3_BUTTON_6
159
+ Gosu_GP_3_BUTTON_7
160
+ Gosu_GP_3_BUTTON_8
161
+ Gosu_GP_3_BUTTON_9
162
+ Gosu_GP_3_DOWN
163
+ Gosu_GP_3_DPAD_DOWN
164
+ Gosu_GP_3_DPAD_LEFT
165
+ Gosu_GP_3_DPAD_RIGHT
166
+ Gosu_GP_3_DPAD_UP
167
+ Gosu_GP_3_LEFT
168
+ Gosu_GP_3_LEFT_STICK_X_AXIS
169
+ Gosu_GP_3_LEFT_STICK_Y_AXIS
170
+ Gosu_GP_3_LEFT_TRIGGER_AXIS
171
+ Gosu_GP_3_RIGHT
172
+ Gosu_GP_3_RIGHT_STICK_X_AXIS
173
+ Gosu_GP_3_RIGHT_STICK_Y_AXIS
174
+ Gosu_GP_3_RIGHT_TRIGGER_AXIS
175
+ Gosu_GP_3_UP
176
+ Gosu_GP_BUTTON_0
177
+ Gosu_GP_BUTTON_1
178
+ Gosu_GP_BUTTON_10
179
+ Gosu_GP_BUTTON_11
180
+ Gosu_GP_BUTTON_12
181
+ Gosu_GP_BUTTON_13
182
+ Gosu_GP_BUTTON_14
183
+ Gosu_GP_BUTTON_15
184
+ Gosu_GP_BUTTON_2
185
+ Gosu_GP_BUTTON_3
186
+ Gosu_GP_BUTTON_4
187
+ Gosu_GP_BUTTON_5
188
+ Gosu_GP_BUTTON_6
189
+ Gosu_GP_BUTTON_7
190
+ Gosu_GP_BUTTON_8
191
+ Gosu_GP_BUTTON_9
192
+ Gosu_GP_DOWN
193
+ Gosu_GP_DPAD_DOWN
194
+ Gosu_GP_DPAD_LEFT
195
+ Gosu_GP_DPAD_RIGHT
196
+ Gosu_GP_DPAD_UP
197
+ Gosu_GP_LEFT
198
+ Gosu_GP_LEFT_STICK_X_AXIS
199
+ Gosu_GP_LEFT_STICK_Y_AXIS
200
+ Gosu_GP_LEFT_TRIGGER_AXIS
201
+ Gosu_GP_RIGHT
202
+ Gosu_GP_RIGHT_STICK_X_AXIS
203
+ Gosu_GP_RIGHT_STICK_Y_AXIS
204
+ Gosu_GP_RIGHT_TRIGGER_AXIS
205
+ Gosu_GP_UP
206
+ Gosu_IF_RETRO
207
+ Gosu_IF_SMOOTH
208
+ Gosu_IF_TILEABLE
209
+ Gosu_IF_TILEABLE_BOTTOM
210
+ Gosu_IF_TILEABLE_LEFT
211
+ Gosu_IF_TILEABLE_RIGHT
212
+ Gosu_IF_TILEABLE_TOP
213
+ Gosu_Image_create
214
+ Gosu_Image_create_from_blob
215
+ Gosu_Image_create_from_markup
216
+ Gosu_Image_create_from_rect
217
+ Gosu_Image_create_from_subimage
218
+ Gosu_Image_create_from_text
219
+ Gosu_Image_create_from_tiles
220
+ Gosu_Image_create_tiles_from_image
221
+ Gosu_Image_destroy
222
+ Gosu_Image_draw
223
+ Gosu_Image_draw_as_quad
224
+ Gosu_Image_draw_rot
225
+ Gosu_Image_gl_tex_info_create
226
+ Gosu_Image_gl_tex_info_destroy
227
+ Gosu_Image_height
228
+ Gosu_Image_insert
229
+ Gosu_Image_save
230
+ Gosu_Image_to_blob
231
+ Gosu_Image_width
232
+ Gosu_KB_0
233
+ Gosu_KB_1
234
+ Gosu_KB_2
235
+ Gosu_KB_3
236
+ Gosu_KB_4
237
+ Gosu_KB_5
238
+ Gosu_KB_6
239
+ Gosu_KB_7
240
+ Gosu_KB_8
241
+ Gosu_KB_9
242
+ Gosu_KB_A
243
+ Gosu_KB_APOSTROPHE
244
+ Gosu_KB_B
245
+ Gosu_KB_BACKSLASH
246
+ Gosu_KB_BACKSPACE
247
+ Gosu_KB_BACKTICK
248
+ Gosu_KB_C
249
+ Gosu_KB_CAPS_LOCK
250
+ Gosu_KB_COMMA
251
+ Gosu_KB_D
252
+ Gosu_KB_DELETE
253
+ Gosu_KB_DOWN
254
+ Gosu_KB_E
255
+ Gosu_KB_END
256
+ Gosu_KB_ENTER
257
+ Gosu_KB_EQUALS
258
+ Gosu_KB_ESCAPE
259
+ Gosu_KB_F
260
+ Gosu_KB_F1
261
+ Gosu_KB_F10
262
+ Gosu_KB_F11
263
+ Gosu_KB_F12
264
+ Gosu_KB_F2
265
+ Gosu_KB_F3
266
+ Gosu_KB_F4
267
+ Gosu_KB_F5
268
+ Gosu_KB_F6
269
+ Gosu_KB_F7
270
+ Gosu_KB_F8
271
+ Gosu_KB_F9
272
+ Gosu_KB_G
273
+ Gosu_KB_H
274
+ Gosu_KB_HOME
275
+ Gosu_KB_I
276
+ Gosu_KB_INSERT
277
+ Gosu_KB_ISO
278
+ Gosu_KB_J
279
+ Gosu_KB_K
280
+ Gosu_KB_L
281
+ Gosu_KB_LEFT
282
+ Gosu_KB_LEFT_ALT
283
+ Gosu_KB_LEFT_BRACKET
284
+ Gosu_KB_LEFT_CONTROL
285
+ Gosu_KB_LEFT_META
286
+ Gosu_KB_LEFT_SHIFT
287
+ Gosu_KB_M
288
+ Gosu_KB_MINUS
289
+ Gosu_KB_N
290
+ Gosu_KB_NUMPAD_0
291
+ Gosu_KB_NUMPAD_1
292
+ Gosu_KB_NUMPAD_2
293
+ Gosu_KB_NUMPAD_3
294
+ Gosu_KB_NUMPAD_4
295
+ Gosu_KB_NUMPAD_5
296
+ Gosu_KB_NUMPAD_6
297
+ Gosu_KB_NUMPAD_7
298
+ Gosu_KB_NUMPAD_8
299
+ Gosu_KB_NUMPAD_9
300
+ Gosu_KB_NUMPAD_DELETE
301
+ Gosu_KB_NUMPAD_DIVIDE
302
+ Gosu_KB_NUMPAD_MINUS
303
+ Gosu_KB_NUMPAD_MULTIPLY
304
+ Gosu_KB_NUMPAD_PLUS
305
+ Gosu_KB_O
306
+ Gosu_KB_P
307
+ Gosu_KB_PAGE_DOWN
308
+ Gosu_KB_PAGE_UP
309
+ Gosu_KB_PAUSE
310
+ Gosu_KB_PERIOD
311
+ Gosu_KB_PRINT_SCREEN
312
+ Gosu_KB_Q
313
+ Gosu_KB_R
314
+ Gosu_KB_RETURN
315
+ Gosu_KB_RIGHT
316
+ Gosu_KB_RIGHT_ALT
317
+ Gosu_KB_RIGHT_BRACKET
318
+ Gosu_KB_RIGHT_CONTROL
319
+ Gosu_KB_RIGHT_META
320
+ Gosu_KB_RIGHT_SHIFT
321
+ Gosu_KB_S
322
+ Gosu_KB_SCROLL_LOCK
323
+ Gosu_KB_SEMICOLON
324
+ Gosu_KB_SLASH
325
+ Gosu_KB_SPACE
326
+ Gosu_KB_T
327
+ Gosu_KB_TAB
328
+ Gosu_KB_U
329
+ Gosu_KB_UP
330
+ Gosu_KB_V
331
+ Gosu_KB_W
332
+ Gosu_KB_X
333
+ Gosu_KB_Y
334
+ Gosu_KB_Z
335
+ Gosu_MAJOR_VERSION
336
+ Gosu_MINOR_VERSION
337
+ Gosu_MS_LEFT
338
+ Gosu_MS_MIDDLE
339
+ Gosu_MS_OTHER_0
340
+ Gosu_MS_OTHER_1
341
+ Gosu_MS_OTHER_2
342
+ Gosu_MS_OTHER_3
343
+ Gosu_MS_OTHER_4
344
+ Gosu_MS_OTHER_5
345
+ Gosu_MS_OTHER_6
346
+ Gosu_MS_OTHER_7
347
+ Gosu_MS_RIGHT
348
+ Gosu_MS_WHEEL_DOWN
349
+ Gosu_MS_WHEEL_UP
350
+ Gosu_NO_BUTTON
351
+ Gosu_NUM_GAMEPADS
352
+ Gosu_POINT_VERSION
353
+ Gosu_Sample_create
354
+ Gosu_Sample_destroy
355
+ Gosu_Sample_play
356
+ Gosu_Sample_play_pan
357
+ Gosu_Song_create
358
+ Gosu_Song_current_song
359
+ Gosu_Song_destroy
360
+ Gosu_Song_pause
361
+ Gosu_Song_paused
362
+ Gosu_Song_play
363
+ Gosu_Song_playing
364
+ Gosu_Song_set_volume
365
+ Gosu_Song_stop
366
+ Gosu_Song_volume
367
+ Gosu_TextInput_caret_pos
368
+ Gosu_TextInput_create
369
+ Gosu_TextInput_delete_backward
370
+ Gosu_TextInput_delete_forward
371
+ Gosu_TextInput_destroy
372
+ Gosu_TextInput_insert_text
373
+ Gosu_TextInput_selection_start
374
+ Gosu_TextInput_set_caret_pos
375
+ Gosu_TextInput_set_filter
376
+ Gosu_TextInput_set_filter_result
377
+ Gosu_TextInput_set_selection_start
378
+ Gosu_TextInput_set_text
379
+ Gosu_TextInput_text
380
+ Gosu_WF_BORDERLESS
381
+ Gosu_WF_FULLSCREEN
382
+ Gosu_WF_RESIZABLE
383
+ Gosu_WF_WINDOWED
384
+ Gosu_Window_caption
385
+ Gosu_Window_close_immediately
386
+ Gosu_Window_create
387
+ Gosu_Window_default_button_down
388
+ Gosu_Window_destroy
389
+ Gosu_Window_gain_focus
390
+ Gosu_Window_height
391
+ Gosu_Window_is_borderless
392
+ Gosu_Window_is_fullscreen
393
+ Gosu_Window_is_resizable
394
+ Gosu_Window_lose_focus
395
+ Gosu_Window_mouse_x
396
+ Gosu_Window_mouse_y
397
+ Gosu_Window_resize
398
+ Gosu_Window_sdl_window
399
+ Gosu_Window_set_borderless
400
+ Gosu_Window_set_button_down
401
+ Gosu_Window_set_button_up
402
+ Gosu_Window_set_caption
403
+ Gosu_Window_set_close
404
+ Gosu_Window_set_draw
405
+ Gosu_Window_set_drop
406
+ Gosu_Window_set_fullscreen
407
+ Gosu_Window_set_gain_focus
408
+ Gosu_Window_set_gamepad_connected
409
+ Gosu_Window_set_gamepad_disconnected
410
+ Gosu_Window_set_height
411
+ Gosu_Window_set_lose_focus
412
+ Gosu_Window_set_mouse_x
413
+ Gosu_Window_set_mouse_y
414
+ Gosu_Window_set_needs_cursor
415
+ Gosu_Window_set_needs_redraw
416
+ Gosu_Window_set_resizable
417
+ Gosu_Window_set_text_input
418
+ Gosu_Window_set_update
419
+ Gosu_Window_set_update_interval
420
+ Gosu_Window_set_width
421
+ Gosu_Window_show
422
+ Gosu_Window_text_input
423
+ Gosu_Window_tick
424
+ Gosu_Window_update_interval
425
+ Gosu_Window_width
426
+ Gosu_angle
427
+ Gosu_angle_diff
428
+ Gosu_available_height
429
+ Gosu_available_width
430
+ Gosu_axis
431
+ Gosu_button_char_to_id
432
+ Gosu_button_down
433
+ Gosu_button_id_to_char
434
+ Gosu_button_name
435
+ Gosu_clip_to
436
+ Gosu_clipboard
437
+ Gosu_default_font_name
438
+ Gosu_distance
439
+ Gosu_draw_line
440
+ Gosu_draw_quad
441
+ Gosu_draw_rect
442
+ Gosu_draw_triangle
443
+ Gosu_flush
444
+ Gosu_fps
445
+ Gosu_gamepad_name
446
+ Gosu_gl
447
+ Gosu_gl_z
448
+ Gosu_last_error
449
+ Gosu_licenses
450
+ Gosu_milliseconds
451
+ Gosu_offset_x
452
+ Gosu_offset_y
453
+ Gosu_random
454
+ Gosu_record
455
+ Gosu_render
456
+ Gosu_rotate
457
+ Gosu_scale
458
+ Gosu_screen_height
459
+ Gosu_screen_width
460
+ Gosu_set_clipboard
461
+ Gosu_transform
462
+ Gosu_translate
463
+ Gosu_user_languages
464
+ Gosu_version
465
+ Init_gosu