By using the native access functions you assert that you know what you're doing and how to fix problems caused by using them. If you don't, you shouldn't be using them.
Before the inclusion of glfw3native.h, you may define exactly one window system API macro and zero or more context creation API macros.
The chosen backends must match those the library was compiled for. Failure to do this will cause a link-time error.
The available window API macros are:
- GLFW_EXPOSE_NATIVE_WIN32
- GLFW_EXPOSE_NATIVE_COCOA
- GLFW_EXPOSE_NATIVE_X11
- GLFW_EXPOSE_NATIVE_WAYLAND
- GLFW_EXPOSE_NATIVE_MIR
The available context API macros are:
- GLFW_EXPOSE_NATIVE_WGL
- GLFW_EXPOSE_NATIVE_NSGL
- GLFW_EXPOSE_NATIVE_GLX
- GLFW_EXPOSE_NATIVE_EGL
These macros select which of the native access functions that are declared and which platform-specific headers to include. It is then up your (by definition platform-specific) code to handle which of these should be defined. 
      
        
          | CGDirectDisplayID glfwGetCocoaMonitor | ( | GLFWmonitor * | monitor | ) |  | 
      
 
- Returns
- The CGDirectDisplayIDof the specified monitor, orkCGNullDirectDisplayif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.1. 
 
 
- Returns
- The NSWindowof the specified window, ornilif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.0. 
 
 
      
        
          | EGLContext glfwGetEGLContext | ( | GLFWwindow * | window | ) |  | 
      
 
- Returns
- The EGLContextof the specified window, orEGL_NO_CONTEXTif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.0. 
 
 
      
        
          | EGLDisplay glfwGetEGLDisplay | ( | void |  | ) |  | 
      
 
- Returns
- The EGLDisplayused by GLFW, orEGL_NO_DISPLAYif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.0. 
 
 
      
        
          | EGLSurface glfwGetEGLSurface | ( | GLFWwindow * | window | ) |  | 
      
 
- Returns
- The EGLSurfaceof the specified window, orEGL_NO_SURFACEif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.0. 
 
 
      
        
          | GLXContext glfwGetGLXContext | ( | GLFWwindow * | window | ) |  | 
      
 
- Returns
- The GLXContextof the specified window, orNULLif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.0. 
 
 
- Returns
- The GLXWindowof the specified window, orNoneif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.2. 
 
 
      
        
          | MirConnection* glfwGetMirDisplay | ( | void |  | ) |  | 
      
 
- Returns
- The MirConnection*used by GLFW, orNULLif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.2. 
 
 
- Returns
- The Mir output ID of the specified monitor, or zero if an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.2. 
 
 
      
        
          | MirSurface* glfwGetMirWindow | ( | GLFWwindow * | window | ) |  | 
      
 
- Returns
- The MirSurface*of the specified window, orNULLif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.2. 
 
 
- Returns
- The NSOpenGLContextof the specified window, ornilif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.0. 
 
 
      
        
          | struct wl_display* glfwGetWaylandDisplay | ( | void |  | ) |  | 
      
 
- Returns
- The struct wl_display*used by GLFW, orNULLif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.2. 
 
 
      
        
          | struct wl_output* glfwGetWaylandMonitor | ( | GLFWmonitor * | monitor | ) |  | 
      
 
- Returns
- The struct wl_output*of the specified monitor, orNULLif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.2. 
 
 
      
        
          | struct wl_surface* glfwGetWaylandWindow | ( | GLFWwindow * | window | ) |  | 
      
 
- Returns
- The main struct wl_surface*of the specified window, orNULLif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.2. 
 
 
- Returns
- The HGLRCof the specified window, orNULLif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.0. 
 
 
      
        
          | const char* glfwGetWin32Adapter | ( | GLFWmonitor * | monitor | ) |  | 
      
 
- Returns
- The UTF-8 encoded adapter device name (for example \\.\DISPLAY1) of the specified monitor, orNULLif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.1. 
 
 
      
        
          | const char* glfwGetWin32Monitor | ( | GLFWmonitor * | monitor | ) |  | 
      
 
- Returns
- The UTF-8 encoded display device name (for example \\.\DISPLAY1\Monitor0) of the specified monitor, orNULLif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.1. 
 
 
- Returns
- The HWNDof the specified window, orNULLif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.0. 
 
 
- Returns
- The RRCrtcof the specified monitor, orNoneif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.1. 
 
 
      
        
          | Display* glfwGetX11Display | ( | void |  | ) |  | 
      
 
- Returns
- The Displayused by GLFW, orNULLif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.0. 
 
 
- Returns
- The RROutputof the specified monitor, orNoneif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.1. 
 
 
- Returns
- The Windowof the specified window, orNoneif an error occurred.
- Thread safety
- This function may be called from any thread. Access is not synchronized.
- Since
- Added in version 3.0.