Go to the documentation of this file.
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>
196 #elif !defined(GLFW_INCLUDE_NONE)
198 #if defined(__APPLE__)
200 #if !defined(GLFW_INCLUDE_GLEXT)
201 #define GL_GLEXT_LEGACY
203 #include <OpenGL/gl.h>
204 #if defined(GLFW_INCLUDE_GLU)
205 #include <OpenGL/glu.h>
211 #if defined(GLFW_INCLUDE_GLEXT)
212 #include <GL/glext.h>
214 #if defined(GLFW_INCLUDE_GLU)
222 #if defined(GLFW_DLL) && defined(_GLFW_BUILD_DLL)
227 #error "You must not have both GLFW_DLL and _GLFW_BUILD_DLL defined"
233 #if defined(_WIN32) && defined(_GLFW_BUILD_DLL)
235 #define GLFWAPI __declspec(dllexport)
236 #elif defined(_WIN32) && defined(GLFW_DLL)
238 #define GLFWAPI __declspec(dllimport)
239 #elif defined(__GNUC__) && defined(_GLFW_BUILD_DLL)
241 #define GLFWAPI __attribute__((visibility("default")))
259 #define GLFW_VERSION_MAJOR 3
266 #define GLFW_VERSION_MINOR 3
273 #define GLFW_VERSION_REVISION 2
303 #define GLFW_RELEASE 0
317 #define GLFW_REPEAT 2
327 #define GLFW_HAT_CENTERED 0
328 #define GLFW_HAT_UP 1
329 #define GLFW_HAT_RIGHT 2
330 #define GLFW_HAT_DOWN 4
331 #define GLFW_HAT_LEFT 8
332 #define GLFW_HAT_RIGHT_UP (GLFW_HAT_RIGHT | GLFW_HAT_UP)
333 #define GLFW_HAT_RIGHT_DOWN (GLFW_HAT_RIGHT | GLFW_HAT_DOWN)
334 #define GLFW_HAT_LEFT_UP (GLFW_HAT_LEFT | GLFW_HAT_UP)
335 #define GLFW_HAT_LEFT_DOWN (GLFW_HAT_LEFT | GLFW_HAT_DOWN)
363 #define GLFW_KEY_UNKNOWN -1
366 #define GLFW_KEY_SPACE 32
367 #define GLFW_KEY_APOSTROPHE 39
368 #define GLFW_KEY_COMMA 44
369 #define GLFW_KEY_MINUS 45
370 #define GLFW_KEY_PERIOD 46
371 #define GLFW_KEY_SLASH 47
372 #define GLFW_KEY_0 48
373 #define GLFW_KEY_1 49
374 #define GLFW_KEY_2 50
375 #define GLFW_KEY_3 51
376 #define GLFW_KEY_4 52
377 #define GLFW_KEY_5 53
378 #define GLFW_KEY_6 54
379 #define GLFW_KEY_7 55
380 #define GLFW_KEY_8 56
381 #define GLFW_KEY_9 57
382 #define GLFW_KEY_SEMICOLON 59
383 #define GLFW_KEY_EQUAL 61
384 #define GLFW_KEY_A 65
385 #define GLFW_KEY_B 66
386 #define GLFW_KEY_C 67
387 #define GLFW_KEY_D 68
388 #define GLFW_KEY_E 69
389 #define GLFW_KEY_F 70
390 #define GLFW_KEY_G 71
391 #define GLFW_KEY_H 72
392 #define GLFW_KEY_I 73
393 #define GLFW_KEY_J 74
394 #define GLFW_KEY_K 75
395 #define GLFW_KEY_L 76
396 #define GLFW_KEY_M 77
397 #define GLFW_KEY_N 78
398 #define GLFW_KEY_O 79
399 #define GLFW_KEY_P 80
400 #define GLFW_KEY_Q 81
401 #define GLFW_KEY_R 82
402 #define GLFW_KEY_S 83
403 #define GLFW_KEY_T 84
404 #define GLFW_KEY_U 85
405 #define GLFW_KEY_V 86
406 #define GLFW_KEY_W 87
407 #define GLFW_KEY_X 88
408 #define GLFW_KEY_Y 89
409 #define GLFW_KEY_Z 90
410 #define GLFW_KEY_LEFT_BRACKET 91
411 #define GLFW_KEY_BACKSLASH 92
412 #define GLFW_KEY_RIGHT_BRACKET 93
413 #define GLFW_KEY_GRAVE_ACCENT 96
414 #define GLFW_KEY_WORLD_1 161
415 #define GLFW_KEY_WORLD_2 162
418 #define GLFW_KEY_ESCAPE 256
419 #define GLFW_KEY_ENTER 257
420 #define GLFW_KEY_TAB 258
421 #define GLFW_KEY_BACKSPACE 259
422 #define GLFW_KEY_INSERT 260
423 #define GLFW_KEY_DELETE 261
424 #define GLFW_KEY_RIGHT 262
425 #define GLFW_KEY_LEFT 263
426 #define GLFW_KEY_DOWN 264
427 #define GLFW_KEY_UP 265
428 #define GLFW_KEY_PAGE_UP 266
429 #define GLFW_KEY_PAGE_DOWN 267
430 #define GLFW_KEY_HOME 268
431 #define GLFW_KEY_END 269
432 #define GLFW_KEY_CAPS_LOCK 280
433 #define GLFW_KEY_SCROLL_LOCK 281
434 #define GLFW_KEY_NUM_LOCK 282
435 #define GLFW_KEY_PRINT_SCREEN 283
436 #define GLFW_KEY_PAUSE 284
437 #define GLFW_KEY_F1 290
438 #define GLFW_KEY_F2 291
439 #define GLFW_KEY_F3 292
440 #define GLFW_KEY_F4 293
441 #define GLFW_KEY_F5 294
442 #define GLFW_KEY_F6 295
443 #define GLFW_KEY_F7 296
444 #define GLFW_KEY_F8 297
445 #define GLFW_KEY_F9 298
446 #define GLFW_KEY_F10 299
447 #define GLFW_KEY_F11 300
448 #define GLFW_KEY_F12 301
449 #define GLFW_KEY_F13 302
450 #define GLFW_KEY_F14 303
451 #define GLFW_KEY_F15 304
452 #define GLFW_KEY_F16 305
453 #define GLFW_KEY_F17 306
454 #define GLFW_KEY_F18 307
455 #define GLFW_KEY_F19 308
456 #define GLFW_KEY_F20 309
457 #define GLFW_KEY_F21 310
458 #define GLFW_KEY_F22 311
459 #define GLFW_KEY_F23 312
460 #define GLFW_KEY_F24 313
461 #define GLFW_KEY_F25 314
462 #define GLFW_KEY_KP_0 320
463 #define GLFW_KEY_KP_1 321
464 #define GLFW_KEY_KP_2 322
465 #define GLFW_KEY_KP_3 323
466 #define GLFW_KEY_KP_4 324
467 #define GLFW_KEY_KP_5 325
468 #define GLFW_KEY_KP_6 326
469 #define GLFW_KEY_KP_7 327
470 #define GLFW_KEY_KP_8 328
471 #define GLFW_KEY_KP_9 329
472 #define GLFW_KEY_KP_DECIMAL 330
473 #define GLFW_KEY_KP_DIVIDE 331
474 #define GLFW_KEY_KP_MULTIPLY 332
475 #define GLFW_KEY_KP_SUBTRACT 333
476 #define GLFW_KEY_KP_ADD 334
477 #define GLFW_KEY_KP_ENTER 335
478 #define GLFW_KEY_KP_EQUAL 336
479 #define GLFW_KEY_LEFT_SHIFT 340
480 #define GLFW_KEY_LEFT_CONTROL 341
481 #define GLFW_KEY_LEFT_ALT 342
482 #define GLFW_KEY_LEFT_SUPER 343
483 #define GLFW_KEY_RIGHT_SHIFT 344
484 #define GLFW_KEY_RIGHT_CONTROL 345
485 #define GLFW_KEY_RIGHT_ALT 346
486 #define GLFW_KEY_RIGHT_SUPER 347
487 #define GLFW_KEY_MENU 348
489 #define GLFW_KEY_LAST GLFW_KEY_MENU
505 #define GLFW_MOD_SHIFT 0x0001
510 #define GLFW_MOD_CONTROL 0x0002
515 #define GLFW_MOD_ALT 0x0004
520 #define GLFW_MOD_SUPER 0x0008
526 #define GLFW_MOD_CAPS_LOCK 0x0010
532 #define GLFW_MOD_NUM_LOCK 0x0020
543 #define GLFW_MOUSE_BUTTON_1 0
544 #define GLFW_MOUSE_BUTTON_2 1
545 #define GLFW_MOUSE_BUTTON_3 2
546 #define GLFW_MOUSE_BUTTON_4 3
547 #define GLFW_MOUSE_BUTTON_5 4
548 #define GLFW_MOUSE_BUTTON_6 5
549 #define GLFW_MOUSE_BUTTON_7 6
550 #define GLFW_MOUSE_BUTTON_8 7
551 #define GLFW_MOUSE_BUTTON_LAST GLFW_MOUSE_BUTTON_8
552 #define GLFW_MOUSE_BUTTON_LEFT GLFW_MOUSE_BUTTON_1
553 #define GLFW_MOUSE_BUTTON_RIGHT GLFW_MOUSE_BUTTON_2
554 #define GLFW_MOUSE_BUTTON_MIDDLE GLFW_MOUSE_BUTTON_3
564 #define GLFW_JOYSTICK_1 0
565 #define GLFW_JOYSTICK_2 1
566 #define GLFW_JOYSTICK_3 2
567 #define GLFW_JOYSTICK_4 3
568 #define GLFW_JOYSTICK_5 4
569 #define GLFW_JOYSTICK_6 5
570 #define GLFW_JOYSTICK_7 6
571 #define GLFW_JOYSTICK_8 7
572 #define GLFW_JOYSTICK_9 8
573 #define GLFW_JOYSTICK_10 9
574 #define GLFW_JOYSTICK_11 10
575 #define GLFW_JOYSTICK_12 11
576 #define GLFW_JOYSTICK_13 12
577 #define GLFW_JOYSTICK_14 13
578 #define GLFW_JOYSTICK_15 14
579 #define GLFW_JOYSTICK_16 15
580 #define GLFW_JOYSTICK_LAST GLFW_JOYSTICK_16
590 #define GLFW_GAMEPAD_BUTTON_A 0
591 #define GLFW_GAMEPAD_BUTTON_B 1
592 #define GLFW_GAMEPAD_BUTTON_X 2
593 #define GLFW_GAMEPAD_BUTTON_Y 3
594 #define GLFW_GAMEPAD_BUTTON_LEFT_BUMPER 4
595 #define GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER 5
596 #define GLFW_GAMEPAD_BUTTON_BACK 6
597 #define GLFW_GAMEPAD_BUTTON_START 7
598 #define GLFW_GAMEPAD_BUTTON_GUIDE 8
599 #define GLFW_GAMEPAD_BUTTON_LEFT_THUMB 9
600 #define GLFW_GAMEPAD_BUTTON_RIGHT_THUMB 10
601 #define GLFW_GAMEPAD_BUTTON_DPAD_UP 11
602 #define GLFW_GAMEPAD_BUTTON_DPAD_RIGHT 12
603 #define GLFW_GAMEPAD_BUTTON_DPAD_DOWN 13
604 #define GLFW_GAMEPAD_BUTTON_DPAD_LEFT 14
605 #define GLFW_GAMEPAD_BUTTON_LAST GLFW_GAMEPAD_BUTTON_DPAD_LEFT
607 #define GLFW_GAMEPAD_BUTTON_CROSS GLFW_GAMEPAD_BUTTON_A
608 #define GLFW_GAMEPAD_BUTTON_CIRCLE GLFW_GAMEPAD_BUTTON_B
609 #define GLFW_GAMEPAD_BUTTON_SQUARE GLFW_GAMEPAD_BUTTON_X
610 #define GLFW_GAMEPAD_BUTTON_TRIANGLE GLFW_GAMEPAD_BUTTON_Y
620 #define GLFW_GAMEPAD_AXIS_LEFT_X 0
621 #define GLFW_GAMEPAD_AXIS_LEFT_Y 1
622 #define GLFW_GAMEPAD_AXIS_RIGHT_X 2
623 #define GLFW_GAMEPAD_AXIS_RIGHT_Y 3
624 #define GLFW_GAMEPAD_AXIS_LEFT_TRIGGER 4
625 #define GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER 5
626 #define GLFW_GAMEPAD_AXIS_LAST GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER
642 #define GLFW_NO_ERROR 0
651 #define GLFW_NOT_INITIALIZED 0x00010001
661 #define GLFW_NO_CURRENT_CONTEXT 0x00010002
669 #define GLFW_INVALID_ENUM 0x00010003
680 #define GLFW_INVALID_VALUE 0x00010004
688 #define GLFW_OUT_OF_MEMORY 0x00010005
704 #define GLFW_API_UNAVAILABLE 0x00010006
721 #define GLFW_VERSION_UNAVAILABLE 0x00010007
732 #define GLFW_PLATFORM_ERROR 0x00010008
751 #define GLFW_FORMAT_UNAVAILABLE 0x00010009
759 #define GLFW_NO_WINDOW_CONTEXT 0x0001000A
769 #define GLFW_FOCUSED 0x00020001
774 #define GLFW_ICONIFIED 0x00020002
780 #define GLFW_RESIZABLE 0x00020003
786 #define GLFW_VISIBLE 0x00020004
792 #define GLFW_DECORATED 0x00020005
798 #define GLFW_AUTO_ICONIFY 0x00020006
804 #define GLFW_FLOATING 0x00020007
810 #define GLFW_MAXIMIZED 0x00020008
815 #define GLFW_CENTER_CURSOR 0x00020009
822 #define GLFW_TRANSPARENT_FRAMEBUFFER 0x0002000A
827 #define GLFW_HOVERED 0x0002000B
833 #define GLFW_FOCUS_ON_SHOW 0x0002000C
839 #define GLFW_RED_BITS 0x00021001
844 #define GLFW_GREEN_BITS 0x00021002
849 #define GLFW_BLUE_BITS 0x00021003
854 #define GLFW_ALPHA_BITS 0x00021004
859 #define GLFW_DEPTH_BITS 0x00021005
864 #define GLFW_STENCIL_BITS 0x00021006
869 #define GLFW_ACCUM_RED_BITS 0x00021007
874 #define GLFW_ACCUM_GREEN_BITS 0x00021008
879 #define GLFW_ACCUM_BLUE_BITS 0x00021009
884 #define GLFW_ACCUM_ALPHA_BITS 0x0002100A
889 #define GLFW_AUX_BUFFERS 0x0002100B
894 #define GLFW_STEREO 0x0002100C
899 #define GLFW_SAMPLES 0x0002100D
904 #define GLFW_SRGB_CAPABLE 0x0002100E
909 #define GLFW_REFRESH_RATE 0x0002100F
914 #define GLFW_DOUBLEBUFFER 0x00021010
921 #define GLFW_CLIENT_API 0x00022001
927 #define GLFW_CONTEXT_VERSION_MAJOR 0x00022002
933 #define GLFW_CONTEXT_VERSION_MINOR 0x00022003
939 #define GLFW_CONTEXT_REVISION 0x00022004
945 #define GLFW_CONTEXT_ROBUSTNESS 0x00022005
951 #define GLFW_OPENGL_FORWARD_COMPAT 0x00022006
957 #define GLFW_OPENGL_DEBUG_CONTEXT 0x00022007
963 #define GLFW_OPENGL_PROFILE 0x00022008
969 #define GLFW_CONTEXT_RELEASE_BEHAVIOR 0x00022009
975 #define GLFW_CONTEXT_NO_ERROR 0x0002200A
981 #define GLFW_CONTEXT_CREATION_API 0x0002200B
985 #define GLFW_SCALE_TO_MONITOR 0x0002200C
989 #define GLFW_COCOA_RETINA_FRAMEBUFFER 0x00023001
993 #define GLFW_COCOA_FRAME_NAME 0x00023002
997 #define GLFW_COCOA_GRAPHICS_SWITCHING 0x00023003
1001 #define GLFW_X11_CLASS_NAME 0x00024001
1005 #define GLFW_X11_INSTANCE_NAME 0x00024002
1008 #define GLFW_NO_API 0
1009 #define GLFW_OPENGL_API 0x00030001
1010 #define GLFW_OPENGL_ES_API 0x00030002
1012 #define GLFW_NO_ROBUSTNESS 0
1013 #define GLFW_NO_RESET_NOTIFICATION 0x00031001
1014 #define GLFW_LOSE_CONTEXT_ON_RESET 0x00031002
1016 #define GLFW_OPENGL_ANY_PROFILE 0
1017 #define GLFW_OPENGL_CORE_PROFILE 0x00032001
1018 #define GLFW_OPENGL_COMPAT_PROFILE 0x00032002
1020 #define GLFW_CURSOR 0x00033001
1021 #define GLFW_STICKY_KEYS 0x00033002
1022 #define GLFW_STICKY_MOUSE_BUTTONS 0x00033003
1023 #define GLFW_LOCK_KEY_MODS 0x00033004
1024 #define GLFW_RAW_MOUSE_MOTION 0x00033005
1026 #define GLFW_CURSOR_NORMAL 0x00034001
1027 #define GLFW_CURSOR_HIDDEN 0x00034002
1028 #define GLFW_CURSOR_DISABLED 0x00034003
1030 #define GLFW_ANY_RELEASE_BEHAVIOR 0
1031 #define GLFW_RELEASE_BEHAVIOR_FLUSH 0x00035001
1032 #define GLFW_RELEASE_BEHAVIOR_NONE 0x00035002
1034 #define GLFW_NATIVE_CONTEXT_API 0x00036001
1035 #define GLFW_EGL_CONTEXT_API 0x00036002
1036 #define GLFW_OSMESA_CONTEXT_API 0x00036003
1050 #define GLFW_ARROW_CURSOR 0x00036001
1055 #define GLFW_IBEAM_CURSOR 0x00036002
1060 #define GLFW_CROSSHAIR_CURSOR 0x00036003
1065 #define GLFW_HAND_CURSOR 0x00036004
1070 #define GLFW_HRESIZE_CURSOR 0x00036005
1075 #define GLFW_VRESIZE_CURSOR 0x00036006
1078 #define GLFW_CONNECTED 0x00040001
1079 #define GLFW_DISCONNECTED 0x00040002
1087 #define GLFW_JOYSTICK_HAT_BUTTONS 0x00050001
1092 #define GLFW_COCOA_CHDIR_RESOURCES 0x00051001
1097 #define GLFW_COCOA_MENUBAR 0x00051002
1100 #define GLFW_DONT_CARE -1
1667 unsigned short*
red;
1670 unsigned short*
green;
1673 unsigned short*
blue;
5699 #if defined(VK_VERSION_1_0)
5849 #ifdef GLFW_WINGDIAPI_DEFINED
5851 #undef GLFW_WINGDIAPI_DEFINED
5854 #ifdef GLFW_CALLBACK_DEFINED
5856 #undef GLFW_CALLBACK_DEFINED
5863 #define GLAPIENTRY APIENTRY
int glfwGetError(const char **description)
Returns and clears the last error for the calling thread.
GLFWframebuffersizefun glfwSetFramebufferSizeCallback(GLFWwindow *window, GLFWframebuffersizefun callback)
Sets the framebuffer resize callback for the specified window.
void glfwSetWindowSize(GLFWwindow *window, int width, int height)
Sets the size of the content area of the specified window.
void(* GLFWwindowrefreshfun)(GLFWwindow *)
The function pointer type for window content refresh callbacks.
Definition: glfw3.h:1273
struct GLFWgammaramp GLFWgammaramp
Gamma ramp.
struct GLFWimage GLFWimage
Image data.
void glfwSetWindowPos(GLFWwindow *window, int xpos, int ypos)
Sets the position of the content area of the specified window.
void glfwSetWindowAttrib(GLFWwindow *window, int attrib, int value)
Sets an attribute of the specified window.
void glfwRestoreWindow(GLFWwindow *window)
Restores the specified window.
void glfwGetMonitorContentScale(GLFWmonitor *monitor, float *xscale, float *yscale)
Retrieves the content scale for the specified monitor.
void glfwGetWindowContentScale(GLFWwindow *window, float *xscale, float *yscale)
Retrieves the content scale for the specified window.
GLFWwindowrefreshfun glfwSetWindowRefreshCallback(GLFWwindow *window, GLFWwindowrefreshfun callback)
Sets the refresh callback for the specified window.
GLFWmonitorfun glfwSetMonitorCallback(GLFWmonitorfun callback)
Sets the monitor configuration callback.
int height
Definition: glfw3.h:1694
Gamma ramp.
Definition: glfw3.h:1658
void(* GLFWerrorfun)(int, const char *)
The function pointer type for error callbacks.
Definition: glfw3.h:1188
GLFWwindowsizefun glfwSetWindowSizeCallback(GLFWwindow *window, GLFWwindowsizefun callback)
Sets the size callback for the specified window.
void(* GLFWwindowmaximizefun)(GLFWwindow *, int)
The function pointer type for window maximize callbacks.
Definition: glfw3.h:1336
GLFWwindow * glfwGetCurrentContext(void)
Returns the window whose context is current on the calling thread.
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 glfwGetWindowPos(GLFWwindow *window, int *xpos, int *ypos)
Retrieves the position of the content area of the specified window.
GLFWwindowmaximizefun glfwSetWindowMaximizeCallback(GLFWwindow *window, GLFWwindowmaximizefun callback)
Sets the maximize callback for the specified window.
void(* GLFWvkproc)(void)
Vulkan API function pointer type.
Definition: glfw3.h:1128
void glfwSetWindowTitle(GLFWwindow *window, const char *title)
Sets the title of the specified window.
struct GLFWwindow GLFWwindow
Opaque window object.
Definition: glfw3.h:1152
void glfwGetMonitorWorkarea(GLFWmonitor *monitor, int *xpos, int *ypos, int *width, int *height)
Retrieves the work area of the monitor.
void glfwTerminate(void)
Terminates the GLFW library.
int glfwExtensionSupported(const char *extension)
Returns whether the specified extension is available.
void glfwSwapBuffers(GLFWwindow *window)
Swaps the front and back buffers of the specified window.
void glfwMakeContextCurrent(GLFWwindow *window)
Makes the context of the specified window current for the calling thread.
void glfwSwapInterval(int interval)
Sets the swap interval for the current context.
int blueBits
Definition: glfw3.h:1640
void glfwGetWindowFrameSize(GLFWwindow *window, int *left, int *top, int *right, int *bottom)
Retrieves the size of the frame of the window.
int glfwWindowShouldClose(GLFWwindow *window)
Checks the close flag of the specified window.
void glfwSetGammaRamp(GLFWmonitor *monitor, const GLFWgammaramp *ramp)
Sets the current gamma ramp for the specified monitor.
void glfwInitHint(int hint, int value)
Sets the specified init hint to the desired value.
void glfwPollEvents(void)
Processes all pending events.
void glfwWaitEvents(void)
Waits until events are queued and processes them.
const char * glfwGetMonitorName(GLFWmonitor *monitor)
Returns the name of the specified monitor.
void glfwSetWindowSizeLimits(GLFWwindow *window, int minwidth, int minheight, int maxwidth, int maxheight)
Sets the size limits of the specified window.
GLFWmonitor * glfwGetPrimaryMonitor(void)
Returns the primary monitor.
void(* GLFWmonitorfun)(GLFWmonitor *, int)
The function pointer type for monitor configuration callbacks.
Definition: glfw3.h:1588
GLFWwindowfocusfun glfwSetWindowFocusCallback(GLFWwindow *window, GLFWwindowfocusfun callback)
Sets the focus callback for the specified window.
const char ** glfwGetRequiredInstanceExtensions(uint32_t *count)
Returns the Vulkan instance extensions required by GLFW.
GLFWwindowclosefun glfwSetWindowCloseCallback(GLFWwindow *window, GLFWwindowclosefun callback)
Sets the close callback for the specified window.
void glfwFocusWindow(GLFWwindow *window)
Brings the specified window to front and sets input focus.
void(* GLFWglproc)(void)
Client API function pointer type.
Definition: glfw3.h:1114
int height
Definition: glfw3.h:1631
GLFWwindowcontentscalefun glfwSetWindowContentScaleCallback(GLFWwindow *window, GLFWwindowcontentscalefun callback)
Sets the window content scale callback for the specified window.
GLFWwindowposfun glfwSetWindowPosCallback(GLFWwindow *window, GLFWwindowposfun callback)
Sets the position callback for the specified window.
void(* GLFWframebuffersizefun)(GLFWwindow *, int, int)
The function pointer type for framebuffer size callbacks.
Definition: glfw3.h:1357
GLFWmonitor ** glfwGetMonitors(int *count)
Returns the currently connected monitors.
void glfwSetMonitorUserPointer(GLFWmonitor *monitor, void *pointer)
Sets the user pointer of the specified monitor.
unsigned char * pixels
Definition: glfw3.h:1697
const GLFWvidmode * glfwGetVideoModes(GLFWmonitor *monitor, int *count)
Returns the available video modes for the specified monitor.
void glfwShowWindow(GLFWwindow *window)
Makes the specified window visible.
unsigned short * green
Definition: glfw3.h:1665
void glfwRequestWindowAttention(GLFWwindow *window)
Requests user attention to the specified window.
unsigned char buttons[15]
Definition: glfw3.h:1716
int glfwVulkanSupported(void)
Returns whether the Vulkan loader and an ICD have been found.
void glfwGetMonitorPos(GLFWmonitor *monitor, int *xpos, int *ypos)
Returns the position of the monitor's viewport on the virtual screen.
void glfwHideWindow(GLFWwindow *window)
Hides the specified window.
int width
Definition: glfw3.h:1628
void glfwMaximizeWindow(GLFWwindow *window)
Maximizes the specified window.
unsigned int size
Definition: glfw3.h:1671
VkResult glfwCreateWindowSurface(VkInstance instance, GLFWwindow *window, const VkAllocationCallbacks *allocator, VkSurfaceKHR *surface)
Creates a Vulkan surface for the specified window.
void(* GLFWwindowcontentscalefun)(GLFWwindow *, float, float)
The function pointer type for window content scale callbacks.
Definition: glfw3.h:1378
unsigned short * red
Definition: glfw3.h:1662
void glfwDefaultWindowHints(void)
Resets all window hints to their default values.
void glfwSetWindowIcon(GLFWwindow *window, int count, const GLFWimage *images)
Sets the icon for the specified window.
int width
Definition: glfw3.h:1691
GLFWwindow * glfwCreateWindow(int width, int height, const char *title, GLFWmonitor *monitor, GLFWwindow *share)
Creates a window and its associated context.
void glfwSetWindowShouldClose(GLFWwindow *window, int value)
Sets the close flag of the specified window.
void glfwSetWindowAspectRatio(GLFWwindow *window, int numer, int denom)
Sets the aspect ratio of the specified window.
void * glfwGetMonitorUserPointer(GLFWmonitor *monitor)
Returns the user pointer of the specified monitor.
void glfwWaitEventsTimeout(double timeout)
Waits with timeout until events are queued and processes them.
int greenBits
Definition: glfw3.h:1637
void glfwGetMonitorPhysicalSize(GLFWmonitor *monitor, int *widthMM, int *heightMM)
Returns the physical size of the monitor.
void(* GLFWwindowiconifyfun)(GLFWwindow *, int)
The function pointer type for window iconify callbacks.
Definition: glfw3.h:1315
Gamepad input state.
Definition: glfw3.h:1711
struct GLFWvidmode GLFWvidmode
Video mode type.
int glfwInit(void)
Initializes the GLFW library.
float axes[6]
Definition: glfw3.h:1720
void glfwWindowHintString(int hint, const char *value)
Sets the specified window hint to the desired value.
float glfwGetWindowOpacity(GLFWwindow *window)
Returns the opacity of the whole window.
Image data.
Definition: glfw3.h:1687
void glfwSetWindowOpacity(GLFWwindow *window, float opacity)
Sets the opacity of the whole window.
GLFWglproc glfwGetProcAddress(const char *procname)
Returns the address of the specified function for the current context.
const GLFWgammaramp * glfwGetGammaRamp(GLFWmonitor *monitor)
Returns the current gamma ramp for the specified monitor.
void(* GLFWwindowsizefun)(GLFWwindow *, int, int)
The function pointer type for window size callbacks.
Definition: glfw3.h:1233
unsigned short * blue
Definition: glfw3.h:1668
GLFWmonitor * glfwGetWindowMonitor(GLFWwindow *window)
Returns the monitor that the window uses for full screen mode.
void glfwIconifyWindow(GLFWwindow *window)
Iconifies the specified window.
const char * glfwGetVersionString(void)
Returns a string describing the compile-time configuration.
void glfwSetWindowUserPointer(GLFWwindow *window, void *pointer)
Sets the user pointer of the specified window.
void glfwPostEmptyEvent(void)
Posts an empty event to the event queue.
int glfwGetWindowAttrib(GLFWwindow *window, int attrib)
Returns an attribute of the specified window.
void(* GLFWwindowfocusfun)(GLFWwindow *, int)
The function pointer type for window focus callbacks.
Definition: glfw3.h:1294
GLFWwindowiconifyfun glfwSetWindowIconifyCallback(GLFWwindow *window, GLFWwindowiconifyfun callback)
Sets the iconify callback for the specified window.
void glfwGetWindowSize(GLFWwindow *window, int *width, int *height)
Retrieves the size of the content area of the specified window.
Video mode type.
Definition: glfw3.h:1624
GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun callback)
Sets the error callback.
void glfwGetFramebufferSize(GLFWwindow *window, int *width, int *height)
Retrieves the size of the framebuffer of the specified window.
void(* GLFWwindowclosefun)(GLFWwindow *)
The function pointer type for window close callbacks.
Definition: glfw3.h:1253
int redBits
Definition: glfw3.h:1634
void glfwWindowHint(int hint, int value)
Sets the specified window hint to the desired value.
void glfwGetVersion(int *major, int *minor, int *rev)
Retrieves the version of the GLFW library.
int glfwGetPhysicalDevicePresentationSupport(VkInstance instance, VkPhysicalDevice device, uint32_t queuefamily)
Returns whether the specified queue family can present images.
void glfwSetGamma(GLFWmonitor *monitor, float gamma)
Generates a gamma ramp and sets it for the specified monitor.
void(* GLFWwindowposfun)(GLFWwindow *, int, int)
The function pointer type for window position callbacks.
Definition: glfw3.h:1211
const GLFWvidmode * glfwGetVideoMode(GLFWmonitor *monitor)
Returns the current mode of the specified monitor.
void glfwDestroyWindow(GLFWwindow *window)
Destroys the specified window and its context.
struct GLFWmonitor GLFWmonitor
Opaque monitor object.
Definition: glfw3.h:1140
int refreshRate
Definition: glfw3.h:1643
void * glfwGetWindowUserPointer(GLFWwindow *window)
Returns the user pointer of the specified window.
GLFWvkproc glfwGetInstanceProcAddress(VkInstance instance, const char *procname)
Returns the address of the specified Vulkan instance function.