ruby2d 0.9.4 → 0.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/assets/include/SDL2/SDL.h +4 -1
  3. data/assets/include/SDL2/SDL_assert.h +3 -1
  4. data/assets/include/SDL2/SDL_atomic.h +1 -1
  5. data/assets/include/SDL2/SDL_audio.h +1 -1
  6. data/assets/include/SDL2/SDL_bits.h +1 -1
  7. data/assets/include/SDL2/SDL_blendmode.h +4 -1
  8. data/assets/include/SDL2/SDL_clipboard.h +1 -1
  9. data/assets/include/SDL2/SDL_config.h +1 -1
  10. data/assets/include/SDL2/SDL_config_android.h +7 -3
  11. data/assets/include/SDL2/SDL_config_iphoneos.h +16 -10
  12. data/assets/include/SDL2/SDL_config_macosx.h +40 -14
  13. data/assets/include/SDL2/SDL_config_minimal.h +1 -1
  14. data/assets/include/SDL2/SDL_config_os2.h +26 -8
  15. data/assets/include/SDL2/SDL_config_pandora.h +4 -2
  16. data/assets/include/SDL2/SDL_config_psp.h +2 -1
  17. data/assets/include/SDL2/SDL_config_windows.h +40 -9
  18. data/assets/include/SDL2/SDL_config_winrt.h +5 -2
  19. data/assets/include/SDL2/SDL_config_wiz.h +5 -2
  20. data/assets/include/SDL2/SDL_copying.h +1 -1
  21. data/assets/include/SDL2/SDL_cpuinfo.h +32 -3
  22. data/assets/include/SDL2/SDL_egl.h +4 -1
  23. data/assets/include/SDL2/SDL_endian.h +6 -3
  24. data/assets/include/SDL2/SDL_error.h +38 -2
  25. data/assets/include/SDL2/SDL_events.h +64 -28
  26. data/assets/include/SDL2/SDL_filesystem.h +1 -1
  27. data/assets/include/SDL2/SDL_gamecontroller.h +160 -9
  28. data/assets/include/SDL2/SDL_gesture.h +1 -1
  29. data/assets/include/SDL2/SDL_haptic.h +10 -1
  30. data/assets/include/SDL2/SDL_hints.h +316 -4
  31. data/assets/include/SDL2/SDL_joystick.h +115 -24
  32. data/assets/include/SDL2/SDL_keyboard.h +1 -1
  33. data/assets/include/SDL2/SDL_keycode.h +11 -9
  34. data/assets/include/SDL2/SDL_loadso.h +1 -1
  35. data/assets/include/SDL2/SDL_locale.h +101 -0
  36. data/assets/include/SDL2/SDL_log.h +3 -3
  37. data/assets/include/SDL2/SDL_main.h +1 -1
  38. data/assets/include/SDL2/SDL_messagebox.h +6 -4
  39. data/assets/include/SDL2/SDL_metal.h +117 -0
  40. data/assets/include/SDL2/SDL_misc.h +75 -0
  41. data/assets/include/SDL2/SDL_mouse.h +1 -1
  42. data/assets/include/SDL2/SDL_mutex.h +1 -1
  43. data/assets/include/SDL2/SDL_name.h +1 -1
  44. data/assets/include/SDL2/SDL_opengl.h +1 -1
  45. data/assets/include/SDL2/SDL_opengl_glext.h +3 -0
  46. data/assets/include/SDL2/SDL_opengles.h +1 -1
  47. data/assets/include/SDL2/SDL_opengles2.h +1 -1
  48. data/assets/include/SDL2/SDL_pixels.h +25 -16
  49. data/assets/include/SDL2/SDL_platform.h +1 -1
  50. data/assets/include/SDL2/SDL_power.h +1 -1
  51. data/assets/include/SDL2/SDL_quit.h +1 -1
  52. data/assets/include/SDL2/SDL_rect.h +1 -1
  53. data/assets/include/SDL2/SDL_render.h +63 -3
  54. data/assets/include/SDL2/SDL_revision.h +2 -2
  55. data/assets/include/SDL2/SDL_rwops.h +2 -10
  56. data/assets/include/SDL2/SDL_scancode.h +1 -1
  57. data/assets/include/SDL2/SDL_sensor.h +25 -9
  58. data/assets/include/SDL2/SDL_shape.h +1 -1
  59. data/assets/include/SDL2/SDL_stdinc.h +44 -4
  60. data/assets/include/SDL2/SDL_surface.h +11 -2
  61. data/assets/include/SDL2/SDL_system.h +50 -4
  62. data/assets/include/SDL2/SDL_syswm.h +29 -2
  63. data/assets/include/SDL2/SDL_test.h +1 -1
  64. data/assets/include/SDL2/SDL_test_assert.h +1 -1
  65. data/assets/include/SDL2/SDL_test_common.h +14 -1
  66. data/assets/include/SDL2/SDL_test_compare.h +1 -1
  67. data/assets/include/SDL2/SDL_test_crc32.h +1 -1
  68. data/assets/include/SDL2/SDL_test_font.h +1 -1
  69. data/assets/include/SDL2/SDL_test_fuzzer.h +1 -1
  70. data/assets/include/SDL2/SDL_test_harness.h +1 -1
  71. data/assets/include/SDL2/SDL_test_images.h +1 -1
  72. data/assets/include/SDL2/SDL_test_log.h +1 -1
  73. data/assets/include/SDL2/SDL_test_md5.h +1 -1
  74. data/assets/include/SDL2/SDL_test_memory.h +1 -1
  75. data/assets/include/SDL2/SDL_test_random.h +1 -1
  76. data/assets/include/SDL2/SDL_thread.h +34 -11
  77. data/assets/include/SDL2/SDL_timer.h +1 -1
  78. data/assets/include/SDL2/SDL_touch.h +1 -1
  79. data/assets/include/SDL2/SDL_types.h +1 -1
  80. data/assets/include/SDL2/SDL_version.h +2 -2
  81. data/assets/include/SDL2/SDL_video.h +11 -5
  82. data/assets/include/SDL2/SDL_vulkan.h +6 -8
  83. data/assets/include/SDL2/begin_code.h +5 -9
  84. data/assets/include/SDL2/close_code.h +1 -1
  85. data/assets/macos/lib/libFLAC.a +0 -0
  86. data/assets/macos/lib/libSDL2.a +0 -0
  87. data/assets/macos/lib/libSDL2_image.a +0 -0
  88. data/assets/macos/lib/libSDL2_mixer.a +0 -0
  89. data/assets/macos/lib/libSDL2_ttf.a +0 -0
  90. data/assets/macos/lib/libfreetype.a +0 -0
  91. data/assets/macos/lib/libjpeg.a +0 -0
  92. data/assets/macos/lib/libmodplug.a +0 -0
  93. data/assets/macos/lib/libmpg123.a +0 -0
  94. data/assets/macos/lib/libogg.a +0 -0
  95. data/assets/macos/lib/libpng16.a +0 -0
  96. data/assets/macos/lib/libtiff.a +0 -0
  97. data/assets/macos/lib/libvorbis.a +0 -0
  98. data/assets/macos/lib/libvorbisfile.a +0 -0
  99. data/assets/macos/lib/libwebp.a +0 -0
  100. data/assets/mingw/bin/SDL2.dll +0 -0
  101. data/assets/mingw/lib/libSDL2.a +0 -0
  102. data/assets/mingw/lib/libSDL2.dll.a +0 -0
  103. data/assets/mingw/lib/libSDL2_test.a +0 -0
  104. data/assets/mingw/lib/libSDL2main.a +0 -0
  105. data/bin/ruby2d +1 -0
  106. data/{assets/linux/simple2d/src/simple2d.c → ext/ruby2d/common.c} +32 -32
  107. data/{assets/linux/simple2d/src → ext/ruby2d}/controllers.c +17 -17
  108. data/ext/ruby2d/extconf.rb +37 -59
  109. data/ext/ruby2d/font.c +35 -0
  110. data/{assets/linux/simple2d/src → ext/ruby2d}/gl.c +66 -98
  111. data/ext/ruby2d/gl2.c +86 -0
  112. data/{assets/linux/simple2d/src → ext/ruby2d}/gl3.c +69 -112
  113. data/{assets/linux/simple2d/src → ext/ruby2d}/gles.c +22 -81
  114. data/ext/ruby2d/image.c +58 -0
  115. data/{assets/linux/simple2d/src → ext/ruby2d}/input.c +8 -8
  116. data/{assets/linux/simple2d/src → ext/ruby2d}/music.c +30 -17
  117. data/ext/ruby2d/ruby2d.c +449 -439
  118. data/ext/ruby2d/ruby2d.h +652 -0
  119. data/{assets/linux/simple2d/src → ext/ruby2d}/shapes.c +18 -18
  120. data/{assets/linux/simple2d/src → ext/ruby2d}/sound.c +39 -14
  121. data/ext/ruby2d/text.c +22 -0
  122. data/{assets/linux/simple2d/src → ext/ruby2d}/window.c +63 -63
  123. data/lib/ruby2d/circle.rb +21 -3
  124. data/lib/ruby2d/cli/build.rb +4 -7
  125. data/lib/ruby2d/dsl.rb +16 -9
  126. data/lib/ruby2d/entity.rb +17 -0
  127. data/lib/ruby2d/font.rb +23 -3
  128. data/lib/ruby2d/image.rb +35 -7
  129. data/lib/ruby2d/line.rb +23 -1
  130. data/lib/ruby2d/music.rb +5 -0
  131. data/lib/ruby2d/pixel.rb +17 -0
  132. data/lib/ruby2d/quad.rb +21 -1
  133. data/lib/ruby2d/rectangle.rb +12 -3
  134. data/lib/ruby2d/renderable.rb +4 -20
  135. data/lib/ruby2d/sound.rb +30 -0
  136. data/lib/ruby2d/sprite.rb +57 -75
  137. data/lib/ruby2d/square.rb +10 -1
  138. data/lib/ruby2d/text.rb +55 -12
  139. data/lib/ruby2d/texture.rb +28 -0
  140. data/lib/ruby2d/tileset.rb +87 -0
  141. data/lib/ruby2d/triangle.rb +19 -1
  142. data/lib/ruby2d/version.rb +1 -1
  143. data/lib/ruby2d/vertices.rb +84 -0
  144. data/lib/ruby2d/window.rb +259 -22
  145. data/lib/ruby2d.rb +6 -1
  146. metadata +30 -26
  147. data/assets/include/simple2d.h +0 -757
  148. data/assets/linux/simple2d/Makefile +0 -260
  149. data/assets/linux/simple2d/bin/simple2d.sh +0 -1318
  150. data/assets/linux/simple2d/include/simple2d.h +0 -757
  151. data/assets/linux/simple2d/src/gl2.c +0 -146
  152. data/assets/linux/simple2d/src/image.c +0 -138
  153. data/assets/linux/simple2d/src/sprite.c +0 -147
  154. data/assets/linux/simple2d/src/text.c +0 -129
  155. data/assets/macos/lib/libsimple2d.a +0 -0
  156. data/assets/mingw/lib/libsimple2d.a +0 -0
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -80,7 +80,9 @@ typedef struct SDL_Surface
80
80
 
81
81
  /** information needed for surfaces requiring locks */
82
82
  int locked; /**< Read-only */
83
- void *lock_data; /**< Read-only */
83
+
84
+ /** list of BlitMap that hold a reference to this surface */
85
+ void *list_blitmap; /**< Private */
84
86
 
85
87
  /** clipping information */
86
88
  SDL_Rect clip_rect; /**< Read-only */
@@ -235,6 +237,13 @@ extern DECLSPEC int SDLCALL SDL_SaveBMP_RW
235
237
  extern DECLSPEC int SDLCALL SDL_SetSurfaceRLE(SDL_Surface * surface,
236
238
  int flag);
237
239
 
240
+ /**
241
+ * \brief Returns whether the surface is RLE enabled
242
+ *
243
+ * \return SDL_TRUE if the surface is RLE enabled, or SDL_FALSE if the surface is NULL or not RLE enabled
244
+ */
245
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasSurfaceRLE(SDL_Surface * surface);
246
+
238
247
  /**
239
248
  * \brief Sets the color key (transparent pixel) in a blittable surface.
240
249
  *
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -89,7 +89,7 @@ extern DECLSPEC int SDLCALL SDL_LinuxSetThreadPriority(Sint64 threadID, int prio
89
89
  #endif /* __LINUX__ */
90
90
 
91
91
  /* Platform specific functions for iOS */
92
- #if defined(__IPHONEOS__) && __IPHONEOS__
92
+ #ifdef __IPHONEOS__
93
93
 
94
94
  #define SDL_iOSSetAnimationCallback(window, interval, callback, callbackParam) SDL_iPhoneSetAnimationCallback(window, interval, callback, callbackParam)
95
95
  extern DECLSPEC int SDLCALL SDL_iPhoneSetAnimationCallback(SDL_Window * window, int interval, void (*callback)(void*), void *callbackParam);
@@ -101,7 +101,7 @@ extern DECLSPEC void SDLCALL SDL_iPhoneSetEventPump(SDL_bool enabled);
101
101
 
102
102
 
103
103
  /* Platform specific functions for Android */
104
- #if defined(__ANDROID__) && __ANDROID__
104
+ #ifdef __ANDROID__
105
105
 
106
106
  /**
107
107
  \brief Get the JNI environment for the current thread
@@ -120,6 +120,33 @@ extern DECLSPEC void * SDLCALL SDL_AndroidGetJNIEnv(void);
120
120
  */
121
121
  extern DECLSPEC void * SDLCALL SDL_AndroidGetActivity(void);
122
122
 
123
+ /**
124
+ \brief Return API level of the current device
125
+
126
+ API level 30: Android 11
127
+ API level 29: Android 10
128
+ API level 28: Android 9
129
+ API level 27: Android 8.1
130
+ API level 26: Android 8.0
131
+ API level 25: Android 7.1
132
+ API level 24: Android 7.0
133
+ API level 23: Android 6.0
134
+ API level 22: Android 5.1
135
+ API level 21: Android 5.0
136
+ API level 20: Android 4.4W
137
+ API level 19: Android 4.4
138
+ API level 18: Android 4.3
139
+ API level 17: Android 4.2
140
+ API level 16: Android 4.1
141
+ API level 15: Android 4.0.3
142
+ API level 14: Android 4.0
143
+ API level 13: Android 3.2
144
+ API level 12: Android 3.1
145
+ API level 11: Android 3.0
146
+ API level 10: Android 2.3.3
147
+ */
148
+ extern DECLSPEC int SDLCALL SDL_GetAndroidSDKVersion(void);
149
+
123
150
  /**
124
151
  \brief Return true if the application is running on Android TV
125
152
  */
@@ -172,10 +199,18 @@ extern DECLSPEC int SDLCALL SDL_AndroidGetExternalStorageState(void);
172
199
  */
173
200
  extern DECLSPEC const char * SDLCALL SDL_AndroidGetExternalStoragePath(void);
174
201
 
202
+ /**
203
+ \brief Request permissions at runtime.
204
+
205
+ This blocks the calling thread until the permission is granted or
206
+ denied. Returns SDL_TRUE if the permission was granted.
207
+ */
208
+ extern DECLSPEC SDL_bool SDLCALL SDL_AndroidRequestPermission(const char *permission);
209
+
175
210
  #endif /* __ANDROID__ */
176
211
 
177
212
  /* Platform specific functions for WinRT */
178
- #if defined(__WINRT__) && __WINRT__
213
+ #ifdef __WINRT__
179
214
 
180
215
  /**
181
216
  * \brief WinRT / Windows Phone path types
@@ -268,6 +303,17 @@ extern DECLSPEC SDL_WinRT_DeviceFamily SDLCALL SDL_WinRTGetDeviceFamily();
268
303
  */
269
304
  extern DECLSPEC SDL_bool SDLCALL SDL_IsTablet(void);
270
305
 
306
+ /* Functions used by iOS application delegates to notify SDL about state changes */
307
+ extern DECLSPEC void SDLCALL SDL_OnApplicationWillTerminate(void);
308
+ extern DECLSPEC void SDLCALL SDL_OnApplicationDidReceiveMemoryWarning(void);
309
+ extern DECLSPEC void SDLCALL SDL_OnApplicationWillResignActive(void);
310
+ extern DECLSPEC void SDLCALL SDL_OnApplicationDidEnterBackground(void);
311
+ extern DECLSPEC void SDLCALL SDL_OnApplicationWillEnterForeground(void);
312
+ extern DECLSPEC void SDLCALL SDL_OnApplicationDidBecomeActive(void);
313
+ #ifdef __IPHONEOS__
314
+ extern DECLSPEC void SDLCALL SDL_OnApplicationDidChangeStatusBarOrientation(void);
315
+ #endif
316
+
271
317
  /* Ends C function definitions when using C++ */
272
318
  #ifdef __cplusplus
273
319
  }
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -49,6 +49,9 @@ struct SDL_SysWMinfo;
49
49
  #ifndef WIN32_LEAN_AND_MEAN
50
50
  #define WIN32_LEAN_AND_MEAN
51
51
  #endif
52
+ #ifndef NOMINMAX /* don't define min() and max(). */
53
+ #define NOMINMAX
54
+ #endif
52
55
  #include <windows.h>
53
56
  #endif
54
57
 
@@ -103,6 +106,11 @@ typedef void *EGLSurface;
103
106
  #if defined(SDL_VIDEO_DRIVER_VIVANTE)
104
107
  #include "SDL_egl.h"
105
108
  #endif
109
+
110
+ #if defined(SDL_VIDEO_DRIVER_OS2)
111
+ #define INCL_WIN
112
+ #include <os2.h>
113
+ #endif
106
114
  #endif /* SDL_PROTOTYPES_ONLY */
107
115
 
108
116
 
@@ -129,7 +137,8 @@ typedef enum
129
137
  SDL_SYSWM_WINRT,
130
138
  SDL_SYSWM_ANDROID,
131
139
  SDL_SYSWM_VIVANTE,
132
- SDL_SYSWM_OS2
140
+ SDL_SYSWM_OS2,
141
+ SDL_SYSWM_HAIKU
133
142
  } SDL_SYSWM_TYPE;
134
143
 
135
144
  /**
@@ -182,6 +191,16 @@ struct SDL_SysWMmsg
182
191
  int dummy;
183
192
  /* No Vivante window events yet */
184
193
  } vivante;
194
+ #endif
195
+ #if defined(SDL_VIDEO_DRIVER_OS2)
196
+ struct
197
+ {
198
+ BOOL fFrame; /**< TRUE if hwnd is a frame window */
199
+ HWND hwnd; /**< The window receiving the message */
200
+ ULONG msg; /**< The message identifier */
201
+ MPARAM mp1; /**< The first first message parameter */
202
+ MPARAM mp2; /**< The second first message parameter */
203
+ } os2;
185
204
  #endif
186
205
  /* Can't have an empty union */
187
206
  int dummy;
@@ -276,6 +295,14 @@ struct SDL_SysWMinfo
276
295
  } android;
277
296
  #endif
278
297
 
298
+ #if defined(SDL_VIDEO_DRIVER_OS2)
299
+ struct
300
+ {
301
+ HWND hwnd; /**< The window handle */
302
+ HWND hwndFrame; /**< The frame window handle */
303
+ } os2;
304
+ #endif
305
+
279
306
  #if defined(SDL_VIDEO_DRIVER_VIVANTE)
280
307
  struct
281
308
  {
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -155,6 +155,19 @@ int SDLTest_CommonArg(SDLTest_CommonState * state, int index);
155
155
  */
156
156
  void SDLTest_CommonLogUsage(SDLTest_CommonState * state, const char *argv0, const char **options);
157
157
 
158
+ /**
159
+ * \brief Returns common usage information
160
+ *
161
+ * You should (probably) be using SDLTest_CommonLogUsage() instead, but this
162
+ * function remains for binary compatibility. Strings returned from this
163
+ * function are valid until SDLTest_CommonQuit() is called, in which case
164
+ * those strings' memory is freed and can no longer be used.
165
+ *
166
+ * \param state The common state describing the test window to create.
167
+ * \returns String with usage information
168
+ */
169
+ const char *SDLTest_CommonUsage(SDLTest_CommonState * state);
170
+
158
171
  /**
159
172
  * \brief Open test window.
160
173
  *
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -54,6 +54,11 @@ typedef unsigned int SDL_TLSID;
54
54
  /**
55
55
  * The SDL thread priority.
56
56
  *
57
+ * SDL will make system changes as necessary in order to apply the thread priority.
58
+ * Code which attempts to control thread state related to priority should be aware
59
+ * that calling SDL_SetThreadPriority may alter such state.
60
+ * SDL_HINT_THREAD_PRIORITY_POLICY can be used to control aspects of this behavior.
61
+ *
57
62
  * \note On many systems you require special privileges to set high or time critical priority.
58
63
  */
59
64
  typedef enum {
@@ -69,7 +74,7 @@ typedef enum {
69
74
  */
70
75
  typedef int (SDLCALL * SDL_ThreadFunction) (void *data);
71
76
 
72
- #if defined(__WIN32__) && !defined(HAVE_LIBC)
77
+ #if defined(__WIN32__)
73
78
  /**
74
79
  * \file SDL_thread.h
75
80
  *
@@ -93,11 +98,18 @@ typedef int (SDLCALL * SDL_ThreadFunction) (void *data);
93
98
  #define SDL_PASSED_BEGINTHREAD_ENDTHREAD
94
99
  #include <process.h> /* _beginthreadex() and _endthreadex() */
95
100
 
96
- typedef uintptr_t(__cdecl * pfnSDL_CurrentBeginThread)
101
+ typedef uintptr_t (__cdecl * pfnSDL_CurrentBeginThread)
97
102
  (void *, unsigned, unsigned (__stdcall *func)(void *),
98
103
  void * /*arg*/, unsigned, unsigned * /* threadID */);
99
104
  typedef void (__cdecl * pfnSDL_CurrentEndThread) (unsigned code);
100
105
 
106
+ #ifndef SDL_beginthread
107
+ #define SDL_beginthread _beginthreadex
108
+ #endif
109
+ #ifndef SDL_endthread
110
+ #define SDL_endthread _endthreadex
111
+ #endif
112
+
101
113
  /**
102
114
  * Create a thread.
103
115
  */
@@ -118,12 +130,12 @@ SDL_CreateThreadWithStackSize(int (SDLCALL * fn) (void *),
118
130
  */
119
131
  #if defined(SDL_CreateThread) && SDL_DYNAMIC_API
120
132
  #undef SDL_CreateThread
121
- #define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)_endthreadex)
133
+ #define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
122
134
  #undef SDL_CreateThreadWithStackSize
123
- #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)_endthreadex)
135
+ #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
124
136
  #else
125
- #define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)_endthreadex)
126
- #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)_endthreadex)
137
+ #define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
138
+ #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)SDL_endthread)
127
139
  #endif
128
140
 
129
141
  #elif defined(__OS2__)
@@ -132,13 +144,23 @@ SDL_CreateThreadWithStackSize(int (SDLCALL * fn) (void *),
132
144
  * into a dll with Watcom's runtime statically linked.
133
145
  */
134
146
  #define SDL_PASSED_BEGINTHREAD_ENDTHREAD
147
+
135
148
  #ifndef __EMX__
136
149
  #include <process.h>
137
150
  #else
138
151
  #include <stdlib.h>
139
152
  #endif
153
+
140
154
  typedef int (*pfnSDL_CurrentBeginThread)(void (*func)(void *), void *, unsigned, void * /*arg*/);
141
155
  typedef void (*pfnSDL_CurrentEndThread)(void);
156
+
157
+ #ifndef SDL_beginthread
158
+ #define SDL_beginthread _beginthread
159
+ #endif
160
+ #ifndef SDL_endthread
161
+ #define SDL_endthread _endthread
162
+ #endif
163
+
142
164
  extern DECLSPEC SDL_Thread *SDLCALL
143
165
  SDL_CreateThread(SDL_ThreadFunction fn, const char *name, void *data,
144
166
  pfnSDL_CurrentBeginThread pfnBeginThread,
@@ -147,14 +169,15 @@ extern DECLSPEC SDL_Thread *SDLCALL
147
169
  SDL_CreateThreadWithStackSize(SDL_ThreadFunction fn, const char *name, const size_t stacksize, void *data,
148
170
  pfnSDL_CurrentBeginThread pfnBeginThread,
149
171
  pfnSDL_CurrentEndThread pfnEndThread);
172
+
150
173
  #if defined(SDL_CreateThread) && SDL_DYNAMIC_API
151
174
  #undef SDL_CreateThread
152
- #define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthread, (pfnSDL_CurrentEndThread)_endthread)
175
+ #define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
153
176
  #undef SDL_CreateThreadWithStackSize
154
- #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthread, (pfnSDL_CurrentEndThread)_endthread)
177
+ #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
155
178
  #else
156
- #define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthread, (pfnSDL_CurrentEndThread)_endthread)
157
- #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)_beginthread, (pfnSDL_CurrentEndThread)_endthread)
179
+ #define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
180
+ #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
158
181
  #endif
159
182
 
160
183
  #else
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -59,7 +59,7 @@ typedef struct SDL_version
59
59
  */
60
60
  #define SDL_MAJOR_VERSION 2
61
61
  #define SDL_MINOR_VERSION 0
62
- #define SDL_PATCHLEVEL 10
62
+ #define SDL_PATCHLEVEL 14
63
63
 
64
64
  /**
65
65
  * \brief Macro to determine SDL version program was compiled against.
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -96,7 +96,6 @@ typedef struct SDL_Window SDL_Window;
96
96
  */
97
97
  typedef enum
98
98
  {
99
- /* !!! FIXME: change this to name = (1<<x). */
100
99
  SDL_WINDOW_FULLSCREEN = 0x00000001, /**< fullscreen window */
101
100
  SDL_WINDOW_OPENGL = 0x00000002, /**< window usable with OpenGL context */
102
101
  SDL_WINDOW_SHOWN = 0x00000004, /**< window is visible */
@@ -119,7 +118,8 @@ typedef enum
119
118
  SDL_WINDOW_UTILITY = 0x00020000, /**< window should be treated as a utility window */
120
119
  SDL_WINDOW_TOOLTIP = 0x00040000, /**< window should be treated as a tooltip */
121
120
  SDL_WINDOW_POPUP_MENU = 0x00080000, /**< window should be treated as a popup menu */
122
- SDL_WINDOW_VULKAN = 0x10000000 /**< window usable for Vulkan surface */
121
+ SDL_WINDOW_VULKAN = 0x10000000, /**< window usable for Vulkan surface */
122
+ SDL_WINDOW_METAL = 0x20000000 /**< window usable for Metal view */
123
123
  } SDL_WindowFlags;
124
124
 
125
125
  /**
@@ -175,7 +175,9 @@ typedef enum
175
175
  typedef enum
176
176
  {
177
177
  SDL_DISPLAYEVENT_NONE, /**< Never used */
178
- SDL_DISPLAYEVENT_ORIENTATION /**< Display orientation has changed to data1 */
178
+ SDL_DISPLAYEVENT_ORIENTATION, /**< Display orientation has changed to data1 */
179
+ SDL_DISPLAYEVENT_CONNECTED, /**< Display has been added to the system */
180
+ SDL_DISPLAYEVENT_DISCONNECTED /**< Display has been removed from the system */
179
181
  } SDL_DisplayEventID;
180
182
 
181
183
  typedef enum
@@ -485,7 +487,8 @@ extern DECLSPEC Uint32 SDLCALL SDL_GetWindowPixelFormat(SDL_Window * window);
485
487
  * ::SDL_WINDOW_HIDDEN, ::SDL_WINDOW_BORDERLESS,
486
488
  * ::SDL_WINDOW_RESIZABLE, ::SDL_WINDOW_MAXIMIZED,
487
489
  * ::SDL_WINDOW_MINIMIZED, ::SDL_WINDOW_INPUT_GRABBED,
488
- * ::SDL_WINDOW_ALLOW_HIGHDPI, ::SDL_WINDOW_VULKAN.
490
+ * ::SDL_WINDOW_ALLOW_HIGHDPI, ::SDL_WINDOW_VULKAN
491
+ * ::SDL_WINDOW_METAL.
489
492
  *
490
493
  * \return The created window, or NULL if window creation failed.
491
494
  *
@@ -504,6 +507,9 @@ extern DECLSPEC Uint32 SDLCALL SDL_GetWindowPixelFormat(SDL_Window * window);
504
507
  * If SDL_WINDOW_VULKAN is specified and there isn't a working Vulkan driver,
505
508
  * SDL_CreateWindow() will fail because SDL_Vulkan_LoadLibrary() will fail.
506
509
  *
510
+ * If SDL_WINDOW_METAL is specified on an OS that does not support Metal,
511
+ * SDL_CreateWindow() will fail.
512
+ *
507
513
  * \note On non-Apple devices, SDL requires you to either not link to the
508
514
  * Vulkan loader or link to a dynamic library version. This limitation
509
515
  * may be removed in a future version of SDL.
@@ -204,10 +204,9 @@ extern DECLSPEC void SDLCALL SDL_Vulkan_UnloadLibrary(void);
204
204
  *
205
205
  * \sa SDL_Vulkan_CreateSurface()
206
206
  */
207
- extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_GetInstanceExtensions(
208
- SDL_Window *window,
209
- unsigned int *pCount,
210
- const char **pNames);
207
+ extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_GetInstanceExtensions(SDL_Window *window,
208
+ unsigned int *pCount,
209
+ const char **pNames);
211
210
 
212
211
  /**
213
212
  * \brief Create a Vulkan rendering surface for a window.
@@ -238,10 +237,9 @@ extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_GetInstanceExtensions(
238
237
  *
239
238
  * \sa SDL_Vulkan_GetInstanceExtensions()
240
239
  */
241
- extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_CreateSurface(
242
- SDL_Window *window,
243
- VkInstance instance,
244
- VkSurfaceKHR* surface);
240
+ extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_CreateSurface(SDL_Window *window,
241
+ VkInstance instance,
242
+ VkSurfaceKHR* surface);
245
243
 
246
244
  /**
247
245
  * \brief Get the size of a window's underlying drawable in pixels (for use
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -51,15 +51,11 @@
51
51
 
52
52
  /* Some compilers use a special export keyword */
53
53
  #ifndef DECLSPEC
54
- # if defined(__WIN32__) || defined(__WINRT__)
55
- # ifdef __BORLANDC__
56
- # ifdef BUILD_SDL
57
- # define DECLSPEC
58
- # else
59
- # define DECLSPEC __declspec(dllimport)
60
- # endif
61
- # else
54
+ # if defined(__WIN32__) || defined(__WINRT__) || defined(__CYGWIN__)
55
+ # ifdef DLL_EXPORT
62
56
  # define DECLSPEC __declspec(dllexport)
57
+ # else
58
+ # define DECLSPEC
63
59
  # endif
64
60
  # elif defined(__OS2__)
65
61
  # ifdef BUILD_SDL
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file