Macros | Typedefs | Functions
glfw3.h File Reference

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.

Go to the source code of this file.

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...
 
GLFWmonitorglfwGetPrimaryMonitor (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 GLFWvidmodeglfwGetVideoModes (GLFWmonitor *monitor, int *count)
 Returns the available video modes for the specified monitor. More...
 
const GLFWvidmodeglfwGetVideoMode (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 GLFWgammarampglfwGetGammaRamp (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...
 
GLFWwindowglfwCreateWindow (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...
 
GLFWmonitorglfwGetWindowMonitor (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...
 
GLFWcursorglfwCreateCursor (const GLFWimage *image, int xhot, int yhot)
 Creates a custom cursor. More...
 
GLFWcursorglfwCreateStandardCursor (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...
 
GLFWwindowglfwGetCurrentContext (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...
 

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. GLFW 3: Removed format and bytes-per-pixel members.