95#if !defined(_WIN32) && (defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)) 
  110#if defined(GLFW_INCLUDE_VULKAN) 
  111  #include <vulkan/vulkan.h> 
  121#if !defined(APIENTRY) 
  123  #define APIENTRY __stdcall 
  127 #define GLFW_APIENTRY_DEFINED 
  132#if !defined(WINGDIAPI) && defined(_WIN32) 
  133 #define WINGDIAPI __declspec(dllimport) 
  134 #define GLFW_WINGDIAPI_DEFINED 
  139#if !defined(CALLBACK) && defined(_WIN32) 
  140 #define CALLBACK __stdcall 
  141 #define GLFW_CALLBACK_DEFINED 
  146#if defined(GLFW_INCLUDE_ES1) 
  149 #if defined(GLFW_INCLUDE_GLEXT) 
  150  #include <GLES/glext.h> 
  153#elif defined(GLFW_INCLUDE_ES2) 
  155 #include <GLES2/gl2.h> 
  156 #if defined(GLFW_INCLUDE_GLEXT) 
  157  #include <GLES2/gl2ext.h> 
  160#elif defined(GLFW_INCLUDE_ES3) 
  162 #include <GLES3/gl3.h> 
  163 #if defined(GLFW_INCLUDE_GLEXT) 
  164  #include <GLES2/gl2ext.h> 
  167#elif defined(GLFW_INCLUDE_ES31) 
  169 #include <GLES3/gl31.h> 
  170 #if defined(GLFW_INCLUDE_GLEXT) 
  171  #include <GLES2/gl2ext.h> 
  174#elif defined(GLFW_INCLUDE_ES32) 
  176 #include <GLES3/gl32.h> 
  177 #if defined(GLFW_INCLUDE_GLEXT) 
  178  #include <GLES2/gl2ext.h> 
  181#elif defined(GLFW_INCLUDE_GLCOREARB) 
  183 #if defined(__APPLE__) 
  185  #include <OpenGL/gl3.h> 
  186  #if defined(GLFW_INCLUDE_GLEXT) 
  187   #include <OpenGL/gl3ext.h> 
  192  #include <GL/glcorearb.h> 
  193  #if defined(GLFW_INCLUDE_GLEXT) 
  194   #include <GL/glext.h> 
  199#elif defined(GLFW_INCLUDE_GLU) 
  201 #if defined(__APPLE__) 
  203  #if defined(GLFW_INCLUDE_GLU) 
  204   #include <OpenGL/glu.h> 
  209  #if defined(GLFW_INCLUDE_GLU) 
  215#elif !defined(GLFW_INCLUDE_NONE) && \ 
  216      !defined(__gl_h_) && \ 
  217      !defined(__gles1_gl_h_) && \ 
  218      !defined(__gles2_gl2_h_) && \ 
  219      !defined(__gles2_gl3_h_) && \ 
  220      !defined(__gles2_gl31_h_) && \ 
  221      !defined(__gles2_gl32_h_) && \ 
  222      !defined(__gl_glcorearb_h_) && \ 
  223      !defined(__gl2_h_)  && \ 
  224      !defined(__gl3_h_)  && \ 
  225      !defined(__gl31_h_)  && \ 
  226      !defined(__gl32_h_)  && \ 
  227      !defined(__glcorearb_h_)  && \ 
  228      !defined(__GL_H__)  && \ 
  229      !defined(__gltypes_h_)  && \ 
  232 #if defined(__APPLE__) 
  234  #if !defined(GLFW_INCLUDE_GLEXT) 
  235   #define GL_GLEXT_LEGACY 
  237  #include <OpenGL/gl.h> 
  242  #if defined(GLFW_INCLUDE_GLEXT) 
  243   #include <GL/glext.h> 
  250#if defined(GLFW_DLL) && defined(_GLFW_BUILD_DLL) 
  255 #error "You must not have both GLFW_DLL and _GLFW_BUILD_DLL defined" 
  261#if defined(_WIN32) && defined(_GLFW_BUILD_DLL) 
  263 #define GLFWAPI __declspec(dllexport) 
  264#elif defined(_WIN32) && defined(GLFW_DLL) 
  266 #define GLFWAPI __declspec(dllimport) 
  267#elif defined(__GNUC__) && defined(_GLFW_BUILD_DLL) 
  269 #define GLFWAPI __attribute__((visibility("default")))
 
  287#define GLFW_VERSION_MAJOR          3 
  294#define GLFW_VERSION_MINOR          3 
  301#define GLFW_VERSION_REVISION       8 
  331#define GLFW_RELEASE                0 
  355#define GLFW_HAT_CENTERED           0 
  357#define GLFW_HAT_RIGHT              2 
  358#define GLFW_HAT_DOWN               4 
  359#define GLFW_HAT_LEFT               8 
  360#define GLFW_HAT_RIGHT_UP           (GLFW_HAT_RIGHT | GLFW_HAT_UP) 
  361#define GLFW_HAT_RIGHT_DOWN         (GLFW_HAT_RIGHT | GLFW_HAT_DOWN) 
  362#define GLFW_HAT_LEFT_UP            (GLFW_HAT_LEFT  | GLFW_HAT_UP) 
  363#define GLFW_HAT_LEFT_DOWN          (GLFW_HAT_LEFT  | GLFW_HAT_DOWN) 
  391#define GLFW_KEY_UNKNOWN            -1 
  394#define GLFW_KEY_SPACE              32 
  395#define GLFW_KEY_APOSTROPHE         39   
  396#define GLFW_KEY_COMMA              44   
  397#define GLFW_KEY_MINUS              45   
  398#define GLFW_KEY_PERIOD             46   
  399#define GLFW_KEY_SLASH              47   
  410#define GLFW_KEY_SEMICOLON          59   
  411#define GLFW_KEY_EQUAL              61   
  438#define GLFW_KEY_LEFT_BRACKET       91   
  439#define GLFW_KEY_BACKSLASH          92   
  440#define GLFW_KEY_RIGHT_BRACKET      93   
  441#define GLFW_KEY_GRAVE_ACCENT       96   
  442#define GLFW_KEY_WORLD_1            161  
  443#define GLFW_KEY_WORLD_2            162  
  446#define GLFW_KEY_ESCAPE             256 
  447#define GLFW_KEY_ENTER              257 
  448#define GLFW_KEY_TAB                258 
  449#define GLFW_KEY_BACKSPACE          259 
  450#define GLFW_KEY_INSERT             260 
  451#define GLFW_KEY_DELETE             261 
  452#define GLFW_KEY_RIGHT              262 
  453#define GLFW_KEY_LEFT               263 
  454#define GLFW_KEY_DOWN               264 
  455#define GLFW_KEY_UP                 265 
  456#define GLFW_KEY_PAGE_UP            266 
  457#define GLFW_KEY_PAGE_DOWN          267 
  458#define GLFW_KEY_HOME               268 
  459#define GLFW_KEY_END                269 
  460#define GLFW_KEY_CAPS_LOCK          280 
  461#define GLFW_KEY_SCROLL_LOCK        281 
  462#define GLFW_KEY_NUM_LOCK           282 
  463#define GLFW_KEY_PRINT_SCREEN       283 
  464#define GLFW_KEY_PAUSE              284 
  465#define GLFW_KEY_F1                 290 
  466#define GLFW_KEY_F2                 291 
  467#define GLFW_KEY_F3                 292 
  468#define GLFW_KEY_F4                 293 
  469#define GLFW_KEY_F5                 294 
  470#define GLFW_KEY_F6                 295 
  471#define GLFW_KEY_F7                 296 
  472#define GLFW_KEY_F8                 297 
  473#define GLFW_KEY_F9                 298 
  474#define GLFW_KEY_F10                299 
  475#define GLFW_KEY_F11                300 
  476#define GLFW_KEY_F12                301 
  477#define GLFW_KEY_F13                302 
  478#define GLFW_KEY_F14                303 
  479#define GLFW_KEY_F15                304 
  480#define GLFW_KEY_F16                305 
  481#define GLFW_KEY_F17                306 
  482#define GLFW_KEY_F18                307 
  483#define GLFW_KEY_F19                308 
  484#define GLFW_KEY_F20                309 
  485#define GLFW_KEY_F21                310 
  486#define GLFW_KEY_F22                311 
  487#define GLFW_KEY_F23                312 
  488#define GLFW_KEY_F24                313 
  489#define GLFW_KEY_F25                314 
  490#define GLFW_KEY_KP_0               320 
  491#define GLFW_KEY_KP_1               321 
  492#define GLFW_KEY_KP_2               322 
  493#define GLFW_KEY_KP_3               323 
  494#define GLFW_KEY_KP_4               324 
  495#define GLFW_KEY_KP_5               325 
  496#define GLFW_KEY_KP_6               326 
  497#define GLFW_KEY_KP_7               327 
  498#define GLFW_KEY_KP_8               328 
  499#define GLFW_KEY_KP_9               329 
  500#define GLFW_KEY_KP_DECIMAL         330 
  501#define GLFW_KEY_KP_DIVIDE          331 
  502#define GLFW_KEY_KP_MULTIPLY        332 
  503#define GLFW_KEY_KP_SUBTRACT        333 
  504#define GLFW_KEY_KP_ADD             334 
  505#define GLFW_KEY_KP_ENTER           335 
  506#define GLFW_KEY_KP_EQUAL           336 
  507#define GLFW_KEY_LEFT_SHIFT         340 
  508#define GLFW_KEY_LEFT_CONTROL       341 
  509#define GLFW_KEY_LEFT_ALT           342 
  510#define GLFW_KEY_LEFT_SUPER         343 
  511#define GLFW_KEY_RIGHT_SHIFT        344 
  512#define GLFW_KEY_RIGHT_CONTROL      345 
  513#define GLFW_KEY_RIGHT_ALT          346 
  514#define GLFW_KEY_RIGHT_SUPER        347 
  515#define GLFW_KEY_MENU               348 
  517#define GLFW_KEY_LAST               GLFW_KEY_MENU 
  533#define GLFW_MOD_SHIFT           0x0001 
  538#define GLFW_MOD_CONTROL         0x0002 
  543#define GLFW_MOD_ALT             0x0004 
  548#define GLFW_MOD_SUPER           0x0008 
  554#define GLFW_MOD_CAPS_LOCK       0x0010 
  560#define GLFW_MOD_NUM_LOCK        0x0020 
  571#define GLFW_MOUSE_BUTTON_1         0 
  572#define GLFW_MOUSE_BUTTON_2         1 
  573#define GLFW_MOUSE_BUTTON_3         2 
  574#define GLFW_MOUSE_BUTTON_4         3 
  575#define GLFW_MOUSE_BUTTON_5         4 
  576#define GLFW_MOUSE_BUTTON_6         5 
  577#define GLFW_MOUSE_BUTTON_7         6 
  578#define GLFW_MOUSE_BUTTON_8         7 
  579#define GLFW_MOUSE_BUTTON_LAST      GLFW_MOUSE_BUTTON_8 
  580#define GLFW_MOUSE_BUTTON_LEFT      GLFW_MOUSE_BUTTON_1 
  581#define GLFW_MOUSE_BUTTON_RIGHT     GLFW_MOUSE_BUTTON_2 
  582#define GLFW_MOUSE_BUTTON_MIDDLE    GLFW_MOUSE_BUTTON_3 
  592#define GLFW_JOYSTICK_1             0 
  593#define GLFW_JOYSTICK_2             1 
  594#define GLFW_JOYSTICK_3             2 
  595#define GLFW_JOYSTICK_4             3 
  596#define GLFW_JOYSTICK_5             4 
  597#define GLFW_JOYSTICK_6             5 
  598#define GLFW_JOYSTICK_7             6 
  599#define GLFW_JOYSTICK_8             7 
  600#define GLFW_JOYSTICK_9             8 
  601#define GLFW_JOYSTICK_10            9 
  602#define GLFW_JOYSTICK_11            10 
  603#define GLFW_JOYSTICK_12            11 
  604#define GLFW_JOYSTICK_13            12 
  605#define GLFW_JOYSTICK_14            13 
  606#define GLFW_JOYSTICK_15            14 
  607#define GLFW_JOYSTICK_16            15 
  608#define GLFW_JOYSTICK_LAST          GLFW_JOYSTICK_16 
  618#define GLFW_GAMEPAD_BUTTON_A               0 
  619#define GLFW_GAMEPAD_BUTTON_B               1 
  620#define GLFW_GAMEPAD_BUTTON_X               2 
  621#define GLFW_GAMEPAD_BUTTON_Y               3 
  622#define GLFW_GAMEPAD_BUTTON_LEFT_BUMPER     4 
  623#define GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER    5 
  624#define GLFW_GAMEPAD_BUTTON_BACK            6 
  625#define GLFW_GAMEPAD_BUTTON_START           7 
  626#define GLFW_GAMEPAD_BUTTON_GUIDE           8 
  627#define GLFW_GAMEPAD_BUTTON_LEFT_THUMB      9 
  628#define GLFW_GAMEPAD_BUTTON_RIGHT_THUMB     10 
  629#define GLFW_GAMEPAD_BUTTON_DPAD_UP         11 
  630#define GLFW_GAMEPAD_BUTTON_DPAD_RIGHT      12 
  631#define GLFW_GAMEPAD_BUTTON_DPAD_DOWN       13 
  632#define GLFW_GAMEPAD_BUTTON_DPAD_LEFT       14 
  633#define GLFW_GAMEPAD_BUTTON_LAST            GLFW_GAMEPAD_BUTTON_DPAD_LEFT 
  635#define GLFW_GAMEPAD_BUTTON_CROSS       GLFW_GAMEPAD_BUTTON_A 
  636#define GLFW_GAMEPAD_BUTTON_CIRCLE      GLFW_GAMEPAD_BUTTON_B 
  637#define GLFW_GAMEPAD_BUTTON_SQUARE      GLFW_GAMEPAD_BUTTON_X 
  638#define GLFW_GAMEPAD_BUTTON_TRIANGLE    GLFW_GAMEPAD_BUTTON_Y 
  648#define GLFW_GAMEPAD_AXIS_LEFT_X        0 
  649#define GLFW_GAMEPAD_AXIS_LEFT_Y        1 
  650#define GLFW_GAMEPAD_AXIS_RIGHT_X       2 
  651#define GLFW_GAMEPAD_AXIS_RIGHT_Y       3 
  652#define GLFW_GAMEPAD_AXIS_LEFT_TRIGGER  4 
  653#define GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER 5 
  654#define GLFW_GAMEPAD_AXIS_LAST          GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER 
  670#define GLFW_NO_ERROR               0 
  679#define GLFW_NOT_INITIALIZED        0x00010001 
  689#define GLFW_NO_CURRENT_CONTEXT     0x00010002 
  697#define GLFW_INVALID_ENUM           0x00010003 
  708#define GLFW_INVALID_VALUE          0x00010004 
  716#define GLFW_OUT_OF_MEMORY          0x00010005 
  732#define GLFW_API_UNAVAILABLE        0x00010006 
  749#define GLFW_VERSION_UNAVAILABLE    0x00010007 
  760#define GLFW_PLATFORM_ERROR         0x00010008 
  779#define GLFW_FORMAT_UNAVAILABLE     0x00010009 
  787#define GLFW_NO_WINDOW_CONTEXT      0x0001000A 
  797#define GLFW_FOCUSED                0x00020001 
  802#define GLFW_ICONIFIED              0x00020002 
  808#define GLFW_RESIZABLE              0x00020003 
  814#define GLFW_VISIBLE                0x00020004 
  820#define GLFW_DECORATED              0x00020005 
  826#define GLFW_AUTO_ICONIFY           0x00020006 
  832#define GLFW_FLOATING               0x00020007 
  838#define GLFW_MAXIMIZED              0x00020008 
  843#define GLFW_CENTER_CURSOR          0x00020009 
  850#define GLFW_TRANSPARENT_FRAMEBUFFER 0x0002000A 
  855#define GLFW_HOVERED                0x0002000B 
  861#define GLFW_FOCUS_ON_SHOW          0x0002000C 
  867#define GLFW_RED_BITS               0x00021001 
  872#define GLFW_GREEN_BITS             0x00021002 
  877#define GLFW_BLUE_BITS              0x00021003 
  882#define GLFW_ALPHA_BITS             0x00021004 
  887#define GLFW_DEPTH_BITS             0x00021005 
  892#define GLFW_STENCIL_BITS           0x00021006 
  897#define GLFW_ACCUM_RED_BITS         0x00021007 
  902#define GLFW_ACCUM_GREEN_BITS       0x00021008 
  907#define GLFW_ACCUM_BLUE_BITS        0x00021009 
  912#define GLFW_ACCUM_ALPHA_BITS       0x0002100A 
  917#define GLFW_AUX_BUFFERS            0x0002100B 
  922#define GLFW_STEREO                 0x0002100C 
  927#define GLFW_SAMPLES                0x0002100D 
  932#define GLFW_SRGB_CAPABLE           0x0002100E 
  937#define GLFW_REFRESH_RATE           0x0002100F 
  942#define GLFW_DOUBLEBUFFER           0x00021010 
  949#define GLFW_CLIENT_API             0x00022001 
  955#define GLFW_CONTEXT_VERSION_MAJOR  0x00022002 
  961#define GLFW_CONTEXT_VERSION_MINOR  0x00022003 
  967#define GLFW_CONTEXT_REVISION       0x00022004 
  973#define GLFW_CONTEXT_ROBUSTNESS     0x00022005 
  979#define GLFW_OPENGL_FORWARD_COMPAT  0x00022006 
  985#define GLFW_OPENGL_DEBUG_CONTEXT   0x00022007 
  991#define GLFW_OPENGL_PROFILE         0x00022008 
  997#define GLFW_CONTEXT_RELEASE_BEHAVIOR 0x00022009 
 1003#define GLFW_CONTEXT_NO_ERROR       0x0002200A 
 1009#define GLFW_CONTEXT_CREATION_API   0x0002200B 
 1013#define GLFW_SCALE_TO_MONITOR       0x0002200C 
 1017#define GLFW_COCOA_RETINA_FRAMEBUFFER 0x00023001 
 1021#define GLFW_COCOA_FRAME_NAME         0x00023002 
 1025#define GLFW_COCOA_GRAPHICS_SWITCHING 0x00023003 
 1029#define GLFW_X11_CLASS_NAME         0x00024001 
 1033#define GLFW_X11_INSTANCE_NAME      0x00024002 
 1036#define GLFW_NO_API                          0 
 1037#define GLFW_OPENGL_API             0x00030001 
 1038#define GLFW_OPENGL_ES_API          0x00030002 
 1040#define GLFW_NO_ROBUSTNESS                   0 
 1041#define GLFW_NO_RESET_NOTIFICATION  0x00031001 
 1042#define GLFW_LOSE_CONTEXT_ON_RESET  0x00031002 
 1044#define GLFW_OPENGL_ANY_PROFILE              0 
 1045#define GLFW_OPENGL_CORE_PROFILE    0x00032001 
 1046#define GLFW_OPENGL_COMPAT_PROFILE  0x00032002 
 1048#define GLFW_CURSOR                 0x00033001 
 1049#define GLFW_STICKY_KEYS            0x00033002 
 1050#define GLFW_STICKY_MOUSE_BUTTONS   0x00033003 
 1051#define GLFW_LOCK_KEY_MODS          0x00033004 
 1052#define GLFW_RAW_MOUSE_MOTION       0x00033005 
 1054#define GLFW_CURSOR_NORMAL          0x00034001 
 1055#define GLFW_CURSOR_HIDDEN          0x00034002 
 1056#define GLFW_CURSOR_DISABLED        0x00034003 
 1058#define GLFW_ANY_RELEASE_BEHAVIOR            0 
 1059#define GLFW_RELEASE_BEHAVIOR_FLUSH 0x00035001 
 1060#define GLFW_RELEASE_BEHAVIOR_NONE  0x00035002 
 1062#define GLFW_NATIVE_CONTEXT_API     0x00036001 
 1063#define GLFW_EGL_CONTEXT_API        0x00036002 
 1064#define GLFW_OSMESA_CONTEXT_API     0x00036003 
 1078#define GLFW_ARROW_CURSOR           0x00036001 
 1083#define GLFW_IBEAM_CURSOR           0x00036002 
 1088#define GLFW_CROSSHAIR_CURSOR       0x00036003 
 1093#define GLFW_HAND_CURSOR            0x00036004 
 1098#define GLFW_HRESIZE_CURSOR         0x00036005 
 1103#define GLFW_VRESIZE_CURSOR         0x00036006 
 1106#define GLFW_CONNECTED              0x00040001 
 1107#define GLFW_DISCONNECTED           0x00040002 
 1115#define GLFW_JOYSTICK_HAT_BUTTONS   0x00050001 
 1120#define GLFW_COCOA_CHDIR_RESOURCES  0x00051001 
 1125#define GLFW_COCOA_MENUBAR          0x00051002 
 1128#define GLFW_DONT_CARE              -1 
 5734#if defined(VK_VERSION_1_0) 
 5886#ifdef GLFW_WINGDIAPI_DEFINED 
 5888 #undef GLFW_WINGDIAPI_DEFINED 
 5891#ifdef GLFW_CALLBACK_DEFINED 
 5893 #undef GLFW_CALLBACK_DEFINED 
 5900 #define GLAPIENTRY APIENTRY 
 5901 #define GLFW_GLAPIENTRY_DEFINED 
void glfwMakeContextCurrent(GLFWwindow *window)
Makes the context of the specified window current for the calling thread.
GLFWglproc glfwGetProcAddress(const char *procname)
Returns the address of the specified function for the current context.
void(* GLFWglproc)(void)
Client API function pointer type.
Definition: glfw3.h:1147
void glfwSwapInterval(int interval)
Sets the swap interval for the current context.
int glfwExtensionSupported(const char *extension)
Returns whether the specified extension is available.
GLFWwindow * glfwGetCurrentContext(void)
Returns the window whose context is current on the calling thread.
const char * glfwGetVersionString(void)
Returns a string describing the compile-time configuration.
void glfwInitHint(int hint, int value)
Sets the specified init hint to the desired value.
int glfwInit(void)
Initializes the GLFW library.
void(* GLFWerrorfun)(int error_code, const char *description)
The function pointer type for error callbacks.
Definition: glfw3.h:1221
int glfwGetError(const char **description)
Returns and clears the last error for the calling thread.
void glfwGetVersion(int *major, int *minor, int *rev)
Retrieves the version of the GLFW library.
void glfwTerminate(void)
Terminates the GLFW library.
GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun callback)
Sets the error callback.
void glfwGetMonitorPos(GLFWmonitor *monitor, int *xpos, int *ypos)
Returns the position of the monitor's viewport on the virtual screen.
void * glfwGetMonitorUserPointer(GLFWmonitor *monitor)
Returns the user pointer of the specified monitor.
void glfwSetGammaRamp(GLFWmonitor *monitor, const GLFWgammaramp *ramp)
Sets the current gamma ramp for the specified monitor.
void glfwSetGamma(GLFWmonitor *monitor, float gamma)
Generates a gamma ramp and sets it for the specified monitor.
void glfwSetMonitorUserPointer(GLFWmonitor *monitor, void *pointer)
Sets the user pointer of the specified monitor.
GLFWmonitor ** glfwGetMonitors(int *count)
Returns the currently connected monitors.
void glfwGetMonitorWorkarea(GLFWmonitor *monitor, int *xpos, int *ypos, int *width, int *height)
Retrieves the work area of the monitor.
const GLFWgammaramp * glfwGetGammaRamp(GLFWmonitor *monitor)
Returns the current gamma ramp for the specified monitor.
const char * glfwGetMonitorName(GLFWmonitor *monitor)
Returns the name of the specified monitor.
void glfwGetMonitorPhysicalSize(GLFWmonitor *monitor, int *widthMM, int *heightMM)
Returns the physical size of the monitor.
struct GLFWmonitor GLFWmonitor
Opaque monitor object.
Definition: glfw3.h:1173
struct GLFWvidmode GLFWvidmode
Video mode type.
struct GLFWgammaramp GLFWgammaramp
Gamma ramp.
void(* GLFWmonitorfun)(GLFWmonitor *monitor, int event)
The function pointer type for monitor configuration callbacks.
Definition: glfw3.h:1621
GLFWmonitorfun glfwSetMonitorCallback(GLFWmonitorfun callback)
Sets the monitor configuration callback.
const GLFWvidmode * glfwGetVideoMode(GLFWmonitor *monitor)
Returns the current mode of the specified monitor.
GLFWmonitor * glfwGetPrimaryMonitor(void)
Returns the primary monitor.
const GLFWvidmode * glfwGetVideoModes(GLFWmonitor *monitor, int *count)
Returns the available video modes for the specified monitor.
void glfwGetMonitorContentScale(GLFWmonitor *monitor, float *xscale, float *yscale)
Retrieves the content scale for the specified monitor.
VkResult glfwCreateWindowSurface(VkInstance instance, GLFWwindow *window, const VkAllocationCallbacks *allocator, VkSurfaceKHR *surface)
Creates a Vulkan surface for the specified window.
int glfwVulkanSupported(void)
Returns whether the Vulkan loader and an ICD have been found.
void(* GLFWvkproc)(void)
Vulkan API function pointer type.
Definition: glfw3.h:1161
const char ** glfwGetRequiredInstanceExtensions(uint32_t *count)
Returns the Vulkan instance extensions required by GLFW.
GLFWvkproc glfwGetInstanceProcAddress(VkInstance instance, const char *procname)
Returns the address of the specified Vulkan instance function.
int glfwGetPhysicalDevicePresentationSupport(VkInstance instance, VkPhysicalDevice device, uint32_t queuefamily)
Returns whether the specified queue family can present images.
GLFWwindowposfun glfwSetWindowPosCallback(GLFWwindow *window, GLFWwindowposfun callback)
Sets the position callback for the specified window.
void glfwGetFramebufferSize(GLFWwindow *window, int *width, int *height)
Retrieves the size of the framebuffer of the specified window.
void glfwSwapBuffers(GLFWwindow *window)
Swaps the front and back buffers of the specified window.
void glfwGetWindowFrameSize(GLFWwindow *window, int *left, int *top, int *right, int *bottom)
Retrieves the size of the frame of the window.
void glfwSetWindowPos(GLFWwindow *window, int xpos, int ypos)
Sets the position of the content area of the specified window.
void glfwIconifyWindow(GLFWwindow *window)
Iconifies the specified window.
GLFWwindowrefreshfun glfwSetWindowRefreshCallback(GLFWwindow *window, GLFWwindowrefreshfun callback)
Sets the refresh callback for the specified window.
int glfwWindowShouldClose(GLFWwindow *window)
Checks the close flag of the specified window.
void glfwRequestWindowAttention(GLFWwindow *window)
Requests user attention to the specified window.
void(* GLFWwindowmaximizefun)(GLFWwindow *window, int maximized)
The function pointer type for window maximize callbacks.
Definition: glfw3.h:1369
GLFWwindow * glfwCreateWindow(int width, int height, const char *title, GLFWmonitor *monitor, GLFWwindow *share)
Creates a window and its associated context.
void(* GLFWwindowiconifyfun)(GLFWwindow *window, int iconified)
The function pointer type for window iconify callbacks.
Definition: glfw3.h:1348
void glfwSetWindowSize(GLFWwindow *window, int width, int height)
Sets the size of the content area of the specified window.
void glfwPollEvents(void)
Processes all pending events.
struct GLFWwindow GLFWwindow
Opaque window object.
Definition: glfw3.h:1185
void glfwSetWindowUserPointer(GLFWwindow *window, void *pointer)
Sets the user pointer of the specified window.
void glfwMaximizeWindow(GLFWwindow *window)
Maximizes the specified window.
void(* GLFWwindowrefreshfun)(GLFWwindow *window)
The function pointer type for window content refresh callbacks.
Definition: glfw3.h:1306
void glfwHideWindow(GLFWwindow *window)
Hides the specified window.
void glfwSetWindowShouldClose(GLFWwindow *window, int value)
Sets the close flag of the specified window.
GLFWmonitor * glfwGetWindowMonitor(GLFWwindow *window)
Returns the monitor that the window uses for full screen mode.
void glfwRestoreWindow(GLFWwindow *window)
Restores the specified window.
void glfwWaitEvents(void)
Waits until events are queued and processes them.
void glfwSetWindowTitle(GLFWwindow *window, const char *title)
Sets the title of the specified window.
void glfwWaitEventsTimeout(double timeout)
Waits with timeout until events are queued and processes them.
void glfwShowWindow(GLFWwindow *window)
Makes the specified window visible.
void glfwSetWindowAspectRatio(GLFWwindow *window, int numer, int denom)
Sets the aspect ratio of the specified window.
void glfwGetWindowPos(GLFWwindow *window, int *xpos, int *ypos)
Retrieves the position of the content area of the specified window.
void(* GLFWwindowcontentscalefun)(GLFWwindow *window, float xscale, float yscale)
The function pointer type for window content scale callbacks.
Definition: glfw3.h:1411
struct GLFWimage GLFWimage
Image data.
void glfwWindowHint(int hint, int value)
Sets the specified window hint to the desired value.
void glfwSetWindowMonitor(GLFWwindow *window, GLFWmonitor *monitor, int xpos, int ypos, int width, int height, int refreshRate)
Sets the mode, monitor, video mode and placement of a window.
void glfwFocusWindow(GLFWwindow *window)
Brings the specified window to front and sets input focus.
void glfwWindowHintString(int hint, const char *value)
Sets the specified window hint to the desired value.
void glfwDefaultWindowHints(void)
Resets all window hints to their default values.
GLFWframebuffersizefun glfwSetFramebufferSizeCallback(GLFWwindow *window, GLFWframebuffersizefun callback)
Sets the framebuffer resize callback for the specified window.
void glfwPostEmptyEvent(void)
Posts an empty event to the event queue.
void(* GLFWwindowfocusfun)(GLFWwindow *window, int focused)
The function pointer type for window focus callbacks.
Definition: glfw3.h:1327
void(* GLFWwindowposfun)(GLFWwindow *window, int xpos, int ypos)
The function pointer type for window position callbacks.
Definition: glfw3.h:1244
void(* GLFWwindowclosefun)(GLFWwindow *window)
The function pointer type for window close callbacks.
Definition: glfw3.h:1286
GLFWwindowfocusfun glfwSetWindowFocusCallback(GLFWwindow *window, GLFWwindowfocusfun callback)
Sets the focus callback for the specified window.
void glfwSetWindowSizeLimits(GLFWwindow *window, int minwidth, int minheight, int maxwidth, int maxheight)
Sets the size limits of the specified window.
void glfwSetWindowOpacity(GLFWwindow *window, float opacity)
Sets the opacity of the whole window.
GLFWwindowiconifyfun glfwSetWindowIconifyCallback(GLFWwindow *window, GLFWwindowiconifyfun callback)
Sets the iconify callback for the specified window.
GLFWwindowmaximizefun glfwSetWindowMaximizeCallback(GLFWwindow *window, GLFWwindowmaximizefun callback)
Sets the maximize callback for the specified window.
int glfwGetWindowAttrib(GLFWwindow *window, int attrib)
Returns an attribute of the specified window.
void glfwDestroyWindow(GLFWwindow *window)
Destroys the specified window and its context.
void glfwSetWindowAttrib(GLFWwindow *window, int attrib, int value)
Sets an attribute of the specified window.
float glfwGetWindowOpacity(GLFWwindow *window)
Returns the opacity of the whole window.
GLFWwindowsizefun glfwSetWindowSizeCallback(GLFWwindow *window, GLFWwindowsizefun callback)
Sets the size callback for the specified window.
GLFWwindowclosefun glfwSetWindowCloseCallback(GLFWwindow *window, GLFWwindowclosefun callback)
Sets the close callback for the specified window.
void glfwSetWindowIcon(GLFWwindow *window, int count, const GLFWimage *images)
Sets the icon for the specified window.
void(* GLFWframebuffersizefun)(GLFWwindow *window, int width, int height)
The function pointer type for framebuffer size callbacks.
Definition: glfw3.h:1390
void * glfwGetWindowUserPointer(GLFWwindow *window)
Returns the user pointer of the specified window.
void(* GLFWwindowsizefun)(GLFWwindow *window, int width, int height)
The function pointer type for window size callbacks.
Definition: glfw3.h:1266
void glfwGetWindowSize(GLFWwindow *window, int *width, int *height)
Retrieves the size of the content area of the specified window.
GLFWwindowcontentscalefun glfwSetWindowContentScaleCallback(GLFWwindow *window, GLFWwindowcontentscalefun callback)
Sets the window content scale callback for the specified window.
void glfwGetWindowContentScale(GLFWwindow *window, float *xscale, float *yscale)
Retrieves the content scale for the specified window.
Gamepad input state.
Definition: glfw3.h:1745
unsigned char buttons[15]
Definition: glfw3.h:1749
float axes[6]
Definition: glfw3.h:1753
Gamma ramp.
Definition: glfw3.h:1692
unsigned short * red
Definition: glfw3.h:1695
unsigned short * blue
Definition: glfw3.h:1701
unsigned int size
Definition: glfw3.h:1704
unsigned short * green
Definition: glfw3.h:1698
Image data.
Definition: glfw3.h:1721
int height
Definition: glfw3.h:1727
unsigned char * pixels
Definition: glfw3.h:1730
int width
Definition: glfw3.h:1724
Video mode type.
Definition: glfw3.h:1658
int greenBits
Definition: glfw3.h:1670
int redBits
Definition: glfw3.h:1667
int width
Definition: glfw3.h:1661
int refreshRate
Definition: glfw3.h:1676
int height
Definition: glfw3.h:1664
int blueBits
Definition: glfw3.h:1673