GLFW: glfw3.h File Reference

GLFW

- Documentation
- Download
- Media
- Community

Data Structures | Macros | Typedefs | Functions
glfw3.h File Reference

The header of the GLFW 3 API. More...

Go to the source code of this file.

## Data Structures
struct | GLFWvidmode
| Video mode type. More...
struct | GLFWgammaramp
| Gamma ramp. More...
struct | GLFWimage
| Image data. More...

## Macros
#define | GLFW_KEY_UNKNOWN -1
#define | GLFW_KEY_SPACE 32
#define | GLFW_KEY_APOSTROPHE 39 /* ' */
#define | GLFW_KEY_COMMA 44 /* , */
#define | GLFW_KEY_MINUS 45 /* - */
#define | GLFW_KEY_PERIOD 46 /* . */
#define | GLFW_KEY_SLASH 47 /* / */
#define | GLFW_KEY_0 48
#define | GLFW_KEY_1 49
#define | GLFW_KEY_2 50
#define | GLFW_KEY_3 51
#define | GLFW_KEY_4 52
#define | GLFW_KEY_5 53
#define | GLFW_KEY_6 54
#define | GLFW_KEY_7 55
#define | GLFW_KEY_8 56
#define | GLFW_KEY_9 57
#define | GLFW_KEY_SEMICOLON 59 /* ; */
#define | GLFW_KEY_EQUAL 61 /* = */
#define | GLFW_KEY_A 65
#define | GLFW_KEY_B 66
#define | GLFW_KEY_C 67
#define | GLFW_KEY_D 68
#define | GLFW_KEY_E 69
#define | GLFW_KEY_F 70
#define | GLFW_KEY_G 71
#define | GLFW_KEY_H 72
#define | GLFW_KEY_I 73
#define | GLFW_KEY_J 74
#define | GLFW_KEY_K 75
#define | GLFW_KEY_L 76
#define | GLFW_KEY_M 77
#define | GLFW_KEY_N 78
#define | GLFW_KEY_O 79
#define | GLFW_KEY_P 80
#define | GLFW_KEY_Q 81
#define | GLFW_KEY_R 82
#define | GLFW_KEY_S 83
#define | GLFW_KEY_T 84
#define | GLFW_KEY_U 85
#define | GLFW_KEY_V 86
#define | GLFW_KEY_W 87
#define | GLFW_KEY_X 88
#define | GLFW_KEY_Y 89
#define | GLFW_KEY_Z 90
#define | GLFW_KEY_LEFT_BRACKET 91 /* [ */
#define | GLFW_KEY_BACKSLASH 92 /* \ */
#define | GLFW_KEY_RIGHT_BRACKET 93 /* ] */
#define | GLFW_KEY_GRAVE_ACCENT 96 /* ` */
#define | GLFW_KEY_WORLD_1 161 /* non-US #1 */
#define | GLFW_KEY_WORLD_2 162 /* non-US #2 */
#define | GLFW_KEY_ESCAPE 256
#define | GLFW_KEY_ENTER 257
#define | GLFW_KEY_TAB 258
#define | GLFW_KEY_BACKSPACE 259
#define | GLFW_KEY_INSERT 260
#define | GLFW_KEY_DELETE 261
#define | GLFW_KEY_RIGHT 262
#define | GLFW_KEY_LEFT 263
#define | GLFW_KEY_DOWN 264
#define | GLFW_KEY_UP 265
#define | GLFW_KEY_PAGE_UP 266
#define | GLFW_KEY_PAGE_DOWN 267
#define | GLFW_KEY_HOME 268
#define | GLFW_KEY_END 269
#define | GLFW_KEY_CAPS_LOCK 280
#define | GLFW_KEY_SCROLL_LOCK 281
#define | GLFW_KEY_NUM_LOCK 282
#define | GLFW_KEY_PRINT_SCREEN 283
#define | GLFW_KEY_PAUSE 284
#define | GLFW_KEY_F1 290
#define | GLFW_KEY_F2 291
#define | GLFW_KEY_F3 292
#define | GLFW_KEY_F4 293
#define | GLFW_KEY_F5 294
#define | GLFW_KEY_F6 295
#define | GLFW_KEY_F7 296
#define | GLFW_KEY_F8 297
#define | GLFW_KEY_F9 298
#define | GLFW_KEY_F10 299
#define | GLFW_KEY_F11 300
#define | GLFW_KEY_F12 301
#define | GLFW_KEY_F13 302
#define | GLFW_KEY_F14 303
#define | GLFW_KEY_F15 304
#define | GLFW_KEY_F16 305
#define | GLFW_KEY_F17 306
#define | GLFW_KEY_F18 307
#define | GLFW_KEY_F19 308
#define | GLFW_KEY_F20 309
#define | GLFW_KEY_F21 310
#define | GLFW_KEY_F22 311
#define | GLFW_KEY_F23 312
#define | GLFW_KEY_F24 313
#define | GLFW_KEY_F25 314
#define | GLFW_KEY_KP_0 320
#define | GLFW_KEY_KP_1 321
#define | GLFW_KEY_KP_2 322
#define | GLFW_KEY_KP_3 323
#define | GLFW_KEY_KP_4 324
#define | GLFW_KEY_KP_5 325
#define | GLFW_KEY_KP_6 326
#define | GLFW_KEY_KP_7 327
#define | GLFW_KEY_KP_8 328
#define | GLFW_KEY_KP_9 329
#define | GLFW_KEY_KP_DECIMAL 330
#define | GLFW_KEY_KP_DIVIDE 331
#define | GLFW_KEY_KP_MULTIPLY 332
#define | GLFW_KEY_KP_SUBTRACT 333
#define | GLFW_KEY_KP_ADD 334
#define | GLFW_KEY_KP_ENTER 335
#define | GLFW_KEY_KP_EQUAL 336
#define | GLFW_KEY_LEFT_SHIFT 340
#define | GLFW_KEY_LEFT_CONTROL 341
#define | GLFW_KEY_LEFT_ALT 342
#define | GLFW_KEY_LEFT_SUPER 343
#define | GLFW_KEY_RIGHT_SHIFT 344
#define | GLFW_KEY_RIGHT_CONTROL 345
#define | GLFW_KEY_RIGHT_ALT 346
#define | GLFW_KEY_RIGHT_SUPER 347
#define | GLFW_KEY_MENU 348
#define | GLFW_KEY_LAST GLFW_KEY_MENU
#define | GLFW_MOD_SHIFT 0x0001
| If this bit is set one or more Shift keys were held down. More...
#define | GLFW_MOD_CONTROL 0x0002
| If this bit is set one or more Control keys were held down. More...
#define | GLFW_MOD_ALT 0x0004
| If this bit is set one or more Alt keys were held down. More...
#define | GLFW_MOD_SUPER 0x0008
| If this bit is set one or more Super keys were held down. More...
#define | GLFW_MOUSE_BUTTON_1 0
#define | GLFW_MOUSE_BUTTON_2 1
#define | GLFW_MOUSE_BUTTON_3 2
#define | GLFW_MOUSE_BUTTON_4 3
#define | GLFW_MOUSE_BUTTON_5 4
#define | GLFW_MOUSE_BUTTON_6 5
#define | GLFW_MOUSE_BUTTON_7 6
#define | GLFW_MOUSE_BUTTON_8 7
#define | GLFW_MOUSE_BUTTON_LAST GLFW_MOUSE_BUTTON_8
#define | GLFW_MOUSE_BUTTON_LEFT GLFW_MOUSE_BUTTON_1
#define | GLFW_MOUSE_BUTTON_RIGHT GLFW_MOUSE_BUTTON_2
#define | GLFW_MOUSE_BUTTON_MIDDLE GLFW_MOUSE_BUTTON_3
#define | GLFW_JOYSTICK_1 0
#define | GLFW_JOYSTICK_2 1
#define | GLFW_JOYSTICK_3 2
#define | GLFW_JOYSTICK_4 3
#define | GLFW_JOYSTICK_5 4
#define | GLFW_JOYSTICK_6 5
#define | GLFW_JOYSTICK_7 6
#define | GLFW_JOYSTICK_8 7
#define | GLFW_JOYSTICK_9 8
#define | GLFW_JOYSTICK_10 9
#define | GLFW_JOYSTICK_11 10
#define | GLFW_JOYSTICK_12 11
#define | GLFW_JOYSTICK_13 12
#define | GLFW_JOYSTICK_14 13
#define | GLFW_JOYSTICK_15 14
#define | GLFW_JOYSTICK_16 15
#define | GLFW_JOYSTICK_LAST GLFW_JOYSTICK_16
#define | GLFW_NOT_INITIALIZED 0x00010001
| GLFW has not been initialized. More...
#define | GLFW_NO_CURRENT_CONTEXT 0x00010002
| No context is current for this thread. More...
#define | GLFW_INVALID_ENUM 0x00010003
| One of the arguments to the function was an invalid enum value. More...
#define | GLFW_INVALID_VALUE 0x00010004
| One of the arguments to the function was an invalid value. More...
#define | GLFW_OUT_OF_MEMORY 0x00010005
| A memory allocation failed. More...
#define | GLFW_API_UNAVAILABLE 0x00010006
| GLFW could not find support for the requested API on the system. More...
#define | GLFW_VERSION_UNAVAILABLE 0x00010007
| The requested OpenGL or OpenGL ES version is not available. More...
#define | GLFW_PLATFORM_ERROR 0x00010008
| A platform-specific error occurred that does not match any of the more specific categories. More...
#define | GLFW_FORMAT_UNAVAILABLE 0x00010009
| The requested format is not supported or available. More...
#define | GLFW_NO_WINDOW_CONTEXT 0x0001000A
| The specified window does not have an OpenGL or OpenGL ES context. More...
#define | GLFW_FOCUSED 0x00020001
#define | GLFW_ICONIFIED 0x00020002
#define | GLFW_RESIZABLE 0x00020003
#define | GLFW_VISIBLE 0x00020004
#define | GLFW_DECORATED 0x00020005
#define | GLFW_AUTO_ICONIFY 0x00020006
#define | GLFW_FLOATING 0x00020007
#define | GLFW_MAXIMIZED 0x00020008
#define | GLFW_RED_BITS 0x00021001
#define | GLFW_GREEN_BITS 0x00021002
#define | GLFW_BLUE_BITS 0x00021003
#define | GLFW_ALPHA_BITS 0x00021004
#define | GLFW_DEPTH_BITS 0x00021005
#define | GLFW_STENCIL_BITS 0x00021006
#define | GLFW_ACCUM_RED_BITS 0x00021007
#define | GLFW_ACCUM_GREEN_BITS 0x00021008
#define | GLFW_ACCUM_BLUE_BITS 0x00021009
#define | GLFW_ACCUM_ALPHA_BITS 0x0002100A
#define | GLFW_AUX_BUFFERS 0x0002100B
#define | GLFW_STEREO 0x0002100C
#define | GLFW_SAMPLES 0x0002100D
#define | GLFW_SRGB_CAPABLE 0x0002100E
#define | GLFW_REFRESH_RATE 0x0002100F
#define | GLFW_DOUBLEBUFFER 0x00021010
#define | GLFW_CLIENT_API 0x00022001
#define | GLFW_CONTEXT_VERSION_MAJOR 0x00022002
#define | GLFW_CONTEXT_VERSION_MINOR 0x00022003
#define | GLFW_CONTEXT_REVISION 0x00022004
#define | GLFW_CONTEXT_ROBUSTNESS 0x00022005
#define | GLFW_OPENGL_FORWARD_COMPAT 0x00022006
#define | GLFW_OPENGL_DEBUG_CONTEXT 0x00022007
#define | GLFW_OPENGL_PROFILE 0x00022008
#define | GLFW_CONTEXT_RELEASE_BEHAVIOR 0x00022009
#define | GLFW_CONTEXT_NO_ERROR 0x0002200A
#define | GLFW_CONTEXT_CREATION_API 0x0002200B
#define | GLFW_NO_API 0
#define | GLFW_OPENGL_API 0x00030001
#define | GLFW_OPENGL_ES_API 0x00030002
#define | GLFW_NO_ROBUSTNESS 0
#define | GLFW_NO_RESET_NOTIFICATION 0x00031001
#define | GLFW_LOSE_CONTEXT_ON_RESET 0x00031002
#define | GLFW_OPENGL_ANY_PROFILE 0
#define | GLFW_OPENGL_CORE_PROFILE 0x00032001
#define | GLFW_OPENGL_COMPAT_PROFILE 0x00032002
#define | GLFW_CURSOR 0x00033001
#define | GLFW_STICKY_KEYS 0x00033002
#define | GLFW_STICKY_MOUSE_BUTTONS 0x00033003
#define | GLFW_CURSOR_NORMAL 0x00034001
#define | GLFW_CURSOR_HIDDEN 0x00034002
#define | GLFW_CURSOR_DISABLED 0x00034003
#define | GLFW_ANY_RELEASE_BEHAVIOR 0
#define | GLFW_RELEASE_BEHAVIOR_FLUSH 0x00035001
#define | GLFW_RELEASE_BEHAVIOR_NONE 0x00035002
#define | GLFW_NATIVE_CONTEXT_API 0x00036001
#define | GLFW_EGL_CONTEXT_API 0x00036002
#define | GLFW_ARROW_CURSOR 0x00036001
| The regular arrow cursor shape. More...
#define | GLFW_IBEAM_CURSOR 0x00036002
| The text input I-beam cursor shape. More...
#define | GLFW_CROSSHAIR_CURSOR 0x00036003
| The crosshair shape. More...
#define | GLFW_HAND_CURSOR 0x00036004
| The hand shape. More...
#define | GLFW_HRESIZE_CURSOR 0x00036005
| The horizontal resize arrow shape. More...
#define | GLFW_VRESIZE_CURSOR 0x00036006
| The vertical resize arrow shape. More...
#define | GLFW_CONNECTED 0x00040001
#define | GLFW_DISCONNECTED 0x00040002
#define | GLFW_DONT_CARE -1
GLFW version macros
#define | GLFW_VERSION_MAJOR 3
| The major version number of the GLFW library. More...
#define | GLFW_VERSION_MINOR 2
| The minor version number of the GLFW library. More...
#define | GLFW_VERSION_REVISION 1
| The revision number of the GLFW library. More...
Boolean values
#define | GLFW_TRUE 1
| One. More...
#define | GLFW_FALSE 0
| Zero. More...
Key and button actions
#define | GLFW_RELEASE 0
| The key or mouse button was released. More...
#define | GLFW_PRESS 1
| The key or mouse button was pressed. More...
#define | GLFW_REPEAT 2
| The key was held down until it repeated. More...

## Typedefs
typedef void(* | GLFWglproc) (void)
| Client API function pointer type. More...
typedef void(* | GLFWvkproc) (void)
| Vulkan API function pointer type. More...
typedef struct GLFWmonitor | GLFWmonitor
| Opaque monitor object. More...
typedef struct GLFWwindow | GLFWwindow
| Opaque window object. More...
typedef struct GLFWcursor | GLFWcursor
| Opaque cursor object. More...
typedef void(* | GLFWerrorfun) (int, const char *)
| The function signature for error callbacks. More...
typedef void(* | GLFWwindowposfun) (GLFWwindow *, int, int)
| The function signature for window position callbacks. More...
typedef void(* | GLFWwindowsizefun) (GLFWwindow *, int, int)
| The function signature for window resize callbacks. More...
typedef void(* | GLFWwindowclosefun) (GLFWwindow *)
| The function signature for window close callbacks. More...
typedef void(* | GLFWwindowrefreshfun) (GLFWwindow *)
| The function signature for window content refresh callbacks. More...
typedef void(* | GLFWwindowfocusfun) (GLFWwindow *, int)
| The function signature for window focus/defocus callbacks. More...
typedef void(* | GLFWwindowiconifyfun) (GLFWwindow *, int)
| The function signature for window iconify/restore callbacks. More...
typedef void(* | GLFWframebuffersizefun) (GLFWwindow *, int, int)
| The function signature for framebuffer resize callbacks. More...
typedef void(* | GLFWmousebuttonfun) (GLFWwindow *, int, int, int)
| The function signature for mouse button callbacks. More...
typedef void(* | GLFWcursorposfun) (GLFWwindow *, double, double)
| The function signature for cursor position callbacks. More...
typedef void(* | GLFWcursorenterfun) (GLFWwindow *, int)
| The function signature for cursor enter/leave callbacks. More...
typedef void(* | GLFWscrollfun) (GLFWwindow *, double, double)
| The function signature for scroll callbacks. More...
typedef void(* | GLFWkeyfun) (GLFWwindow *, int, int, int, int)
| The function signature for keyboard key callbacks. More...
typedef void(* | GLFWcharfun) (GLFWwindow *, unsigned int)
| The function signature for Unicode character callbacks. More...
typedef void(* | GLFWcharmodsfun) (GLFWwindow *, unsigned int, int)
| The function signature for Unicode character with modifiers callbacks. More...
typedef void(* | GLFWdropfun) (GLFWwindow *, int, const char **)
| The function signature for file drop callbacks. More...
typedef void(* | GLFWmonitorfun) (GLFWmonitor *, int)
| The function signature for monitor configuration callbacks. More...
typedef void(* | GLFWjoystickfun) (int, int)
| The function signature for joystick configuration callbacks. More...
typedef struct GLFWvidmode | GLFWvidmode
| Video mode type. More...
typedef struct GLFWgammaramp | GLFWgammaramp
| Gamma ramp. More...
typedef struct GLFWimage | GLFWimage
| Image data. More...

## Functions
int | glfwInit (void)
| Initializes the GLFW library. More...
void | glfwTerminate (void)
| Terminates the GLFW library. More...
void | glfwGetVersion (int *major, int *minor, int *rev)
| Retrieves the version of the GLFW library. More...
const char * | glfwGetVersionString (void)
| Returns a string describing the compile-time configuration. More...
GLFWerrorfun | glfwSetErrorCallback (GLFWerrorfun cbfun)
| Sets the error callback. More...
GLFWmonitor ** | glfwGetMonitors (int *count)
| Returns the currently connected monitors. More...
GLFWmonitor * | glfwGetPrimaryMonitor (void)
| Returns the primary monitor. More...
void | glfwGetMonitorPos (GLFWmonitor *monitor, int *xpos, int *ypos)
| Returns the position of the monitor's viewport on the virtual screen. More...
void | glfwGetMonitorPhysicalSize (GLFWmonitor *monitor, int *widthMM, int *heightMM)
| Returns the physical size of the monitor. More...
const char * | glfwGetMonitorName (GLFWmonitor *monitor)
| Returns the name of the specified monitor. More...
GLFWmonitorfun | glfwSetMonitorCallback (GLFWmonitorfun cbfun)
| Sets the monitor configuration callback. More...
const GLFWvidmode * | glfwGetVideoModes (GLFWmonitor *monitor, int *count)
| Returns the available video modes for the specified monitor. More...
const GLFWvidmode * | glfwGetVideoMode (GLFWmonitor *monitor)
| Returns the current mode of the specified monitor. More...
void | glfwSetGamma (GLFWmonitor *monitor, float gamma)
| Generates a gamma ramp and sets it for the specified monitor. More...
const GLFWgammaramp * | glfwGetGammaRamp (GLFWmonitor *monitor)
| Returns the current gamma ramp for the specified monitor. More...
void | glfwSetGammaRamp (GLFWmonitor *monitor, const GLFWgammaramp *ramp)
| Sets the current gamma ramp for the specified monitor. More...
void | glfwDefaultWindowHints (void)
| Resets all window hints to their default values. More...
void | glfwWindowHint (int hint, int value)
| Sets the specified window hint to the desired value. More...
GLFWwindow * | glfwCreateWindow (int width, int height, const char *title, GLFWmonitor *monitor, GLFWwindow *share)
| Creates a window and its associated context. More...
void | glfwDestroyWindow (GLFWwindow *window)
| Destroys the specified window and its context. More...
int | glfwWindowShouldClose (GLFWwindow *window)
| Checks the close flag of the specified window. More...
void | glfwSetWindowShouldClose (GLFWwindow *window, int value)
| Sets the close flag of the specified window. More...
void | glfwSetWindowTitle (GLFWwindow *window, const char *title)
| Sets the title of the specified window. More...
void | glfwSetWindowIcon (GLFWwindow *window, int count, const GLFWimage *images)
| Sets the icon for the specified window. More...
void | glfwGetWindowPos (GLFWwindow *window, int *xpos, int *ypos)
| Retrieves the position of the client area of the specified window. More...
void | glfwSetWindowPos (GLFWwindow *window, int xpos, int ypos)
| Sets the position of the client area of the specified window. More...
void | glfwGetWindowSize (GLFWwindow *window, int *width, int *height)
| Retrieves the size of the client area of the specified window. More...
void | glfwSetWindowSizeLimits (GLFWwindow *window, int minwidth, int minheight, int maxwidth, int maxheight)
| Sets the size limits of the specified window. More...
void | glfwSetWindowAspectRatio (GLFWwindow *window, int numer, int denom)
| Sets the aspect ratio of the specified window. More...
void | glfwSetWindowSize (GLFWwindow *window, int width, int height)
| Sets the size of the client area of the specified window. More...
void | glfwGetFramebufferSize (GLFWwindow *window, int *width, int *height)
| Retrieves the size of the framebuffer of the specified window. More...
void | glfwGetWindowFrameSize (GLFWwindow *window, int *left, int *top, int *right, int *bottom)
| Retrieves the size of the frame of the window. More...
void | glfwIconifyWindow (GLFWwindow *window)
| Iconifies the specified window. More...
void | glfwRestoreWindow (GLFWwindow *window)
| Restores the specified window. More...
void | glfwMaximizeWindow (GLFWwindow *window)
| Maximizes the specified window. More...
void | glfwShowWindow (GLFWwindow *window)
| Makes the specified window visible. More...
void | glfwHideWindow (GLFWwindow *window)
| Hides the specified window. More...
void | glfwFocusWindow (GLFWwindow *window)
| Brings the specified window to front and sets input focus. More...
GLFWmonitor * | glfwGetWindowMonitor (GLFWwindow *window)
| Returns the monitor that the window uses for full screen mode. More...
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. More...
int | glfwGetWindowAttrib (GLFWwindow *window, int attrib)
| Returns an attribute of the specified window. More...
void | glfwSetWindowUserPointer (GLFWwindow *window, void *pointer)
| Sets the user pointer of the specified window. More...
void * | glfwGetWindowUserPointer (GLFWwindow *window)
| Returns the user pointer of the specified window. More...
GLFWwindowposfun | glfwSetWindowPosCallback (GLFWwindow *window, GLFWwindowposfun cbfun)
| Sets the position callback for the specified window. More...
GLFWwindowsizefun | glfwSetWindowSizeCallback (GLFWwindow *window, GLFWwindowsizefun cbfun)
| Sets the size callback for the specified window. More...
GLFWwindowclosefun | glfwSetWindowCloseCallback (GLFWwindow *window, GLFWwindowclosefun cbfun)
| Sets the close callback for the specified window. More...
GLFWwindowrefreshfun | glfwSetWindowRefreshCallback (GLFWwindow *window, GLFWwindowrefreshfun cbfun)
| Sets the refresh callback for the specified window. More...
GLFWwindowfocusfun | glfwSetWindowFocusCallback (GLFWwindow *window, GLFWwindowfocusfun cbfun)
| Sets the focus callback for the specified window. More...
GLFWwindowiconifyfun | glfwSetWindowIconifyCallback (GLFWwindow *window, GLFWwindowiconifyfun cbfun)
| Sets the iconify callback for the specified window. More...
GLFWframebuffersizefun | glfwSetFramebufferSizeCallback (GLFWwindow *window, GLFWframebuffersizefun cbfun)
| Sets the framebuffer resize callback for the specified window. More...
void | glfwPollEvents (void)
| Processes all pending events. More...
void | glfwWaitEvents (void)
| Waits until events are queued and processes them. More...
void | glfwWaitEventsTimeout (double timeout)
| Waits with timeout until events are queued and processes them. More...
void | glfwPostEmptyEvent (void)
| Posts an empty event to the event queue. More...
int | glfwGetInputMode (GLFWwindow *window, int mode)
| Returns the value of an input option for the specified window. More...
void | glfwSetInputMode (GLFWwindow *window, int mode, int value)
| Sets an input option for the specified window. More...
const char * | glfwGetKeyName (int key, int scancode)
| Returns the localized name of the specified printable key. More...
int | glfwGetKey (GLFWwindow *window, int key)
| Returns the last reported state of a keyboard key for the specified window. More...
int | glfwGetMouseButton (GLFWwindow *window, int button)
| Returns the last reported state of a mouse button for the specified window. More...
void | glfwGetCursorPos (GLFWwindow *window, double *xpos, double *ypos)
| Retrieves the position of the cursor relative to the client area of the window. More...
void | glfwSetCursorPos (GLFWwindow *window, double xpos, double ypos)
| Sets the position of the cursor, relative to the client area of the window. More...
GLFWcursor * | glfwCreateCursor (const GLFWimage *image, int xhot, int yhot)
| Creates a custom cursor. More...
GLFWcursor * | glfwCreateStandardCursor (int shape)
| Creates a cursor with a standard shape. More...
void | glfwDestroyCursor (GLFWcursor *cursor)
| Destroys a cursor. More...
void | glfwSetCursor (GLFWwindow *window, GLFWcursor *cursor)
| Sets the cursor for the window. More...
GLFWkeyfun | glfwSetKeyCallback (GLFWwindow *window, GLFWkeyfun cbfun)
| Sets the key callback. More...
GLFWcharfun | glfwSetCharCallback (GLFWwindow *window, GLFWcharfun cbfun)
| Sets the Unicode character callback. More...
GLFWcharmodsfun | glfwSetCharModsCallback (GLFWwindow *window, GLFWcharmodsfun cbfun)
| Sets the Unicode character with modifiers callback. More...
GLFWmousebuttonfun | glfwSetMouseButtonCallback (GLFWwindow *window, GLFWmousebuttonfun cbfun)
| Sets the mouse button callback. More...
GLFWcursorposfun | glfwSetCursorPosCallback (GLFWwindow *window, GLFWcursorposfun cbfun)
| Sets the cursor position callback. More...
GLFWcursorenterfun | glfwSetCursorEnterCallback (GLFWwindow *window, GLFWcursorenterfun cbfun)
| Sets the cursor enter/exit callback. More...
GLFWscrollfun | glfwSetScrollCallback (GLFWwindow *window, GLFWscrollfun cbfun)
| Sets the scroll callback. More...
GLFWdropfun | glfwSetDropCallback (GLFWwindow *window, GLFWdropfun cbfun)
| Sets the file drop callback. More...
int | glfwJoystickPresent (int joy)
| Returns whether the specified joystick is present. More...
const float * | glfwGetJoystickAxes (int joy, int *count)
| Returns the values of all axes of the specified joystick. More...
const unsigned char * | glfwGetJoystickButtons (int joy, int *count)
| Returns the state of all buttons of the specified joystick. More...
const char * | glfwGetJoystickName (int joy)
| Returns the name of the specified joystick. More...
GLFWjoystickfun | glfwSetJoystickCallback (GLFWjoystickfun cbfun)
| Sets the joystick configuration callback. More...
void | glfwSetClipboardString (GLFWwindow *window, const char *string)
| Sets the clipboard to the specified string. More...
const char * | glfwGetClipboardString (GLFWwindow *window)
| Returns the contents of the clipboard as a string. More...
double | glfwGetTime (void)
| Returns the value of the GLFW timer. More...
void | glfwSetTime (double time)
| Sets the GLFW timer. More...
uint64_t | glfwGetTimerValue (void)
| Returns the current value of the raw timer. More...
uint64_t | glfwGetTimerFrequency (void)
| Returns the frequency, in Hz, of the raw timer. More...
void | glfwMakeContextCurrent (GLFWwindow *window)
| Makes the context of the specified window current for the calling thread. More...
GLFWwindow * | glfwGetCurrentContext (void)
| Returns the window whose context is current on the calling thread. More...
void | glfwSwapBuffers (GLFWwindow *window)
| Swaps the front and back buffers of the specified window. More...
void | glfwSwapInterval (int interval)
| Sets the swap interval for the current context. More...
int | glfwExtensionSupported (const char *extension)
| Returns whether the specified extension is available. More...
GLFWglproc | glfwGetProcAddress (const char *procname)
| Returns the address of the specified function for the current context. More...
int | glfwVulkanSupported (void)
| Returns whether the Vulkan loader has been found. More...
const char ** | glfwGetRequiredInstanceExtensions (uint32_t *count)
| Returns the Vulkan instance extensions required by GLFW. More...
GLFWvkproc | glfwGetInstanceProcAddress (VkInstance instance, const char *procname)
| Returns the address of the specified Vulkan instance function. More...
int | glfwGetPhysicalDevicePresentationSupport (VkInstance instance, VkPhysicalDevice device, uint32_t queuefamily)
| Returns whether the specified queue family can present images. More...
VkResult | glfwCreateWindowSurface (VkInstance instance, GLFWwindow *window, const VkAllocationCallbacks *allocator, VkSurfaceKHR *surface)
| Creates a Vulkan surface for the specified window. More...

## Detailed Description

This is the header file of the GLFW 3 API. It defines all its types and declares all its functions.

For more information about how to use this file, see Including the GLFW header file.

## Macro Definition Documentation

## ◆ GLFW_ACCUM_ALPHA_BITS

#define GLFW_ACCUM_ALPHA_BITS 0x0002100A

## ◆ GLFW_ACCUM_BLUE_BITS

#define GLFW_ACCUM_BLUE_BITS 0x00021009

## ◆ GLFW_ACCUM_GREEN_BITS

#define GLFW_ACCUM_GREEN_BITS 0x00021008

## ◆ GLFW_ACCUM_RED_BITS

#define GLFW_ACCUM_RED_BITS 0x00021007

## ◆ GLFW_ALPHA_BITS

#define GLFW_ALPHA_BITS 0x00021004

## ◆ GLFW_ANY_RELEASE_BEHAVIOR

#define GLFW_ANY_RELEASE_BEHAVIOR 0

## ◆ GLFW_AUTO_ICONIFY

#define GLFW_AUTO_ICONIFY 0x00020006

## ◆ GLFW_AUX_BUFFERS

#define GLFW_AUX_BUFFERS 0x0002100B

## ◆ GLFW_BLUE_BITS

#define GLFW_BLUE_BITS 0x00021003

## ◆ GLFW_CLIENT_API

#define GLFW_CLIENT_API 0x00022001

## ◆ GLFW_CONNECTED

#define GLFW_CONNECTED 0x00040001

## ◆ GLFW_CONTEXT_CREATION_API

#define GLFW_CONTEXT_CREATION_API 0x0002200B

## ◆ GLFW_CONTEXT_NO_ERROR

#define GLFW_CONTEXT_NO_ERROR 0x0002200A

## ◆ GLFW_CONTEXT_RELEASE_BEHAVIOR

#define GLFW_CONTEXT_RELEASE_BEHAVIOR 0x00022009

## ◆ GLFW_CONTEXT_REVISION

#define GLFW_CONTEXT_REVISION 0x00022004

## ◆ GLFW_CONTEXT_ROBUSTNESS

#define GLFW_CONTEXT_ROBUSTNESS 0x00022005

## ◆ GLFW_CONTEXT_VERSION_MAJOR

#define GLFW_CONTEXT_VERSION_MAJOR 0x00022002

## ◆ GLFW_CONTEXT_VERSION_MINOR

#define GLFW_CONTEXT_VERSION_MINOR 0x00022003

## ◆ GLFW_CURSOR

#define GLFW_CURSOR 0x00033001

## ◆ GLFW_CURSOR_DISABLED

#define GLFW_CURSOR_DISABLED 0x00034003

## ◆ GLFW_CURSOR_HIDDEN

#define GLFW_CURSOR_HIDDEN 0x00034002

## ◆ GLFW_CURSOR_NORMAL

#define GLFW_CURSOR_NORMAL 0x00034001

## ◆ GLFW_DECORATED

#define GLFW_DECORATED 0x00020005

## ◆ GLFW_DEPTH_BITS

#define GLFW_DEPTH_BITS 0x00021005

## ◆ GLFW_DISCONNECTED

#define GLFW_DISCONNECTED 0x00040002

## ◆ GLFW_DONT_CARE

#define GLFW_DONT_CARE -1

## ◆ GLFW_DOUBLEBUFFER

#define GLFW_DOUBLEBUFFER 0x00021010

## ◆ GLFW_EGL_CONTEXT_API

#define GLFW_EGL_CONTEXT_API 0x00036002

## ◆ GLFW_FALSE

#define GLFW_FALSE 0

Zero. Seriously. You don't need to use this symbol in your code. It's just just semantic sugar for the number 0. You can use `0` or `false` or `_False` or `GL_FALSE` or whatever you want.

## ◆ GLFW_FLOATING

#define GLFW_FLOATING 0x00020007

## ◆ GLFW_FOCUSED

#define GLFW_FOCUSED 0x00020001

## ◆ GLFW_GREEN_BITS

#define GLFW_GREEN_BITS 0x00021002

## ◆ GLFW_ICONIFIED

#define GLFW_ICONIFIED 0x00020002

## ◆ GLFW_LOSE_CONTEXT_ON_RESET

#define GLFW_LOSE_CONTEXT_ON_RESET 0x00031002

## ◆ GLFW_MAXIMIZED

#define GLFW_MAXIMIZED 0x00020008

## ◆ GLFW_NATIVE_CONTEXT_API

#define GLFW_NATIVE_CONTEXT_API 0x00036001

## ◆ GLFW_NO_API

#define GLFW_NO_API 0

## ◆ GLFW_NO_RESET_NOTIFICATION

#define GLFW_NO_RESET_NOTIFICATION 0x00031001

## ◆ GLFW_NO_ROBUSTNESS

#define GLFW_NO_ROBUSTNESS 0

## ◆ GLFW_OPENGL_ANY_PROFILE

#define GLFW_OPENGL_ANY_PROFILE 0

## ◆ GLFW_OPENGL_API

#define GLFW_OPENGL_API 0x00030001

## ◆ GLFW_OPENGL_COMPAT_PROFILE

#define GLFW_OPENGL_COMPAT_PROFILE 0x00032002

## ◆ GLFW_OPENGL_CORE_PROFILE

#define GLFW_OPENGL_CORE_PROFILE 0x00032001

## ◆ GLFW_OPENGL_DEBUG_CONTEXT

#define GLFW_OPENGL_DEBUG_CONTEXT 0x00022007

## ◆ GLFW_OPENGL_ES_API

#define GLFW_OPENGL_ES_API 0x00030002

## ◆ GLFW_OPENGL_FORWARD_COMPAT

#define GLFW_OPENGL_FORWARD_COMPAT 0x00022006

## ◆ GLFW_OPENGL_PROFILE

#define GLFW_OPENGL_PROFILE 0x00022008

## ◆ GLFW_RED_BITS

#define GLFW_RED_BITS 0x00021001

## ◆ GLFW_REFRESH_RATE

#define GLFW_REFRESH_RATE 0x0002100F

## ◆ GLFW_RELEASE_BEHAVIOR_FLUSH

#define GLFW_RELEASE_BEHAVIOR_FLUSH 0x00035001

## ◆ GLFW_RELEASE_BEHAVIOR_NONE

#define GLFW_RELEASE_BEHAVIOR_NONE 0x00035002

## ◆ GLFW_RESIZABLE

#define GLFW_RESIZABLE 0x00020003

## ◆ GLFW_SAMPLES

#define GLFW_SAMPLES 0x0002100D

## ◆ GLFW_SRGB_CAPABLE

#define GLFW_SRGB_CAPABLE 0x0002100E

## ◆ GLFW_STENCIL_BITS

#define GLFW_STENCIL_BITS 0x00021006

## ◆ GLFW_STEREO

#define GLFW_STEREO 0x0002100C

## ◆ GLFW_STICKY_KEYS

#define GLFW_STICKY_KEYS 0x00033002

## ◆ GLFW_STICKY_MOUSE_BUTTONS

#define GLFW_STICKY_MOUSE_BUTTONS 0x00033003

## ◆ GLFW_TRUE

#define GLFW_TRUE 1

One. Seriously. You don't need to use this symbol in your code. It's just semantic sugar for the number 1. You can use `1` or `true` or `_True` or `GL_TRUE` or whatever you want.

## ◆ GLFW_VISIBLE

#define GLFW_VISIBLE 0x00020004

## Typedef Documentation

## ◆ GLFWcursor

typedef struct GLFWcursor GLFWcursor

Opaque cursor object.

See also
  Cursor objects

Since
  Added in version 3.1.

## ◆ GLFWimage

typedef struct GLFWimage GLFWimage

See also
  Custom cursor creation
  Window icon

Since
  Added in version 2.1.

3:__ Removed format and bytes-per-pixel members.