29#ifndef _glfw3_native_h_
30#define _glfw3_native_h_
94#if !defined(GLFW_NATIVE_INCLUDE_NONE)
96 #if defined(GLFW_EXPOSE_NATIVE_WIN32) || defined(GLFW_EXPOSE_NATIVE_WGL)
101 #if defined(GLFW_APIENTRY_DEFINED)
103 #undef GLFW_APIENTRY_DEFINED
108 #if defined(GLFW_EXPOSE_NATIVE_COCOA) || defined(GLFW_EXPOSE_NATIVE_NSGL)
109 #if defined(__OBJC__)
110 #import <Cocoa/Cocoa.h>
112 #include <ApplicationServices/ApplicationServices.h>
113 #include <objc/objc.h>
117 #if defined(GLFW_EXPOSE_NATIVE_X11) || defined(GLFW_EXPOSE_NATIVE_GLX)
118 #include <X11/Xlib.h>
119 #include <X11/extensions/Xrandr.h>
122 #if defined(GLFW_EXPOSE_NATIVE_WAYLAND)
123 #include <wayland-client.h>
126 #if defined(GLFW_EXPOSE_NATIVE_WGL)
129 #if defined(GLFW_EXPOSE_NATIVE_NSGL)
132 #if defined(GLFW_EXPOSE_NATIVE_GLX)
137 #if defined(GLFW_GLAPIENTRY_DEFINED)
139 #undef GLFW_GLAPIENTRY_DEFINED
143 #if defined(GLFW_EXPOSE_NATIVE_EGL)
146 #if defined(GLFW_EXPOSE_NATIVE_OSMESA)
151 #if defined(GLFW_GLAPIENTRY_DEFINED)
153 #undef GLFW_GLAPIENTRY_DEFINED
155 #include <GL/osmesa.h>
165#if defined(GLFW_EXPOSE_NATIVE_WIN32)
182GLFWAPI
const char* glfwGetWin32Adapter(
GLFWmonitor* monitor);
200GLFWAPI
const char* glfwGetWin32Monitor(
GLFWmonitor* monitor);
225GLFWAPI HWND glfwGetWin32Window(
GLFWwindow* window);
228#if defined(GLFW_EXPOSE_NATIVE_WGL)
252GLFWAPI HGLRC glfwGetWGLContext(
GLFWwindow* window);
255#if defined(GLFW_EXPOSE_NATIVE_COCOA)
271GLFWAPI CGDirectDisplayID glfwGetCocoaMonitor(
GLFWmonitor* monitor);
288GLFWAPI
id glfwGetCocoaWindow(
GLFWwindow* window);
305GLFWAPI
id glfwGetCocoaView(
GLFWwindow* window);
308#if defined(GLFW_EXPOSE_NATIVE_NSGL)
324GLFWAPI
id glfwGetNSGLContext(
GLFWwindow* window);
327#if defined(GLFW_EXPOSE_NATIVE_X11)
343GLFWAPI Display* glfwGetX11Display(
void);
360GLFWAPI RRCrtc glfwGetX11Adapter(
GLFWmonitor* monitor);
377GLFWAPI RROutput glfwGetX11Monitor(
GLFWmonitor* monitor);
394GLFWAPI Window glfwGetX11Window(
GLFWwindow* window);
416GLFWAPI
void glfwSetX11SelectionString(
const char*
string);
444GLFWAPI
const char* glfwGetX11SelectionString(
void);
447#if defined(GLFW_EXPOSE_NATIVE_GLX)
463GLFWAPI GLXContext glfwGetGLXContext(
GLFWwindow* window);
480GLFWAPI GLXWindow glfwGetGLXWindow(
GLFWwindow* window);
483#if defined(GLFW_EXPOSE_NATIVE_WAYLAND)
499GLFWAPI
struct wl_display* glfwGetWaylandDisplay(
void);
516GLFWAPI
struct wl_output* glfwGetWaylandMonitor(
GLFWmonitor* monitor);
533GLFWAPI
struct wl_surface* glfwGetWaylandWindow(
GLFWwindow* window);
536#if defined(GLFW_EXPOSE_NATIVE_EGL)
554GLFWAPI EGLDisplay glfwGetEGLDisplay(
void);
571GLFWAPI EGLContext glfwGetEGLContext(
GLFWwindow* window);
588GLFWAPI EGLSurface glfwGetEGLSurface(
GLFWwindow* window);
591#if defined(GLFW_EXPOSE_NATIVE_OSMESA)
614GLFWAPI
int glfwGetOSMesaColorBuffer(
GLFWwindow* window,
int* width,
int* height,
int* format,
void** buffer);
638GLFWAPI
int glfwGetOSMesaDepthBuffer(
GLFWwindow* window,
int* width,
int* height,
int* bytesPerValue,
void** buffer);
655GLFWAPI OSMesaContext glfwGetOSMesaContext(
GLFWwindow* window);
struct GLFWmonitor GLFWmonitor
Opaque monitor object.
Definition glfw3.h:1391
struct GLFWwindow GLFWwindow
Opaque window object.
Definition glfw3.h:1403