diff options
Diffstat (limited to 'externals/glfw-3.1.1.bin/include/GLFW/glfw3native.h')
| -rw-r--r-- | externals/glfw-3.1.1.bin/include/GLFW/glfw3native.h | 356 |
1 files changed, 356 insertions, 0 deletions
diff --git a/externals/glfw-3.1.1.bin/include/GLFW/glfw3native.h b/externals/glfw-3.1.1.bin/include/GLFW/glfw3native.h new file mode 100644 index 000000000..b3ce7482d --- /dev/null +++ b/externals/glfw-3.1.1.bin/include/GLFW/glfw3native.h | |||
| @@ -0,0 +1,356 @@ | |||
| 1 | /************************************************************************* | ||
| 2 | * GLFW 3.1 - www.glfw.org | ||
| 3 | * A library for OpenGL, window and input | ||
| 4 | *------------------------------------------------------------------------ | ||
| 5 | * Copyright (c) 2002-2006 Marcus Geelnard | ||
| 6 | * Copyright (c) 2006-2010 Camilla Berglund <elmindreda@elmindreda.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 | /*! @defgroup native Native access | ||
| 42 | * | ||
| 43 | * **By using the native access functions you assert that you know what you're | ||
| 44 | * doing and how to fix problems caused by using them. If you don't, you | ||
| 45 | * shouldn't be using them.** | ||
| 46 | * | ||
| 47 | * Before the inclusion of @ref glfw3native.h, you must define exactly one | ||
| 48 | * window system API macro and exactly one context creation API macro. Failure | ||
| 49 | * to do this will cause a compile-time error. | ||
| 50 | * | ||
| 51 | * The available window API macros are: | ||
| 52 | * * `GLFW_EXPOSE_NATIVE_WIN32` | ||
| 53 | * * `GLFW_EXPOSE_NATIVE_COCOA` | ||
| 54 | * * `GLFW_EXPOSE_NATIVE_X11` | ||
| 55 | * | ||
| 56 | * The available context API macros are: | ||
| 57 | * * `GLFW_EXPOSE_NATIVE_WGL` | ||
| 58 | * * `GLFW_EXPOSE_NATIVE_NSGL` | ||
| 59 | * * `GLFW_EXPOSE_NATIVE_GLX` | ||
| 60 | * * `GLFW_EXPOSE_NATIVE_EGL` | ||
| 61 | * | ||
| 62 | * These macros select which of the native access functions that are declared | ||
| 63 | * and which platform-specific headers to include. It is then up your (by | ||
| 64 | * definition platform-specific) code to handle which of these should be | ||
| 65 | * defined. | ||
| 66 | */ | ||
| 67 | |||
| 68 | |||
| 69 | /************************************************************************* | ||
| 70 | * System headers and types | ||
| 71 | *************************************************************************/ | ||
| 72 | |||
| 73 | #if defined(GLFW_EXPOSE_NATIVE_WIN32) | ||
| 74 | // This is a workaround for the fact that glfw3.h needs to export APIENTRY (for | ||
| 75 | // example to allow applications to correctly declare a GL_ARB_debug_output | ||
| 76 | // callback) but windows.h assumes no one will define APIENTRY before it does | ||
| 77 | #undef APIENTRY | ||
| 78 | #include <windows.h> | ||
| 79 | #elif defined(GLFW_EXPOSE_NATIVE_COCOA) | ||
| 80 | #include <ApplicationServices/ApplicationServices.h> | ||
| 81 | #if defined(__OBJC__) | ||
| 82 | #import <Cocoa/Cocoa.h> | ||
| 83 | #else | ||
| 84 | typedef void* id; | ||
| 85 | #endif | ||
| 86 | #elif defined(GLFW_EXPOSE_NATIVE_X11) | ||
| 87 | #include <X11/Xlib.h> | ||
| 88 | #include <X11/extensions/Xrandr.h> | ||
| 89 | #else | ||
| 90 | #error "No window API selected" | ||
| 91 | #endif | ||
| 92 | |||
| 93 | #if defined(GLFW_EXPOSE_NATIVE_WGL) | ||
| 94 | /* WGL is declared by windows.h */ | ||
| 95 | #elif defined(GLFW_EXPOSE_NATIVE_NSGL) | ||
| 96 | /* NSGL is declared by Cocoa.h */ | ||
| 97 | #elif defined(GLFW_EXPOSE_NATIVE_GLX) | ||
| 98 | #include <GL/glx.h> | ||
| 99 | #elif defined(GLFW_EXPOSE_NATIVE_EGL) | ||
| 100 | #include <EGL/egl.h> | ||
| 101 | #else | ||
| 102 | #error "No context API selected" | ||
| 103 | #endif | ||
| 104 | |||
| 105 | |||
| 106 | /************************************************************************* | ||
| 107 | * Functions | ||
| 108 | *************************************************************************/ | ||
| 109 | |||
| 110 | #if defined(GLFW_EXPOSE_NATIVE_WIN32) | ||
| 111 | /*! @brief Returns the adapter device name of the specified monitor. | ||
| 112 | * | ||
| 113 | * @return The UTF-8 encoded adapter device name (for example `\\.\DISPLAY1`) | ||
| 114 | * of the specified monitor, or `NULL` if an [error](@ref error_handling) | ||
| 115 | * occurred. | ||
| 116 | * | ||
| 117 | * @par Thread Safety | ||
| 118 | * This function may be called from any thread. Access is not synchronized. | ||
| 119 | * | ||
| 120 | * @par History | ||
| 121 | * Added in GLFW 3.1. | ||
| 122 | * | ||
| 123 | * @ingroup native | ||
| 124 | */ | ||
| 125 | GLFWAPI const char* glfwGetWin32Adapter(GLFWmonitor* monitor); | ||
| 126 | |||
| 127 | /*! @brief Returns the display device name of the specified monitor. | ||
| 128 | * | ||
| 129 | * @return The UTF-8 encoded display device name (for example | ||
| 130 | * `\\.\DISPLAY1\Monitor0`) of the specified monitor, or `NULL` if an | ||
| 131 | * [error](@ref error_handling) occurred. | ||
| 132 | * | ||
| 133 | * @par Thread Safety | ||
| 134 | * This function may be called from any thread. Access is not synchronized. | ||
| 135 | * | ||
| 136 | * @par History | ||
| 137 | * Added in GLFW 3.1. | ||
| 138 | * | ||
| 139 | * @ingroup native | ||
| 140 | */ | ||
| 141 | GLFWAPI const char* glfwGetWin32Monitor(GLFWmonitor* monitor); | ||
| 142 | |||
| 143 | /*! @brief Returns the `HWND` of the specified window. | ||
| 144 | * | ||
| 145 | * @return The `HWND` of the specified window, or `NULL` if an | ||
| 146 | * [error](@ref error_handling) occurred. | ||
| 147 | * | ||
| 148 | * @par Thread Safety | ||
| 149 | * This function may be called from any thread. Access is not synchronized. | ||
| 150 | * | ||
| 151 | * @par History | ||
| 152 | * Added in GLFW 3.0. | ||
| 153 | * | ||
| 154 | * @ingroup native | ||
| 155 | */ | ||
| 156 | GLFWAPI HWND glfwGetWin32Window(GLFWwindow* window); | ||
| 157 | #endif | ||
| 158 | |||
| 159 | #if defined(GLFW_EXPOSE_NATIVE_WGL) | ||
| 160 | /*! @brief Returns the `HGLRC` of the specified window. | ||
| 161 | * | ||
| 162 | * @return The `HGLRC` of the specified window, or `NULL` if an | ||
| 163 | * [error](@ref error_handling) occurred. | ||
| 164 | * | ||
| 165 | * @par Thread Safety | ||
| 166 | * This function may be called from any thread. Access is not synchronized. | ||
| 167 | * | ||
| 168 | * @par History | ||
| 169 | * Added in GLFW 3.0. | ||
| 170 | * | ||
| 171 | * @ingroup native | ||
| 172 | */ | ||
| 173 | GLFWAPI HGLRC glfwGetWGLContext(GLFWwindow* window); | ||
| 174 | #endif | ||
| 175 | |||
| 176 | #if defined(GLFW_EXPOSE_NATIVE_COCOA) | ||
| 177 | /*! @brief Returns the `CGDirectDisplayID` of the specified monitor. | ||
| 178 | * | ||
| 179 | * @return The `CGDirectDisplayID` of the specified monitor, or | ||
| 180 | * `kCGNullDirectDisplay` if an [error](@ref error_handling) occurred. | ||
| 181 | * | ||
| 182 | * @par Thread Safety | ||
| 183 | * This function may be called from any thread. Access is not synchronized. | ||
| 184 | * | ||
| 185 | * @par History | ||
| 186 | * Added in GLFW 3.1. | ||
| 187 | * | ||
| 188 | * @ingroup native | ||
| 189 | */ | ||
| 190 | GLFWAPI CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor); | ||
| 191 | |||
| 192 | /*! @brief Returns the `NSWindow` of the specified window. | ||
| 193 | * | ||
| 194 | * @return The `NSWindow` of the specified window, or `nil` if an | ||
| 195 | * [error](@ref error_handling) occurred. | ||
| 196 | * | ||
| 197 | * @par Thread Safety | ||
| 198 | * This function may be called from any thread. Access is not synchronized. | ||
| 199 | * | ||
| 200 | * @par History | ||
| 201 | * Added in GLFW 3.0. | ||
| 202 | * | ||
| 203 | * @ingroup native | ||
| 204 | */ | ||
| 205 | GLFWAPI id glfwGetCocoaWindow(GLFWwindow* window); | ||
| 206 | #endif | ||
| 207 | |||
| 208 | #if defined(GLFW_EXPOSE_NATIVE_NSGL) | ||
| 209 | /*! @brief Returns the `NSOpenGLContext` of the specified window. | ||
| 210 | * | ||
| 211 | * @return The `NSOpenGLContext` of the specified window, or `nil` if an | ||
| 212 | * [error](@ref error_handling) occurred. | ||
| 213 | * | ||
| 214 | * @par Thread Safety | ||
| 215 | * This function may be called from any thread. Access is not synchronized. | ||
| 216 | * | ||
| 217 | * @par History | ||
| 218 | * Added in GLFW 3.0. | ||
| 219 | * | ||
| 220 | * @ingroup native | ||
| 221 | */ | ||
| 222 | GLFWAPI id glfwGetNSGLContext(GLFWwindow* window); | ||
| 223 | #endif | ||
| 224 | |||
| 225 | #if defined(GLFW_EXPOSE_NATIVE_X11) | ||
| 226 | /*! @brief Returns the `Display` used by GLFW. | ||
| 227 | * | ||
| 228 | * @return The `Display` used by GLFW, or `NULL` if an | ||
| 229 | * [error](@ref error_handling) occurred. | ||
| 230 | * | ||
| 231 | * @par Thread Safety | ||
| 232 | * This function may be called from any thread. Access is not synchronized. | ||
| 233 | * | ||
| 234 | * @par History | ||
| 235 | * Added in GLFW 3.0. | ||
| 236 | * | ||
| 237 | * @ingroup native | ||
| 238 | */ | ||
| 239 | GLFWAPI Display* glfwGetX11Display(void); | ||
| 240 | |||
| 241 | /*! @brief Returns the `RRCrtc` of the specified monitor. | ||
| 242 | * | ||
| 243 | * @return The `RRCrtc` of the specified monitor, or `None` if an | ||
| 244 | * [error](@ref error_handling) occurred. | ||
| 245 | * | ||
| 246 | * @par Thread Safety | ||
| 247 | * This function may be called from any thread. Access is not synchronized. | ||
| 248 | * | ||
| 249 | * @par History | ||
| 250 | * Added in GLFW 3.1. | ||
| 251 | * | ||
| 252 | * @ingroup native | ||
| 253 | */ | ||
| 254 | GLFWAPI RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor); | ||
| 255 | |||
| 256 | /*! @brief Returns the `RROutput` of the specified monitor. | ||
| 257 | * | ||
| 258 | * @return The `RROutput` of the specified monitor, or `None` if an | ||
| 259 | * [error](@ref error_handling) occurred. | ||
| 260 | * | ||
| 261 | * @par Thread Safety | ||
| 262 | * This function may be called from any thread. Access is not synchronized. | ||
| 263 | * | ||
| 264 | * @par History | ||
| 265 | * Added in GLFW 3.1. | ||
| 266 | * | ||
| 267 | * @ingroup native | ||
| 268 | */ | ||
| 269 | GLFWAPI RROutput glfwGetX11Monitor(GLFWmonitor* monitor); | ||
| 270 | |||
| 271 | /*! @brief Returns the `Window` of the specified window. | ||
| 272 | * | ||
| 273 | * @return The `Window` of the specified window, or `None` if an | ||
| 274 | * [error](@ref error_handling) occurred. | ||
| 275 | * | ||
| 276 | * @par Thread Safety | ||
| 277 | * This function may be called from any thread. Access is not synchronized. | ||
| 278 | * | ||
| 279 | * @par History | ||
| 280 | * Added in GLFW 3.0. | ||
| 281 | * | ||
| 282 | * @ingroup native | ||
| 283 | */ | ||
| 284 | GLFWAPI Window glfwGetX11Window(GLFWwindow* window); | ||
| 285 | #endif | ||
| 286 | |||
| 287 | #if defined(GLFW_EXPOSE_NATIVE_GLX) | ||
| 288 | /*! @brief Returns the `GLXContext` of the specified window. | ||
| 289 | * | ||
| 290 | * @return The `GLXContext` of the specified window, or `NULL` if an | ||
| 291 | * [error](@ref error_handling) occurred. | ||
| 292 | * | ||
| 293 | * @par Thread Safety | ||
| 294 | * This function may be called from any thread. Access is not synchronized. | ||
| 295 | * | ||
| 296 | * @par History | ||
| 297 | * Added in GLFW 3.0. | ||
| 298 | * | ||
| 299 | * @ingroup native | ||
| 300 | */ | ||
| 301 | GLFWAPI GLXContext glfwGetGLXContext(GLFWwindow* window); | ||
| 302 | #endif | ||
| 303 | |||
| 304 | #if defined(GLFW_EXPOSE_NATIVE_EGL) | ||
| 305 | /*! @brief Returns the `EGLDisplay` used by GLFW. | ||
| 306 | * | ||
| 307 | * @return The `EGLDisplay` used by GLFW, or `EGL_NO_DISPLAY` if an | ||
| 308 | * [error](@ref error_handling) occurred. | ||
| 309 | * | ||
| 310 | * @par Thread Safety | ||
| 311 | * This function may be called from any thread. Access is not synchronized. | ||
| 312 | * | ||
| 313 | * @par History | ||
| 314 | * Added in GLFW 3.0. | ||
| 315 | * | ||
| 316 | * @ingroup native | ||
| 317 | */ | ||
| 318 | GLFWAPI EGLDisplay glfwGetEGLDisplay(void); | ||
| 319 | |||
| 320 | /*! @brief Returns the `EGLContext` of the specified window. | ||
| 321 | * | ||
| 322 | * @return The `EGLContext` of the specified window, or `EGL_NO_CONTEXT` if an | ||
| 323 | * [error](@ref error_handling) occurred. | ||
| 324 | * | ||
| 325 | * @par Thread Safety | ||
| 326 | * This function may be called from any thread. Access is not synchronized. | ||
| 327 | * | ||
| 328 | * @par History | ||
| 329 | * Added in GLFW 3.0. | ||
| 330 | * | ||
| 331 | * @ingroup native | ||
| 332 | */ | ||
| 333 | GLFWAPI EGLContext glfwGetEGLContext(GLFWwindow* window); | ||
| 334 | |||
| 335 | /*! @brief Returns the `EGLSurface` of the specified window. | ||
| 336 | * | ||
| 337 | * @return The `EGLSurface` of the specified window, or `EGL_NO_SURFACE` if an | ||
| 338 | * [error](@ref error_handling) occurred. | ||
| 339 | * | ||
| 340 | * @par Thread Safety | ||
| 341 | * This function may be called from any thread. Access is not synchronized. | ||
| 342 | * | ||
| 343 | * @par History | ||
| 344 | * Added in GLFW 3.0. | ||
| 345 | * | ||
| 346 | * @ingroup native | ||
| 347 | */ | ||
| 348 | GLFWAPI EGLSurface glfwGetEGLSurface(GLFWwindow* window); | ||
| 349 | #endif | ||
| 350 | |||
| 351 | #ifdef __cplusplus | ||
| 352 | } | ||
| 353 | #endif | ||
| 354 | |||
| 355 | #endif /* _glfw3_native_h_ */ | ||
| 356 | |||