aboutsummaryrefslogtreecommitdiff
path: root/raylib/src/external/glfw/include/GLFW/glfw3native.h
diff options
context:
space:
mode:
Diffstat (limited to 'raylib/src/external/glfw/include/GLFW/glfw3native.h')
-rw-r--r--raylib/src/external/glfw/include/GLFW/glfw3native.h663
1 files changed, 663 insertions, 0 deletions
diff --git a/raylib/src/external/glfw/include/GLFW/glfw3native.h b/raylib/src/external/glfw/include/GLFW/glfw3native.h
new file mode 100644
index 0000000..92f0d32
--- /dev/null
+++ b/raylib/src/external/glfw/include/GLFW/glfw3native.h
@@ -0,0 +1,663 @@
1/*************************************************************************
2 * GLFW 3.4 - www.glfw.org
3 * A library for OpenGL, window and input
4 *------------------------------------------------------------------------
5 * Copyright (c) 2002-2006 Marcus Geelnard
6 * Copyright (c) 2006-2018 Camilla Löwy <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
33extern "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 * @brief Functions related to accessing native handles.
49 *
50 * **By using the native access functions you assert that you know what you're
51 * doing and how to fix problems caused by using them. If you don't, you
52 * shouldn't be using them.**
53 *
54 * Before the inclusion of @ref glfw3native.h, you may define zero or more
55 * window system API macro and zero or more context creation API macros.
56 *
57 * The chosen backends must match those the library was compiled for. Failure
58 * to do this will cause a link-time error.
59 *
60 * The available window API macros are:
61 * * `GLFW_EXPOSE_NATIVE_WIN32`
62 * * `GLFW_EXPOSE_NATIVE_COCOA`
63 * * `GLFW_EXPOSE_NATIVE_X11`
64 * * `GLFW_EXPOSE_NATIVE_WAYLAND`
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 * * `GLFW_EXPOSE_NATIVE_OSMESA`
72 *
73 * These macros select which of the native access functions that are declared
74 * and which platform-specific headers to include. It is then up your (by
75 * definition platform-specific) code to handle which of these should be
76 * defined.
77 *
78 * If you do not want the platform-specific headers to be included, define
79 * `GLFW_NATIVE_INCLUDE_NONE` before including the @ref glfw3native.h header.
80 *
81 * @code
82 * #define GLFW_EXPOSE_NATIVE_WIN32
83 * #define GLFW_EXPOSE_NATIVE_WGL
84 * #define GLFW_NATIVE_INCLUDE_NONE
85 * #include <GLFW/glfw3native.h>
86 * @endcode
87 */
88
89
90/*************************************************************************
91 * System headers and types
92 *************************************************************************/
93
94#if !defined(GLFW_NATIVE_INCLUDE_NONE)
95
96 #if defined(GLFW_EXPOSE_NATIVE_WIN32) || defined(GLFW_EXPOSE_NATIVE_WGL)
97 /* This is a workaround for the fact that glfw3.h needs to export APIENTRY (for
98 * example to allow applications to correctly declare a GL_KHR_debug callback)
99 * but windows.h assumes no one will define APIENTRY before it does
100 */
101 #if defined(GLFW_APIENTRY_DEFINED)
102 #undef APIENTRY
103 #undef GLFW_APIENTRY_DEFINED
104 #endif
105 #include <windows.h>
106 #endif
107
108 #if defined(GLFW_EXPOSE_NATIVE_COCOA) || defined(GLFW_EXPOSE_NATIVE_NSGL)
109 #if defined(__OBJC__)
110 #import <Cocoa/Cocoa.h>
111 #else
112 #include <ApplicationServices/ApplicationServices.h>
113 #include <objc/objc.h>
114 #endif
115 #endif
116
117 #if defined(GLFW_EXPOSE_NATIVE_X11) || defined(GLFW_EXPOSE_NATIVE_GLX)
118 #include <X11/Xlib.h>
119 #include <X11/extensions/Xrandr.h>
120 #endif
121
122 #if defined(GLFW_EXPOSE_NATIVE_WAYLAND)
123 #include <wayland-client.h>
124 #endif
125
126 #if defined(GLFW_EXPOSE_NATIVE_WGL)
127 /* WGL is declared by windows.h */
128 #endif
129 #if defined(GLFW_EXPOSE_NATIVE_NSGL)
130 /* NSGL is declared by Cocoa.h */
131 #endif
132 #if defined(GLFW_EXPOSE_NATIVE_GLX)
133 /* This is a workaround for the fact that glfw3.h defines GLAPIENTRY because by
134 * default it also acts as an OpenGL header
135 * However, glx.h will include gl.h, which will define it unconditionally
136 */
137 #if defined(GLFW_GLAPIENTRY_DEFINED)
138 #undef GLAPIENTRY
139 #undef GLFW_GLAPIENTRY_DEFINED
140 #endif
141 #include <GL/glx.h>
142 #endif
143 #if defined(GLFW_EXPOSE_NATIVE_EGL)
144 #include <EGL/egl.h>
145 #endif
146 #if defined(GLFW_EXPOSE_NATIVE_OSMESA)
147 /* This is a workaround for the fact that glfw3.h defines GLAPIENTRY because by
148 * default it also acts as an OpenGL header
149 * However, osmesa.h will include gl.h, which will define it unconditionally
150 */
151 #if defined(GLFW_GLAPIENTRY_DEFINED)
152 #undef GLAPIENTRY
153 #undef GLFW_GLAPIENTRY_DEFINED
154 #endif
155 #include <GL/osmesa.h>
156 #endif
157
158#endif /*GLFW_NATIVE_INCLUDE_NONE*/
159
160
161/*************************************************************************
162 * Functions
163 *************************************************************************/
164
165#if defined(GLFW_EXPOSE_NATIVE_WIN32)
166/*! @brief Returns the adapter device name of the specified monitor.
167 *
168 * @return The UTF-8 encoded adapter device name (for example `\\.\DISPLAY1`)
169 * of the specified monitor, or `NULL` if an [error](@ref error_handling)
170 * occurred.
171 *
172 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
173 * GLFW_PLATFORM_UNAVAILABLE.
174 *
175 * @thread_safety This function may be called from any thread. Access is not
176 * synchronized.
177 *
178 * @since Added in version 3.1.
179 *
180 * @ingroup native
181 */
182GLFWAPI const char* glfwGetWin32Adapter(GLFWmonitor* monitor);
183
184/*! @brief Returns the display device name of the specified monitor.
185 *
186 * @return The UTF-8 encoded display device name (for example
187 * `\\.\DISPLAY1\Monitor0`) of the specified monitor, or `NULL` if an
188 * [error](@ref error_handling) occurred.
189 *
190 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
191 * GLFW_PLATFORM_UNAVAILABLE.
192 *
193 * @thread_safety This function may be called from any thread. Access is not
194 * synchronized.
195 *
196 * @since Added in version 3.1.
197 *
198 * @ingroup native
199 */
200GLFWAPI const char* glfwGetWin32Monitor(GLFWmonitor* monitor);
201
202/*! @brief Returns the `HWND` of the specified window.
203 *
204 * @return The `HWND` of the specified window, or `NULL` if an
205 * [error](@ref error_handling) occurred.
206 *
207 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
208 * GLFW_PLATFORM_UNAVAILABLE.
209 *
210 * @remark The `HDC` associated with the window can be queried with the
211 * [GetDC](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getdc)
212 * function.
213 * @code
214 * HDC dc = GetDC(glfwGetWin32Window(window));
215 * @endcode
216 * This DC is private and does not need to be released.
217 *
218 * @thread_safety This function may be called from any thread. Access is not
219 * synchronized.
220 *
221 * @since Added in version 3.0.
222 *
223 * @ingroup native
224 */
225GLFWAPI HWND glfwGetWin32Window(GLFWwindow* window);
226#endif
227
228#if defined(GLFW_EXPOSE_NATIVE_WGL)
229/*! @brief Returns the `HGLRC` of the specified window.
230 *
231 * @return The `HGLRC` of the specified window, or `NULL` if an
232 * [error](@ref error_handling) occurred.
233 *
234 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref
235 * GLFW_PLATFORM_UNAVAILABLE and @ref GLFW_NO_WINDOW_CONTEXT.
236 *
237 * @remark The `HDC` associated with the window can be queried with the
238 * [GetDC](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getdc)
239 * function.
240 * @code
241 * HDC dc = GetDC(glfwGetWin32Window(window));
242 * @endcode
243 * This DC is private and does not need to be released.
244 *
245 * @thread_safety This function may be called from any thread. Access is not
246 * synchronized.
247 *
248 * @since Added in version 3.0.
249 *
250 * @ingroup native
251 */
252GLFWAPI HGLRC glfwGetWGLContext(GLFWwindow* window);
253#endif
254
255#if defined(GLFW_EXPOSE_NATIVE_COCOA)
256/*! @brief Returns the `CGDirectDisplayID` of the specified monitor.
257 *
258 * @return The `CGDirectDisplayID` of the specified monitor, or
259 * `kCGNullDirectDisplay` if an [error](@ref error_handling) occurred.
260 *
261 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
262 * GLFW_PLATFORM_UNAVAILABLE.
263 *
264 * @thread_safety This function may be called from any thread. Access is not
265 * synchronized.
266 *
267 * @since Added in version 3.1.
268 *
269 * @ingroup native
270 */
271GLFWAPI CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor);
272
273/*! @brief Returns the `NSWindow` of the specified window.
274 *
275 * @return The `NSWindow` of the specified window, or `nil` if an
276 * [error](@ref error_handling) occurred.
277 *
278 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
279 * GLFW_PLATFORM_UNAVAILABLE.
280 *
281 * @thread_safety This function may be called from any thread. Access is not
282 * synchronized.
283 *
284 * @since Added in version 3.0.
285 *
286 * @ingroup native
287 */
288GLFWAPI id glfwGetCocoaWindow(GLFWwindow* window);
289
290/*! @brief Returns the `NSView` of the specified window.
291 *
292 * @return The `NSView` of the specified window, or `nil` if an
293 * [error](@ref error_handling) occurred.
294 *
295 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
296 * GLFW_PLATFORM_UNAVAILABLE.
297 *
298 * @thread_safety This function may be called from any thread. Access is not
299 * synchronized.
300 *
301 * @since Added in version 3.4.
302 *
303 * @ingroup native
304 */
305GLFWAPI id glfwGetCocoaView(GLFWwindow* window);
306#endif
307
308#if defined(GLFW_EXPOSE_NATIVE_NSGL)
309/*! @brief Returns the `NSOpenGLContext` of the specified window.
310 *
311 * @return The `NSOpenGLContext` of the specified window, or `nil` if an
312 * [error](@ref error_handling) occurred.
313 *
314 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref
315 * GLFW_PLATFORM_UNAVAILABLE and @ref GLFW_NO_WINDOW_CONTEXT.
316 *
317 * @thread_safety This function may be called from any thread. Access is not
318 * synchronized.
319 *
320 * @since Added in version 3.0.
321 *
322 * @ingroup native
323 */
324GLFWAPI id glfwGetNSGLContext(GLFWwindow* window);
325#endif
326
327#if defined(GLFW_EXPOSE_NATIVE_X11)
328/*! @brief Returns the `Display` used by GLFW.
329 *
330 * @return The `Display` used by GLFW, or `NULL` if an
331 * [error](@ref error_handling) occurred.
332 *
333 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
334 * GLFW_PLATFORM_UNAVAILABLE.
335 *
336 * @thread_safety This function may be called from any thread. Access is not
337 * synchronized.
338 *
339 * @since Added in version 3.0.
340 *
341 * @ingroup native
342 */
343GLFWAPI Display* glfwGetX11Display(void);
344
345/*! @brief Returns the `RRCrtc` of the specified monitor.
346 *
347 * @return The `RRCrtc` of the specified monitor, or `None` if an
348 * [error](@ref error_handling) occurred.
349 *
350 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
351 * GLFW_PLATFORM_UNAVAILABLE.
352 *
353 * @thread_safety This function may be called from any thread. Access is not
354 * synchronized.
355 *
356 * @since Added in version 3.1.
357 *
358 * @ingroup native
359 */
360GLFWAPI RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor);
361
362/*! @brief Returns the `RROutput` of the specified monitor.
363 *
364 * @return The `RROutput` of the specified monitor, or `None` if an
365 * [error](@ref error_handling) occurred.
366 *
367 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
368 * GLFW_PLATFORM_UNAVAILABLE.
369 *
370 * @thread_safety This function may be called from any thread. Access is not
371 * synchronized.
372 *
373 * @since Added in version 3.1.
374 *
375 * @ingroup native
376 */
377GLFWAPI RROutput glfwGetX11Monitor(GLFWmonitor* monitor);
378
379/*! @brief Returns the `Window` of the specified window.
380 *
381 * @return The `Window` of the specified window, or `None` if an
382 * [error](@ref error_handling) occurred.
383 *
384 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
385 * GLFW_PLATFORM_UNAVAILABLE.
386 *
387 * @thread_safety This function may be called from any thread. Access is not
388 * synchronized.
389 *
390 * @since Added in version 3.0.
391 *
392 * @ingroup native
393 */
394GLFWAPI Window glfwGetX11Window(GLFWwindow* window);
395
396/*! @brief Sets the current primary selection to the specified string.
397 *
398 * @param[in] string A UTF-8 encoded string.
399 *
400 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref
401 * GLFW_PLATFORM_UNAVAILABLE and @ref GLFW_PLATFORM_ERROR.
402 *
403 * @pointer_lifetime The specified string is copied before this function
404 * returns.
405 *
406 * @thread_safety This function must only be called from the main thread.
407 *
408 * @sa @ref clipboard
409 * @sa glfwGetX11SelectionString
410 * @sa glfwSetClipboardString
411 *
412 * @since Added in version 3.3.
413 *
414 * @ingroup native
415 */
416GLFWAPI void glfwSetX11SelectionString(const char* string);
417
418/*! @brief Returns the contents of the current primary selection as a string.
419 *
420 * If the selection is empty or if its contents cannot be converted, `NULL`
421 * is returned and a @ref GLFW_FORMAT_UNAVAILABLE error is generated.
422 *
423 * @return The contents of the selection as a UTF-8 encoded string, or `NULL`
424 * if an [error](@ref error_handling) occurred.
425 *
426 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref
427 * GLFW_PLATFORM_UNAVAILABLE and @ref GLFW_PLATFORM_ERROR.
428 *
429 * @pointer_lifetime The returned string is allocated and freed by GLFW. You
430 * should not free it yourself. It is valid until the next call to @ref
431 * glfwGetX11SelectionString or @ref glfwSetX11SelectionString, or until the
432 * library is terminated.
433 *
434 * @thread_safety This function must only be called from the main thread.
435 *
436 * @sa @ref clipboard
437 * @sa glfwSetX11SelectionString
438 * @sa glfwGetClipboardString
439 *
440 * @since Added in version 3.3.
441 *
442 * @ingroup native
443 */
444GLFWAPI const char* glfwGetX11SelectionString(void);
445#endif
446
447#if defined(GLFW_EXPOSE_NATIVE_GLX)
448/*! @brief Returns the `GLXContext` of the specified window.
449 *
450 * @return The `GLXContext` of the specified window, or `NULL` if an
451 * [error](@ref error_handling) occurred.
452 *
453 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref
454 * GLFW_NO_WINDOW_CONTEXT and @ref GLFW_PLATFORM_UNAVAILABLE.
455 *
456 * @thread_safety This function may be called from any thread. Access is not
457 * synchronized.
458 *
459 * @since Added in version 3.0.
460 *
461 * @ingroup native
462 */
463GLFWAPI GLXContext glfwGetGLXContext(GLFWwindow* window);
464
465/*! @brief Returns the `GLXWindow` of the specified window.
466 *
467 * @return The `GLXWindow` of the specified window, or `None` if an
468 * [error](@ref error_handling) occurred.
469 *
470 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref
471 * GLFW_NO_WINDOW_CONTEXT and @ref GLFW_PLATFORM_UNAVAILABLE.
472 *
473 * @thread_safety This function may be called from any thread. Access is not
474 * synchronized.
475 *
476 * @since Added in version 3.2.
477 *
478 * @ingroup native
479 */
480GLFWAPI GLXWindow glfwGetGLXWindow(GLFWwindow* window);
481#endif
482
483#if defined(GLFW_EXPOSE_NATIVE_WAYLAND)
484/*! @brief Returns the `struct wl_display*` used by GLFW.
485 *
486 * @return The `struct wl_display*` used by GLFW, or `NULL` if an
487 * [error](@ref error_handling) occurred.
488 *
489 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
490 * GLFW_PLATFORM_UNAVAILABLE.
491 *
492 * @thread_safety This function may be called from any thread. Access is not
493 * synchronized.
494 *
495 * @since Added in version 3.2.
496 *
497 * @ingroup native
498 */
499GLFWAPI struct wl_display* glfwGetWaylandDisplay(void);
500
501/*! @brief Returns the `struct wl_output*` of the specified monitor.
502 *
503 * @return The `struct wl_output*` of the specified monitor, or `NULL` if an
504 * [error](@ref error_handling) occurred.
505 *
506 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
507 * GLFW_PLATFORM_UNAVAILABLE.
508 *
509 * @thread_safety This function may be called from any thread. Access is not
510 * synchronized.
511 *
512 * @since Added in version 3.2.
513 *
514 * @ingroup native
515 */
516GLFWAPI struct wl_output* glfwGetWaylandMonitor(GLFWmonitor* monitor);
517
518/*! @brief Returns the main `struct wl_surface*` of the specified window.
519 *
520 * @return The main `struct wl_surface*` of the specified window, or `NULL` if
521 * an [error](@ref error_handling) occurred.
522 *
523 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
524 * GLFW_PLATFORM_UNAVAILABLE.
525 *
526 * @thread_safety This function may be called from any thread. Access is not
527 * synchronized.
528 *
529 * @since Added in version 3.2.
530 *
531 * @ingroup native
532 */
533GLFWAPI struct wl_surface* glfwGetWaylandWindow(GLFWwindow* window);
534#endif
535
536#if defined(GLFW_EXPOSE_NATIVE_EGL)
537/*! @brief Returns the `EGLDisplay` used by GLFW.
538 *
539 * @return The `EGLDisplay` used by GLFW, or `EGL_NO_DISPLAY` if an
540 * [error](@ref error_handling) occurred.
541 *
542 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
543 *
544 * @remark Because EGL is initialized on demand, this function will return
545 * `EGL_NO_DISPLAY` until the first context has been created via EGL.
546 *
547 * @thread_safety This function may be called from any thread. Access is not
548 * synchronized.
549 *
550 * @since Added in version 3.0.
551 *
552 * @ingroup native
553 */
554GLFWAPI EGLDisplay glfwGetEGLDisplay(void);
555
556/*! @brief Returns the `EGLContext` of the specified window.
557 *
558 * @return The `EGLContext` of the specified window, or `EGL_NO_CONTEXT` if an
559 * [error](@ref error_handling) occurred.
560 *
561 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
562 * GLFW_NO_WINDOW_CONTEXT.
563 *
564 * @thread_safety This function may be called from any thread. Access is not
565 * synchronized.
566 *
567 * @since Added in version 3.0.
568 *
569 * @ingroup native
570 */
571GLFWAPI EGLContext glfwGetEGLContext(GLFWwindow* window);
572
573/*! @brief Returns the `EGLSurface` of the specified window.
574 *
575 * @return The `EGLSurface` of the specified window, or `EGL_NO_SURFACE` if an
576 * [error](@ref error_handling) occurred.
577 *
578 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
579 * GLFW_NO_WINDOW_CONTEXT.
580 *
581 * @thread_safety This function may be called from any thread. Access is not
582 * synchronized.
583 *
584 * @since Added in version 3.0.
585 *
586 * @ingroup native
587 */
588GLFWAPI EGLSurface glfwGetEGLSurface(GLFWwindow* window);
589#endif
590
591#if defined(GLFW_EXPOSE_NATIVE_OSMESA)
592/*! @brief Retrieves the color buffer associated with the specified window.
593 *
594 * @param[in] window The window whose color buffer to retrieve.
595 * @param[out] width Where to store the width of the color buffer, or `NULL`.
596 * @param[out] height Where to store the height of the color buffer, or `NULL`.
597 * @param[out] format Where to store the OSMesa pixel format of the color
598 * buffer, or `NULL`.
599 * @param[out] buffer Where to store the address of the color buffer, or
600 * `NULL`.
601 * @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an
602 * [error](@ref error_handling) occurred.
603 *
604 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
605 * GLFW_NO_WINDOW_CONTEXT.
606 *
607 * @thread_safety This function may be called from any thread. Access is not
608 * synchronized.
609 *
610 * @since Added in version 3.3.
611 *
612 * @ingroup native
613 */
614GLFWAPI int glfwGetOSMesaColorBuffer(GLFWwindow* window, int* width, int* height, int* format, void** buffer);
615
616/*! @brief Retrieves the depth buffer associated with the specified window.
617 *
618 * @param[in] window The window whose depth buffer to retrieve.
619 * @param[out] width Where to store the width of the depth buffer, or `NULL`.
620 * @param[out] height Where to store the height of the depth buffer, or `NULL`.
621 * @param[out] bytesPerValue Where to store the number of bytes per depth
622 * buffer element, or `NULL`.
623 * @param[out] buffer Where to store the address of the depth buffer, or
624 * `NULL`.
625 * @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an
626 * [error](@ref error_handling) occurred.
627 *
628 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
629 * GLFW_NO_WINDOW_CONTEXT.
630 *
631 * @thread_safety This function may be called from any thread. Access is not
632 * synchronized.
633 *
634 * @since Added in version 3.3.
635 *
636 * @ingroup native
637 */
638GLFWAPI int glfwGetOSMesaDepthBuffer(GLFWwindow* window, int* width, int* height, int* bytesPerValue, void** buffer);
639
640/*! @brief Returns the `OSMesaContext` of the specified window.
641 *
642 * @return The `OSMesaContext` of the specified window, or `NULL` if an
643 * [error](@ref error_handling) occurred.
644 *
645 * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
646 * GLFW_NO_WINDOW_CONTEXT.
647 *
648 * @thread_safety This function may be called from any thread. Access is not
649 * synchronized.
650 *
651 * @since Added in version 3.3.
652 *
653 * @ingroup native
654 */
655GLFWAPI OSMesaContext glfwGetOSMesaContext(GLFWwindow* window);
656#endif
657
658#ifdef __cplusplus
659}
660#endif
661
662#endif /* _glfw3_native_h_ */
663

Generated with cgit - Back to sebastiano.tronto.net