By using the native API, you assert that you know what you're doing and how to fix problems caused by using it. If you don't, you shouldn't be using it.
Before the inclusion of glfw3native.h, you must define exactly one window API macro and exactly one context API macro. Failure to do this will cause a compile-time error.
The available window API macros are:
- GLFW_EXPOSE_NATIVE_WIN32
- GLFW_EXPOSE_NATIVE_COCOA
- GLFW_EXPOSE_NATIVE_X11
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. 
- Returns
- The NSWindowof the specified window.
 
 
      
        
          | EGLContext glfwGetEGLContext | ( | GLFWwindow * | window | ) |  | 
      
 
- Returns
- The EGLContextof the specified window.
 
 
      
        
          | EGLDisplay glfwGetEGLDisplay | ( | void |  | ) |  | 
      
 
- Returns
- The EGLDisplayused by GLFW.
 
 
      
        
          | EGLSurface glfwGetEGLSurface | ( | GLFWwindow * | window | ) |  | 
      
 
- Returns
- The EGLSurfaceof the specified window.
 
 
      
        
          | GLXContext glfwGetGLXContext | ( | GLFWwindow * | window | ) |  | 
      
 
- Returns
- The GLXContextof the specified window.
 
 
- Returns
- The NSOpenGLContextof the specified window.
 
 
- Returns
- The HGLRCof the specified window.
 
 
- Returns
- The HWNDof the specified window.
 
 
      
        
          | Display* glfwGetX11Display | ( | void |  | ) |  | 
      
 
- Returns
- The Displayused by GLFW.
 
 
- Returns
- The Windowof the specified window.