gosu 1.4.6 → 2.0.0.pre6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/COPYING +2 -1
  3. data/dependencies/SDL/include/SDL_atomic.h +2 -3
  4. data/dependencies/SDL/include/SDL_audio.h +7 -7
  5. data/dependencies/SDL/include/SDL_blendmode.h +1 -1
  6. data/dependencies/SDL/include/SDL_endian.h +3 -3
  7. data/dependencies/SDL/include/SDL_gamecontroller.h +4 -4
  8. data/dependencies/SDL/include/SDL_hints.h +72 -28
  9. data/dependencies/SDL/include/SDL_joystick.h +8 -5
  10. data/dependencies/SDL/include/SDL_keycode.h +1 -1
  11. data/dependencies/SDL/include/SDL_main.h +7 -0
  12. data/dependencies/SDL/include/SDL_mouse.h +6 -7
  13. data/dependencies/SDL/include/SDL_mutex.h +79 -5
  14. data/dependencies/SDL/include/SDL_opengl_glext.h +5 -1
  15. data/dependencies/SDL/include/SDL_power.h +7 -8
  16. data/dependencies/SDL/include/SDL_render.h +5 -0
  17. data/dependencies/SDL/include/SDL_revision.h +2 -2
  18. data/dependencies/SDL/include/SDL_sensor.h +1 -1
  19. data/dependencies/SDL/include/SDL_stdinc.h +19 -11
  20. data/dependencies/SDL/include/SDL_thread.h +2 -2
  21. data/dependencies/SDL/include/SDL_version.h +2 -2
  22. data/dependencies/SDL/include/SDL_video.h +30 -2
  23. data/dependencies/SDL/include/begin_code.h +7 -7
  24. data/dependencies/SDL/include/close_code.h +2 -2
  25. data/dependencies/SDL/lib/x64/libSDL2.dll.a +0 -0
  26. data/dependencies/SDL/lib/x86/libSDL2.dll.a +0 -0
  27. data/dependencies/SDL_sound/SDL_sound.h +1 -1
  28. data/dependencies/SDL_sound/dr_flac.h +48 -23
  29. data/dependencies/SDL_sound/dr_mp3.h +34 -14
  30. data/dependencies/SDL_sound/stb_vorbis.h +3 -2
  31. data/dependencies/mojoAL/mojoal.c +1 -1
  32. data/ext/{gosu → gosu-ffi}/extconf.rb +34 -33
  33. data/ext/gosu-ffi/gosu-ffi.def +464 -0
  34. data/ffi/Gosu.cpp +307 -0
  35. data/ffi/Gosu.h +84 -0
  36. data/ffi/Gosu_Channel.cpp +62 -0
  37. data/ffi/Gosu_Channel.h +17 -0
  38. data/ffi/Gosu_Color.cpp +132 -0
  39. data/ffi/Gosu_Color.h +31 -0
  40. data/ffi/Gosu_Constants.cpp +334 -0
  41. data/ffi/Gosu_FFI.h +34 -0
  42. data/ffi/Gosu_FFI_internal.h +161 -0
  43. data/ffi/Gosu_Font.cpp +92 -0
  44. data/ffi/Gosu_Font.h +32 -0
  45. data/ffi/Gosu_Image.cpp +206 -0
  46. data/ffi/Gosu_Image.h +60 -0
  47. data/ffi/Gosu_Sample.cpp +29 -0
  48. data/ffi/Gosu_Sample.h +14 -0
  49. data/ffi/Gosu_Song.cpp +69 -0
  50. data/ffi/Gosu_Song.h +18 -0
  51. data/ffi/Gosu_TextInput.cpp +94 -0
  52. data/ffi/Gosu_TextInput.h +25 -0
  53. data/ffi/Gosu_Window.cpp +314 -0
  54. data/ffi/Gosu_Window.h +78 -0
  55. data/include/Gosu/Audio.hpp +6 -11
  56. data/include/Gosu/Bitmap.hpp +38 -53
  57. data/include/Gosu/Buffer.hpp +54 -0
  58. data/include/Gosu/Color.hpp +27 -35
  59. data/include/Gosu/Directories.hpp +25 -28
  60. data/include/Gosu/Drawable.hpp +58 -0
  61. data/include/Gosu/Font.hpp +6 -5
  62. data/include/Gosu/Fwd.hpp +4 -6
  63. data/include/Gosu/Gosu.hpp +5 -5
  64. data/include/Gosu/Graphics.hpp +51 -61
  65. data/include/Gosu/GraphicsBase.hpp +1 -11
  66. data/include/Gosu/Image.hpp +11 -14
  67. data/include/Gosu/Math.hpp +50 -72
  68. data/include/Gosu/Transform.hpp +32 -0
  69. data/include/Gosu/Utility.hpp +51 -1
  70. data/include/Gosu/Version.hpp +3 -3
  71. data/include/Gosu/Window.hpp +15 -9
  72. data/lib/SDL2.dll +0 -0
  73. data/lib/gosu/channel.rb +49 -0
  74. data/lib/gosu/color.rb +150 -0
  75. data/lib/gosu/compat.rb +29 -8
  76. data/lib/gosu/constants.rb +386 -0
  77. data/lib/gosu/ffi.rb +258 -0
  78. data/lib/gosu/font.rb +56 -0
  79. data/lib/gosu/gl_tex_info.rb +33 -0
  80. data/lib/gosu/gosu.rb +210 -0
  81. data/lib/gosu/image.rb +141 -0
  82. data/lib/gosu/numeric.rb +17 -0
  83. data/lib/gosu/preview.rb +6 -6
  84. data/lib/gosu/sample.rb +24 -0
  85. data/lib/gosu/song.rb +56 -0
  86. data/lib/gosu/text_input.rb +69 -0
  87. data/lib/gosu/window.rb +228 -0
  88. data/lib/gosu.rb +29 -8
  89. data/lib64/SDL2.dll +0 -0
  90. data/rdoc/gosu.rb +0 -2
  91. data/src/Audio.cpp +12 -12
  92. data/src/AudioFile.hpp +5 -4
  93. data/src/AudioFileAudioToolbox.cpp +8 -8
  94. data/src/AudioFileSDLSound.cpp +7 -10
  95. data/src/BinPacker.cpp +187 -0
  96. data/src/BinPacker.hpp +55 -0
  97. data/src/Bitmap.cpp +166 -144
  98. data/src/BitmapIO.cpp +60 -86
  99. data/src/Buffer.cpp +159 -0
  100. data/src/Color.cpp +75 -80
  101. data/src/Directories.cpp +47 -0
  102. data/src/DirectoriesUIKit.cpp +50 -0
  103. data/src/DrawOp.hpp +9 -4
  104. data/src/DrawOpQueue.hpp +2 -2
  105. data/src/Drawable.cpp +95 -0
  106. data/src/EmptyDrawable.hpp +38 -0
  107. data/src/FPS.cpp +31 -0
  108. data/src/Font.cpp +104 -74
  109. data/src/GosuGLView.cpp +14 -6
  110. data/src/GosuViewController.cpp +2 -10
  111. data/src/Graphics.cpp +60 -126
  112. data/src/GraphicsImpl.hpp +17 -47
  113. data/src/Image.cpp +41 -35
  114. data/src/Input.cpp +7 -8
  115. data/src/Macro.cpp +6 -6
  116. data/src/Macro.hpp +4 -4
  117. data/src/MarkupParser.cpp +5 -5
  118. data/src/Math.cpp +35 -22
  119. data/src/OffScreenTarget.cpp +53 -49
  120. data/src/OffScreenTarget.hpp +13 -11
  121. data/src/OpenGLContext.cpp +117 -0
  122. data/src/OpenGLContext.hpp +41 -0
  123. data/src/RenderState.hpp +21 -19
  124. data/src/Resolution.cpp +23 -21
  125. data/src/TexChunk.cpp +35 -80
  126. data/src/TexChunk.hpp +44 -35
  127. data/src/Text.cpp +1 -1
  128. data/src/TextBuilder.cpp +35 -21
  129. data/src/TextBuilder.hpp +6 -9
  130. data/src/Texture.cpp +62 -80
  131. data/src/Texture.hpp +25 -23
  132. data/src/TiledDrawable.cpp +150 -0
  133. data/src/TiledDrawable.hpp +47 -0
  134. data/src/TimingApple.cpp +1 -1
  135. data/src/Transform.cpp +45 -50
  136. data/src/TransformStack.hpp +16 -16
  137. data/src/TrueTypeFont.cpp +59 -51
  138. data/src/TrueTypeFont.hpp +6 -7
  139. data/src/TrueTypeFontApple.cpp +28 -19
  140. data/src/TrueTypeFontUnix.cpp +27 -23
  141. data/src/TrueTypeFontWin.cpp +30 -30
  142. data/src/Utility.cpp +84 -21
  143. data/src/UtilityWin.cpp +45 -0
  144. data/src/Window.cpp +92 -142
  145. data/src/WindowUIKit.cpp +14 -14
  146. metadata +72 -31
  147. data/include/Gosu/IO.hpp +0 -254
  148. data/include/Gosu/ImageData.hpp +0 -53
  149. data/include/Gosu/Inspection.hpp +0 -7
  150. data/lib/gosu/patches.rb +0 -66
  151. data/lib/gosu/run.rb +0 -20
  152. data/lib/gosu/swig_patches.rb +0 -110
  153. data/src/BlockAllocator.cpp +0 -131
  154. data/src/BlockAllocator.hpp +0 -32
  155. data/src/DirectoriesApple.cpp +0 -69
  156. data/src/DirectoriesUnix.cpp +0 -46
  157. data/src/DirectoriesWin.cpp +0 -65
  158. data/src/EmptyImageData.hpp +0 -52
  159. data/src/FileUnix.cpp +0 -99
  160. data/src/FileWin.cpp +0 -88
  161. data/src/IO.cpp +0 -60
  162. data/src/Iconv.hpp +0 -51
  163. data/src/Inspection.cpp +0 -27
  164. data/src/LargeImageData.cpp +0 -215
  165. data/src/LargeImageData.hpp +0 -39
  166. data/src/Log.hpp +0 -19
  167. data/src/RubyGosu.cxx +0 -13100
  168. data/src/RubyGosu.h +0 -49
  169. data/src/WinUtility.cpp +0 -61
  170. data/src/WinUtility.hpp +0 -27
data/src/RubyGosu.h DELETED
@@ -1,49 +0,0 @@
1
- /* ----------------------------------------------------------------------------
2
- * This file was automatically generated by SWIG (https://www.swig.org).
3
- * Version 4.1.1
4
- *
5
- * Do not make changes to this file unless you know what you are doing - modify
6
- * the SWIG interface file instead.
7
- * ----------------------------------------------------------------------------- */
8
-
9
- #ifndef SWIG_Gosu_WRAP_H_
10
- #define SWIG_Gosu_WRAP_H_
11
-
12
- namespace Swig {
13
- class Director;
14
- }
15
-
16
-
17
- class SwigDirector_TextInput : public Gosu::TextInput, public Swig::Director {
18
-
19
- public:
20
- SwigDirector_TextInput(VALUE self);
21
- virtual ~SwigDirector_TextInput();
22
- virtual std::string filter(std::string text) const;
23
- };
24
-
25
-
26
- class SwigDirector_Window : public Gosu::Window, public Swig::Director {
27
-
28
- public:
29
- SwigDirector_Window(VALUE self,int width,int height,unsigned int window_flags=Gosu::WF_WINDOWED,double update_interval=16.666666);
30
- virtual ~SwigDirector_Window();
31
- virtual void show();
32
- virtual bool tick();
33
- virtual void close();
34
- virtual void update();
35
- virtual void draw();
36
- virtual bool needs_redraw() const;
37
- virtual bool needs_cursor() const;
38
- virtual void gain_focus();
39
- virtual void lose_focus();
40
- virtual void release_memory();
41
- virtual void button_down(Gosu::Button arg0);
42
- virtual void button_up(Gosu::Button arg0);
43
- virtual void gamepad_connected(int index);
44
- virtual void gamepad_disconnected(int index);
45
- virtual void drop(std::string const &filename);
46
- };
47
-
48
-
49
- #endif
data/src/WinUtility.cpp DELETED
@@ -1,61 +0,0 @@
1
- #include <Gosu/Platform.hpp>
2
- #if defined(GOSU_IS_WIN)
3
-
4
- #include "WinUtility.hpp"
5
- #include <Gosu/Utility.hpp>
6
- #include <stdexcept>
7
- #include <windows.h>
8
- using namespace std;
9
-
10
- wstring Gosu::utf8_to_utf16(const string& utf8)
11
- {
12
- wstring utf16(utf8.size(), '\0');
13
- auto len = MultiByteToWideChar(CP_UTF8, 0, utf8.data(), utf8.size(),
14
- const_cast<wchar_t*>(utf16.data()), utf16.size());
15
- utf16.resize(len);
16
- return utf16;
17
- }
18
-
19
- string Gosu::utf16_to_utf8(const wstring& utf16)
20
- {
21
- auto len = WideCharToMultiByte(CP_UTF8, 0, utf16.c_str(), utf16.size(),
22
- nullptr, 0, nullptr, nullptr);
23
- string utf8(len, '\0');
24
- WideCharToMultiByte(CP_UTF8, 0, utf16.c_str(), utf16.size(),
25
- const_cast<char*>(utf8.data()), utf8.size(), nullptr, nullptr);
26
- return utf8;
27
- }
28
-
29
- void Gosu::throw_last_winapi_error(const string& action)
30
- {
31
- // Obtain error message from Windows.
32
- wchar_t* buffer;
33
-
34
- if (!FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER |
35
- FORMAT_MESSAGE_FROM_SYSTEM |
36
- FORMAT_MESSAGE_IGNORE_INSERTS, nullptr, GetLastError(),
37
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPWSTR) &buffer, 0, nullptr)
38
- || buffer == nullptr) {
39
- throw runtime_error("Unknown error");
40
- }
41
-
42
- // Safely move the message into a string.
43
- string message;
44
- try {
45
- message = utf16_to_utf8(buffer);
46
- }
47
- catch (...) {
48
- LocalFree(buffer);
49
- throw;
50
- }
51
- LocalFree(buffer);
52
-
53
- // Optionally prepend the action.
54
- if (!action.empty()) {
55
- message = "While " + action + ", the following error occured: " + message;
56
- }
57
-
58
- throw runtime_error(message);
59
- }
60
-
61
- #endif
data/src/WinUtility.hpp DELETED
@@ -1,27 +0,0 @@
1
- #pragma once
2
-
3
- #include <Gosu/Platform.hpp>
4
- #include <string>
5
-
6
- namespace Gosu
7
- {
8
- //! Converts UTF-8 to UTF-16, as it is used in Windows APIs.
9
- std::wstring utf8_to_utf16(const std::string& utf8);
10
- //! Converts UTF-16 to UTF-8.
11
- std::string utf16_to_utf8(const std::wstring& utf16);
12
-
13
- //! Throws an exception according to the error returned by GetLastError(), optionally prefixed
14
- //! with "While (action), the following error occured: ".
15
- [[noreturn]]
16
- void throw_last_winapi_error(const std::string& action = "");
17
-
18
- //! Small helper function that throws the last Windows error when val_to_check is false.
19
- template<typename T>
20
- inline T winapi_check(T val_to_check, const std::string& action = "")
21
- {
22
- if (!val_to_check) {
23
- throw_last_winapi_error(action);
24
- }
25
- return val_to_check;
26
- }
27
- }