glfw 1.0.3 → 3.3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +161 -0
  3. data/.yardopts +6 -0
  4. data/Gemfile +2 -4
  5. data/README.md +29 -33
  6. data/Rakefile +6 -4
  7. data/ext/glfw/common.c +159 -0
  8. data/ext/glfw/cursor.c +34 -30
  9. data/ext/glfw/extconf.rb +7 -17
  10. data/ext/glfw/glfw.c +122 -377
  11. data/ext/glfw/glfw.h +46 -41
  12. data/ext/glfw/image.c +96 -64
  13. data/ext/glfw/joystick.c +169 -0
  14. data/ext/glfw/monitor.c +231 -155
  15. data/ext/glfw/stb_image.h +7656 -0
  16. data/ext/glfw/window.c +708 -576
  17. data/glfw.gemspec +10 -9
  18. data/lib/glfw.rb +4 -14
  19. data/lib/glfw/constants.rb +365 -0
  20. data/lib/glfw/stubs.rb +234 -0
  21. data/lib/glfw/stubs/cursor.rb +21 -0
  22. data/lib/glfw/stubs/gamepad_state.rb +30 -0
  23. data/lib/glfw/stubs/image.rb +39 -0
  24. data/lib/glfw/stubs/joystick.rb +125 -0
  25. data/lib/glfw/stubs/monitor.rb +115 -0
  26. data/lib/glfw/stubs/video_mode.rb +32 -0
  27. data/lib/glfw/stubs/window.rb +626 -0
  28. data/lib/glfw/version.rb +8 -1
  29. metadata +31 -35
  30. data/.travis.yml +0 -5
  31. data/Makefile +0 -267
  32. data/ext/glfw/common.h +0 -46
  33. data/ext/glfw/cursor.h +0 -14
  34. data/ext/glfw/glfw3.h +0 -4248
  35. data/ext/glfw/glfw3native.h +0 -456
  36. data/ext/glfw/image.h +0 -14
  37. data/ext/glfw/ming32/WINDOWS USERS PLACE libglf3.a HERE.txt b/data/ext/glfw/ming32/WINDOWS USERS PLACE libglf3.a → HERE.txt +0 -0
  38. data/ext/glfw/ming64/WINDOWS USERS PLACE libglf3.a HERE.txt b/data/ext/glfw/ming64/WINDOWS USERS PLACE libglf3.a → HERE.txt +0 -0
  39. data/ext/glfw/monitor.h +0 -29
  40. data/ext/glfw/video_mode.c +0 -60
  41. data/ext/glfw/video_mode.h +0 -21
  42. data/ext/glfw/vulkan.c +0 -48
  43. data/ext/glfw/vulkan.h +0 -16
  44. data/ext/glfw/window.h +0 -87
@@ -1,456 +0,0 @@
1
- /*************************************************************************
2
- * GLFW 3.2 - www.glfw.org
3
- * A library for OpenGL, window and input
4
- *------------------------------------------------------------------------
5
- * Copyright (c) 2002-2006 Marcus Geelnard
6
- * Copyright (c) 2006-2016 Camilla Berglund <elmindreda@glfw.org>
7
- *
8
- * This software is provided 'as-is', without any express or implied
9
- * warranty. In no event will the authors be held liable for any damages
10
- * arising from the use of this software.
11
- *
12
- * Permission is granted to anyone to use this software for any purpose,
13
- * including commercial applications, and to alter it and redistribute it
14
- * freely, subject to the following restrictions:
15
- *
16
- * 1. The origin of this software must not be misrepresented; you must not
17
- * claim that you wrote the original software. If you use this software
18
- * in a product, an acknowledgment in the product documentation would
19
- * be appreciated but is not required.
20
- *
21
- * 2. Altered source versions must be plainly marked as such, and must not
22
- * be misrepresented as being the original software.
23
- *
24
- * 3. This notice may not be removed or altered from any source
25
- * distribution.
26
- *
27
- *************************************************************************/
28
-
29
- #ifndef _glfw3_native_h_
30
- #define _glfw3_native_h_
31
-
32
- #ifdef __cplusplus
33
- extern "C" {
34
- #endif
35
-
36
-
37
- /*************************************************************************
38
- * Doxygen documentation
39
- *************************************************************************/
40
-
41
- /*! @file glfw3native.h
42
- * @brief The header of the native access functions.
43
- *
44
- * This is the header file of the native access functions. See @ref native for
45
- * more information.
46
- */
47
- /*! @defgroup native Native access
48
- *
49
- * **By using the native access functions you assert that you know what you're
50
- * doing and how to fix problems caused by using them. If you don't, you
51
- * shouldn't be using them.**
52
- *
53
- * Before the inclusion of @ref glfw3native.h, you may define exactly one
54
- * window system API macro and zero or more context creation API macros.
55
- *
56
- * The chosen backends must match those the library was compiled for. Failure
57
- * to do this will cause a link-time error.
58
- *
59
- * The available window API macros are:
60
- * * `GLFW_EXPOSE_NATIVE_WIN32`
61
- * * `GLFW_EXPOSE_NATIVE_COCOA`
62
- * * `GLFW_EXPOSE_NATIVE_X11`
63
- * * `GLFW_EXPOSE_NATIVE_WAYLAND`
64
- * * `GLFW_EXPOSE_NATIVE_MIR`
65
- *
66
- * The available context API macros are:
67
- * * `GLFW_EXPOSE_NATIVE_WGL`
68
- * * `GLFW_EXPOSE_NATIVE_NSGL`
69
- * * `GLFW_EXPOSE_NATIVE_GLX`
70
- * * `GLFW_EXPOSE_NATIVE_EGL`
71
- *
72
- * These macros select which of the native access functions that are declared
73
- * and which platform-specific headers to include. It is then up your (by
74
- * definition platform-specific) code to handle which of these should be
75
- * defined.
76
- */
77
-
78
-
79
- /*************************************************************************
80
- * System headers and types
81
- *************************************************************************/
82
-
83
- #if defined(GLFW_EXPOSE_NATIVE_WIN32)
84
- // This is a workaround for the fact that glfw3.h needs to export APIENTRY (for
85
- // example to allow applications to correctly declare a GL_ARB_debug_output
86
- // callback) but windows.h assumes no one will define APIENTRY before it does
87
- #undef APIENTRY
88
- #include <windows.h>
89
- #elif defined(GLFW_EXPOSE_NATIVE_COCOA)
90
- #include <ApplicationServices/ApplicationServices.h>
91
- #if defined(__OBJC__)
92
- #import <Cocoa/Cocoa.h>
93
- #else
94
- typedef void* id;
95
- #endif
96
- #elif defined(GLFW_EXPOSE_NATIVE_X11)
97
- #include <X11/Xlib.h>
98
- #include <X11/extensions/Xrandr.h>
99
- #elif defined(GLFW_EXPOSE_NATIVE_WAYLAND)
100
- #include <wayland-client.h>
101
- #elif defined(GLFW_EXPOSE_NATIVE_MIR)
102
- #include <mir_toolkit/mir_client_library.h>
103
- #endif
104
-
105
- #if defined(GLFW_EXPOSE_NATIVE_WGL)
106
- /* WGL is declared by windows.h */
107
- #endif
108
- #if defined(GLFW_EXPOSE_NATIVE_NSGL)
109
- /* NSGL is declared by Cocoa.h */
110
- #endif
111
- #if defined(GLFW_EXPOSE_NATIVE_GLX)
112
- #include <GL/glx.h>
113
- #endif
114
- #if defined(GLFW_EXPOSE_NATIVE_EGL)
115
- #include <EGL/egl.h>
116
- #endif
117
-
118
-
119
- /*************************************************************************
120
- * Functions
121
- *************************************************************************/
122
-
123
- #if defined(GLFW_EXPOSE_NATIVE_WIN32)
124
- /*! @brief Returns the adapter device name of the specified monitor.
125
- *
126
- * @return The UTF-8 encoded adapter device name (for example `\\.\DISPLAY1`)
127
- * of the specified monitor, or `NULL` if an [error](@ref error_handling)
128
- * occurred.
129
- *
130
- * @thread_safety This function may be called from any thread. Access is not
131
- * synchronized.
132
- *
133
- * @since Added in version 3.1.
134
- *
135
- * @ingroup native
136
- */
137
- GLFWAPI const char* glfwGetWin32Adapter(GLFWmonitor* monitor);
138
-
139
- /*! @brief Returns the display device name of the specified monitor.
140
- *
141
- * @return The UTF-8 encoded display device name (for example
142
- * `\\.\DISPLAY1\Monitor0`) of the specified monitor, or `NULL` if an
143
- * [error](@ref error_handling) occurred.
144
- *
145
- * @thread_safety This function may be called from any thread. Access is not
146
- * synchronized.
147
- *
148
- * @since Added in version 3.1.
149
- *
150
- * @ingroup native
151
- */
152
- GLFWAPI const char* glfwGetWin32Monitor(GLFWmonitor* monitor);
153
-
154
- /*! @brief Returns the `HWND` of the specified window.
155
- *
156
- * @return The `HWND` of the specified window, or `NULL` if an
157
- * [error](@ref error_handling) occurred.
158
- *
159
- * @thread_safety This function may be called from any thread. Access is not
160
- * synchronized.
161
- *
162
- * @since Added in version 3.0.
163
- *
164
- * @ingroup native
165
- */
166
- GLFWAPI HWND glfwGetWin32Window(GLFWwindow* window);
167
- #endif
168
-
169
- #if defined(GLFW_EXPOSE_NATIVE_WGL)
170
- /*! @brief Returns the `HGLRC` of the specified window.
171
- *
172
- * @return The `HGLRC` of the specified window, or `NULL` if an
173
- * [error](@ref error_handling) occurred.
174
- *
175
- * @thread_safety This function may be called from any thread. Access is not
176
- * synchronized.
177
- *
178
- * @since Added in version 3.0.
179
- *
180
- * @ingroup native
181
- */
182
- GLFWAPI HGLRC glfwGetWGLContext(GLFWwindow* window);
183
- #endif
184
-
185
- #if defined(GLFW_EXPOSE_NATIVE_COCOA)
186
- /*! @brief Returns the `CGDirectDisplayID` of the specified monitor.
187
- *
188
- * @return The `CGDirectDisplayID` of the specified monitor, or
189
- * `kCGNullDirectDisplay` if an [error](@ref error_handling) occurred.
190
- *
191
- * @thread_safety This function may be called from any thread. Access is not
192
- * synchronized.
193
- *
194
- * @since Added in version 3.1.
195
- *
196
- * @ingroup native
197
- */
198
- GLFWAPI CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor);
199
-
200
- /*! @brief Returns the `NSWindow` of the specified window.
201
- *
202
- * @return The `NSWindow` of the specified window, or `nil` if an
203
- * [error](@ref error_handling) occurred.
204
- *
205
- * @thread_safety This function may be called from any thread. Access is not
206
- * synchronized.
207
- *
208
- * @since Added in version 3.0.
209
- *
210
- * @ingroup native
211
- */
212
- GLFWAPI id glfwGetCocoaWindow(GLFWwindow* window);
213
- #endif
214
-
215
- #if defined(GLFW_EXPOSE_NATIVE_NSGL)
216
- /*! @brief Returns the `NSOpenGLContext` of the specified window.
217
- *
218
- * @return The `NSOpenGLContext` of the specified window, or `nil` if an
219
- * [error](@ref error_handling) occurred.
220
- *
221
- * @thread_safety This function may be called from any thread. Access is not
222
- * synchronized.
223
- *
224
- * @since Added in version 3.0.
225
- *
226
- * @ingroup native
227
- */
228
- GLFWAPI id glfwGetNSGLContext(GLFWwindow* window);
229
- #endif
230
-
231
- #if defined(GLFW_EXPOSE_NATIVE_X11)
232
- /*! @brief Returns the `Display` used by GLFW.
233
- *
234
- * @return The `Display` used by GLFW, or `NULL` if an
235
- * [error](@ref error_handling) occurred.
236
- *
237
- * @thread_safety This function may be called from any thread. Access is not
238
- * synchronized.
239
- *
240
- * @since Added in version 3.0.
241
- *
242
- * @ingroup native
243
- */
244
- GLFWAPI Display* glfwGetX11Display(void);
245
-
246
- /*! @brief Returns the `RRCrtc` of the specified monitor.
247
- *
248
- * @return The `RRCrtc` of the specified monitor, or `None` if an
249
- * [error](@ref error_handling) occurred.
250
- *
251
- * @thread_safety This function may be called from any thread. Access is not
252
- * synchronized.
253
- *
254
- * @since Added in version 3.1.
255
- *
256
- * @ingroup native
257
- */
258
- GLFWAPI RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor);
259
-
260
- /*! @brief Returns the `RROutput` of the specified monitor.
261
- *
262
- * @return The `RROutput` of the specified monitor, or `None` if an
263
- * [error](@ref error_handling) occurred.
264
- *
265
- * @thread_safety This function may be called from any thread. Access is not
266
- * synchronized.
267
- *
268
- * @since Added in version 3.1.
269
- *
270
- * @ingroup native
271
- */
272
- GLFWAPI RROutput glfwGetX11Monitor(GLFWmonitor* monitor);
273
-
274
- /*! @brief Returns the `Window` of the specified window.
275
- *
276
- * @return The `Window` of the specified window, or `None` if an
277
- * [error](@ref error_handling) occurred.
278
- *
279
- * @thread_safety This function may be called from any thread. Access is not
280
- * synchronized.
281
- *
282
- * @since Added in version 3.0.
283
- *
284
- * @ingroup native
285
- */
286
- GLFWAPI Window glfwGetX11Window(GLFWwindow* window);
287
- #endif
288
-
289
- #if defined(GLFW_EXPOSE_NATIVE_GLX)
290
- /*! @brief Returns the `GLXContext` of the specified window.
291
- *
292
- * @return The `GLXContext` of the specified window, or `NULL` if an
293
- * [error](@ref error_handling) occurred.
294
- *
295
- * @thread_safety This function may be called from any thread. Access is not
296
- * synchronized.
297
- *
298
- * @since Added in version 3.0.
299
- *
300
- * @ingroup native
301
- */
302
- GLFWAPI GLXContext glfwGetGLXContext(GLFWwindow* window);
303
-
304
- /*! @brief Returns the `GLXWindow` of the specified window.
305
- *
306
- * @return The `GLXWindow` of the specified window, or `None` if an
307
- * [error](@ref error_handling) occurred.
308
- *
309
- * @thread_safety This function may be called from any thread. Access is not
310
- * synchronized.
311
- *
312
- * @since Added in version 3.2.
313
- *
314
- * @ingroup native
315
- */
316
- GLFWAPI GLXWindow glfwGetGLXWindow(GLFWwindow* window);
317
- #endif
318
-
319
- #if defined(GLFW_EXPOSE_NATIVE_WAYLAND)
320
- /*! @brief Returns the `struct wl_display*` used by GLFW.
321
- *
322
- * @return The `struct wl_display*` used by GLFW, or `NULL` if an
323
- * [error](@ref error_handling) occurred.
324
- *
325
- * @thread_safety This function may be called from any thread. Access is not
326
- * synchronized.
327
- *
328
- * @since Added in version 3.2.
329
- *
330
- * @ingroup native
331
- */
332
- GLFWAPI struct wl_display* glfwGetWaylandDisplay(void);
333
-
334
- /*! @brief Returns the `struct wl_output*` of the specified monitor.
335
- *
336
- * @return The `struct wl_output*` of the specified monitor, or `NULL` if an
337
- * [error](@ref error_handling) occurred.
338
- *
339
- * @thread_safety This function may be called from any thread. Access is not
340
- * synchronized.
341
- *
342
- * @since Added in version 3.2.
343
- *
344
- * @ingroup native
345
- */
346
- GLFWAPI struct wl_output* glfwGetWaylandMonitor(GLFWmonitor* monitor);
347
-
348
- /*! @brief Returns the main `struct wl_surface*` of the specified window.
349
- *
350
- * @return The main `struct wl_surface*` of the specified window, or `NULL` if
351
- * an [error](@ref error_handling) occurred.
352
- *
353
- * @thread_safety This function may be called from any thread. Access is not
354
- * synchronized.
355
- *
356
- * @since Added in version 3.2.
357
- *
358
- * @ingroup native
359
- */
360
- GLFWAPI struct wl_surface* glfwGetWaylandWindow(GLFWwindow* window);
361
- #endif
362
-
363
- #if defined(GLFW_EXPOSE_NATIVE_MIR)
364
- /*! @brief Returns the `MirConnection*` used by GLFW.
365
- *
366
- * @return The `MirConnection*` used by GLFW, or `NULL` if an
367
- * [error](@ref error_handling) occurred.
368
- *
369
- * @thread_safety This function may be called from any thread. Access is not
370
- * synchronized.
371
- *
372
- * @since Added in version 3.2.
373
- *
374
- * @ingroup native
375
- */
376
- GLFWAPI MirConnection* glfwGetMirDisplay(void);
377
-
378
- /*! @brief Returns the Mir output ID of the specified monitor.
379
- *
380
- * @return The Mir output ID of the specified monitor, or zero if an
381
- * [error](@ref error_handling) occurred.
382
- *
383
- * @thread_safety This function may be called from any thread. Access is not
384
- * synchronized.
385
- *
386
- * @since Added in version 3.2.
387
- *
388
- * @ingroup native
389
- */
390
- GLFWAPI int glfwGetMirMonitor(GLFWmonitor* monitor);
391
-
392
- /*! @brief Returns the `MirSurface*` of the specified window.
393
- *
394
- * @return The `MirSurface*` of the specified window, or `NULL` if an
395
- * [error](@ref error_handling) occurred.
396
- *
397
- * @thread_safety This function may be called from any thread. Access is not
398
- * synchronized.
399
- *
400
- * @since Added in version 3.2.
401
- *
402
- * @ingroup native
403
- */
404
- GLFWAPI MirSurface* glfwGetMirWindow(GLFWwindow* window);
405
- #endif
406
-
407
- #if defined(GLFW_EXPOSE_NATIVE_EGL)
408
- /*! @brief Returns the `EGLDisplay` used by GLFW.
409
- *
410
- * @return The `EGLDisplay` used by GLFW, or `EGL_NO_DISPLAY` if an
411
- * [error](@ref error_handling) occurred.
412
- *
413
- * @thread_safety This function may be called from any thread. Access is not
414
- * synchronized.
415
- *
416
- * @since Added in version 3.0.
417
- *
418
- * @ingroup native
419
- */
420
- GLFWAPI EGLDisplay glfwGetEGLDisplay(void);
421
-
422
- /*! @brief Returns the `EGLContext` of the specified window.
423
- *
424
- * @return The `EGLContext` of the specified window, or `EGL_NO_CONTEXT` if an
425
- * [error](@ref error_handling) occurred.
426
- *
427
- * @thread_safety This function may be called from any thread. Access is not
428
- * synchronized.
429
- *
430
- * @since Added in version 3.0.
431
- *
432
- * @ingroup native
433
- */
434
- GLFWAPI EGLContext glfwGetEGLContext(GLFWwindow* window);
435
-
436
- /*! @brief Returns the `EGLSurface` of the specified window.
437
- *
438
- * @return The `EGLSurface` of the specified window, or `EGL_NO_SURFACE` if an
439
- * [error](@ref error_handling) occurred.
440
- *
441
- * @thread_safety This function may be called from any thread. Access is not
442
- * synchronized.
443
- *
444
- * @since Added in version 3.0.
445
- *
446
- * @ingroup native
447
- */
448
- GLFWAPI EGLSurface glfwGetEGLSurface(GLFWwindow* window);
449
- #endif
450
-
451
- #ifdef __cplusplus
452
- }
453
- #endif
454
-
455
- #endif /* _glfw3_native_h_ */
456
-