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 10
331 #define GLFW_RELEASE 0
345 #define GLFW_REPEAT 2
355 #define GLFW_HAT_CENTERED 0
356 #define GLFW_HAT_UP 1
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)
367 #define GLFW_KEY_UNKNOWN -1
396 #define GLFW_KEY_SPACE 32
397 #define GLFW_KEY_APOSTROPHE 39
398 #define GLFW_KEY_COMMA 44
399 #define GLFW_KEY_MINUS 45
400 #define GLFW_KEY_PERIOD 46
401 #define GLFW_KEY_SLASH 47
402 #define GLFW_KEY_0 48
403 #define GLFW_KEY_1 49
404 #define GLFW_KEY_2 50
405 #define GLFW_KEY_3 51
406 #define GLFW_KEY_4 52
407 #define GLFW_KEY_5 53
408 #define GLFW_KEY_6 54
409 #define GLFW_KEY_7 55
410 #define GLFW_KEY_8 56
411 #define GLFW_KEY_9 57
412 #define GLFW_KEY_SEMICOLON 59
413 #define GLFW_KEY_EQUAL 61
414 #define GLFW_KEY_A 65
415 #define GLFW_KEY_B 66
416 #define GLFW_KEY_C 67
417 #define GLFW_KEY_D 68
418 #define GLFW_KEY_E 69
419 #define GLFW_KEY_F 70
420 #define GLFW_KEY_G 71
421 #define GLFW_KEY_H 72
422 #define GLFW_KEY_I 73
423 #define GLFW_KEY_J 74
424 #define GLFW_KEY_K 75
425 #define GLFW_KEY_L 76
426 #define GLFW_KEY_M 77
427 #define GLFW_KEY_N 78
428 #define GLFW_KEY_O 79
429 #define GLFW_KEY_P 80
430 #define GLFW_KEY_Q 81
431 #define GLFW_KEY_R 82
432 #define GLFW_KEY_S 83
433 #define GLFW_KEY_T 84
434 #define GLFW_KEY_U 85
435 #define GLFW_KEY_V 86
436 #define GLFW_KEY_W 87
437 #define GLFW_KEY_X 88
438 #define GLFW_KEY_Y 89
439 #define GLFW_KEY_Z 90
440 #define GLFW_KEY_LEFT_BRACKET 91
441 #define GLFW_KEY_BACKSLASH 92
442 #define GLFW_KEY_RIGHT_BRACKET 93
443 #define GLFW_KEY_GRAVE_ACCENT 96
444 #define GLFW_KEY_WORLD_1 161
445 #define GLFW_KEY_WORLD_2 162
448 #define GLFW_KEY_ESCAPE 256
449 #define GLFW_KEY_ENTER 257
450 #define GLFW_KEY_TAB 258
451 #define GLFW_KEY_BACKSPACE 259
452 #define GLFW_KEY_INSERT 260
453 #define GLFW_KEY_DELETE 261
454 #define GLFW_KEY_RIGHT 262
455 #define GLFW_KEY_LEFT 263
456 #define GLFW_KEY_DOWN 264
457 #define GLFW_KEY_UP 265
458 #define GLFW_KEY_PAGE_UP 266
459 #define GLFW_KEY_PAGE_DOWN 267
460 #define GLFW_KEY_HOME 268
461 #define GLFW_KEY_END 269
462 #define GLFW_KEY_CAPS_LOCK 280
463 #define GLFW_KEY_SCROLL_LOCK 281
464 #define GLFW_KEY_NUM_LOCK 282
465 #define GLFW_KEY_PRINT_SCREEN 283
466 #define GLFW_KEY_PAUSE 284
467 #define GLFW_KEY_F1 290
468 #define GLFW_KEY_F2 291
469 #define GLFW_KEY_F3 292
470 #define GLFW_KEY_F4 293
471 #define GLFW_KEY_F5 294
472 #define GLFW_KEY_F6 295
473 #define GLFW_KEY_F7 296
474 #define GLFW_KEY_F8 297
475 #define GLFW_KEY_F9 298
476 #define GLFW_KEY_F10 299
477 #define GLFW_KEY_F11 300
478 #define GLFW_KEY_F12 301
479 #define GLFW_KEY_F13 302
480 #define GLFW_KEY_F14 303
481 #define GLFW_KEY_F15 304
482 #define GLFW_KEY_F16 305
483 #define GLFW_KEY_F17 306
484 #define GLFW_KEY_F18 307
485 #define GLFW_KEY_F19 308
486 #define GLFW_KEY_F20 309
487 #define GLFW_KEY_F21 310
488 #define GLFW_KEY_F22 311
489 #define GLFW_KEY_F23 312
490 #define GLFW_KEY_F24 313
491 #define GLFW_KEY_F25 314
492 #define GLFW_KEY_KP_0 320
493 #define GLFW_KEY_KP_1 321
494 #define GLFW_KEY_KP_2 322
495 #define GLFW_KEY_KP_3 323
496 #define GLFW_KEY_KP_4 324
497 #define GLFW_KEY_KP_5 325
498 #define GLFW_KEY_KP_6 326
499 #define GLFW_KEY_KP_7 327
500 #define GLFW_KEY_KP_8 328
501 #define GLFW_KEY_KP_9 329
502 #define GLFW_KEY_KP_DECIMAL 330
503 #define GLFW_KEY_KP_DIVIDE 331
504 #define GLFW_KEY_KP_MULTIPLY 332
505 #define GLFW_KEY_KP_SUBTRACT 333
506 #define GLFW_KEY_KP_ADD 334
507 #define GLFW_KEY_KP_ENTER 335
508 #define GLFW_KEY_KP_EQUAL 336
509 #define GLFW_KEY_LEFT_SHIFT 340
510 #define GLFW_KEY_LEFT_CONTROL 341
511 #define GLFW_KEY_LEFT_ALT 342
512 #define GLFW_KEY_LEFT_SUPER 343
513 #define GLFW_KEY_RIGHT_SHIFT 344
514 #define GLFW_KEY_RIGHT_CONTROL 345
515 #define GLFW_KEY_RIGHT_ALT 346
516 #define GLFW_KEY_RIGHT_SUPER 347
517 #define GLFW_KEY_MENU 348
519 #define GLFW_KEY_LAST GLFW_KEY_MENU
535 #define GLFW_MOD_SHIFT 0x0001
540 #define GLFW_MOD_CONTROL 0x0002
545 #define GLFW_MOD_ALT 0x0004
550 #define GLFW_MOD_SUPER 0x0008
556 #define GLFW_MOD_CAPS_LOCK 0x0010
562 #define GLFW_MOD_NUM_LOCK 0x0020
573 #define GLFW_MOUSE_BUTTON_1 0
574 #define GLFW_MOUSE_BUTTON_2 1
575 #define GLFW_MOUSE_BUTTON_3 2
576 #define GLFW_MOUSE_BUTTON_4 3
577 #define GLFW_MOUSE_BUTTON_5 4
578 #define GLFW_MOUSE_BUTTON_6 5
579 #define GLFW_MOUSE_BUTTON_7 6
580 #define GLFW_MOUSE_BUTTON_8 7
581 #define GLFW_MOUSE_BUTTON_LAST GLFW_MOUSE_BUTTON_8
582 #define GLFW_MOUSE_BUTTON_LEFT GLFW_MOUSE_BUTTON_1
583 #define GLFW_MOUSE_BUTTON_RIGHT GLFW_MOUSE_BUTTON_2
584 #define GLFW_MOUSE_BUTTON_MIDDLE GLFW_MOUSE_BUTTON_3
594 #define GLFW_JOYSTICK_1 0
595 #define GLFW_JOYSTICK_2 1
596 #define GLFW_JOYSTICK_3 2
597 #define GLFW_JOYSTICK_4 3
598 #define GLFW_JOYSTICK_5 4
599 #define GLFW_JOYSTICK_6 5
600 #define GLFW_JOYSTICK_7 6
601 #define GLFW_JOYSTICK_8 7
602 #define GLFW_JOYSTICK_9 8
603 #define GLFW_JOYSTICK_10 9
604 #define GLFW_JOYSTICK_11 10
605 #define GLFW_JOYSTICK_12 11
606 #define GLFW_JOYSTICK_13 12
607 #define GLFW_JOYSTICK_14 13
608 #define GLFW_JOYSTICK_15 14
609 #define GLFW_JOYSTICK_16 15
610 #define GLFW_JOYSTICK_LAST GLFW_JOYSTICK_16
620 #define GLFW_GAMEPAD_BUTTON_A 0
621 #define GLFW_GAMEPAD_BUTTON_B 1
622 #define GLFW_GAMEPAD_BUTTON_X 2
623 #define GLFW_GAMEPAD_BUTTON_Y 3
624 #define GLFW_GAMEPAD_BUTTON_LEFT_BUMPER 4
625 #define GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER 5
626 #define GLFW_GAMEPAD_BUTTON_BACK 6
627 #define GLFW_GAMEPAD_BUTTON_START 7
628 #define GLFW_GAMEPAD_BUTTON_GUIDE 8
629 #define GLFW_GAMEPAD_BUTTON_LEFT_THUMB 9
630 #define GLFW_GAMEPAD_BUTTON_RIGHT_THUMB 10
631 #define GLFW_GAMEPAD_BUTTON_DPAD_UP 11
632 #define GLFW_GAMEPAD_BUTTON_DPAD_RIGHT 12
633 #define GLFW_GAMEPAD_BUTTON_DPAD_DOWN 13
634 #define GLFW_GAMEPAD_BUTTON_DPAD_LEFT 14
635 #define GLFW_GAMEPAD_BUTTON_LAST GLFW_GAMEPAD_BUTTON_DPAD_LEFT
637 #define GLFW_GAMEPAD_BUTTON_CROSS GLFW_GAMEPAD_BUTTON_A
638 #define GLFW_GAMEPAD_BUTTON_CIRCLE GLFW_GAMEPAD_BUTTON_B
639 #define GLFW_GAMEPAD_BUTTON_SQUARE GLFW_GAMEPAD_BUTTON_X
640 #define GLFW_GAMEPAD_BUTTON_TRIANGLE GLFW_GAMEPAD_BUTTON_Y
650 #define GLFW_GAMEPAD_AXIS_LEFT_X 0
651 #define GLFW_GAMEPAD_AXIS_LEFT_Y 1
652 #define GLFW_GAMEPAD_AXIS_RIGHT_X 2
653 #define GLFW_GAMEPAD_AXIS_RIGHT_Y 3
654 #define GLFW_GAMEPAD_AXIS_LEFT_TRIGGER 4
655 #define GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER 5
656 #define GLFW_GAMEPAD_AXIS_LAST GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER
672 #define GLFW_NO_ERROR 0
681 #define GLFW_NOT_INITIALIZED 0x00010001
691 #define GLFW_NO_CURRENT_CONTEXT 0x00010002
699 #define GLFW_INVALID_ENUM 0x00010003
710 #define GLFW_INVALID_VALUE 0x00010004
718 #define GLFW_OUT_OF_MEMORY 0x00010005
734 #define GLFW_API_UNAVAILABLE 0x00010006
751 #define GLFW_VERSION_UNAVAILABLE 0x00010007
762 #define GLFW_PLATFORM_ERROR 0x00010008
781 #define GLFW_FORMAT_UNAVAILABLE 0x00010009
789 #define GLFW_NO_WINDOW_CONTEXT 0x0001000A
799 #define GLFW_FOCUSED 0x00020001
804 #define GLFW_ICONIFIED 0x00020002
810 #define GLFW_RESIZABLE 0x00020003
816 #define GLFW_VISIBLE 0x00020004
822 #define GLFW_DECORATED 0x00020005
828 #define GLFW_AUTO_ICONIFY 0x00020006
834 #define GLFW_FLOATING 0x00020007
840 #define GLFW_MAXIMIZED 0x00020008
845 #define GLFW_CENTER_CURSOR 0x00020009
852 #define GLFW_TRANSPARENT_FRAMEBUFFER 0x0002000A
857 #define GLFW_HOVERED 0x0002000B
863 #define GLFW_FOCUS_ON_SHOW 0x0002000C
869 #define GLFW_RED_BITS 0x00021001
874 #define GLFW_GREEN_BITS 0x00021002
879 #define GLFW_BLUE_BITS 0x00021003
884 #define GLFW_ALPHA_BITS 0x00021004
889 #define GLFW_DEPTH_BITS 0x00021005
894 #define GLFW_STENCIL_BITS 0x00021006
899 #define GLFW_ACCUM_RED_BITS 0x00021007
904 #define GLFW_ACCUM_GREEN_BITS 0x00021008
909 #define GLFW_ACCUM_BLUE_BITS 0x00021009
914 #define GLFW_ACCUM_ALPHA_BITS 0x0002100A
919 #define GLFW_AUX_BUFFERS 0x0002100B
924 #define GLFW_STEREO 0x0002100C
929 #define GLFW_SAMPLES 0x0002100D
934 #define GLFW_SRGB_CAPABLE 0x0002100E
939 #define GLFW_REFRESH_RATE 0x0002100F
944 #define GLFW_DOUBLEBUFFER 0x00021010
951 #define GLFW_CLIENT_API 0x00022001
957 #define GLFW_CONTEXT_VERSION_MAJOR 0x00022002
963 #define GLFW_CONTEXT_VERSION_MINOR 0x00022003
969 #define GLFW_CONTEXT_REVISION 0x00022004
975 #define GLFW_CONTEXT_ROBUSTNESS 0x00022005
981 #define GLFW_OPENGL_FORWARD_COMPAT 0x00022006
987 #define GLFW_OPENGL_DEBUG_CONTEXT 0x00022007
993 #define GLFW_OPENGL_PROFILE 0x00022008
999 #define GLFW_CONTEXT_RELEASE_BEHAVIOR 0x00022009
1005 #define GLFW_CONTEXT_NO_ERROR 0x0002200A
1011 #define GLFW_CONTEXT_CREATION_API 0x0002200B
1015 #define GLFW_SCALE_TO_MONITOR 0x0002200C
1019 #define GLFW_COCOA_RETINA_FRAMEBUFFER 0x00023001
1023 #define GLFW_COCOA_FRAME_NAME 0x00023002
1027 #define GLFW_COCOA_GRAPHICS_SWITCHING 0x00023003
1031 #define GLFW_X11_CLASS_NAME 0x00024001
1035 #define GLFW_X11_INSTANCE_NAME 0x00024002
1038 #define GLFW_NO_API 0
1039 #define GLFW_OPENGL_API 0x00030001
1040 #define GLFW_OPENGL_ES_API 0x00030002
1042 #define GLFW_NO_ROBUSTNESS 0
1043 #define GLFW_NO_RESET_NOTIFICATION 0x00031001
1044 #define GLFW_LOSE_CONTEXT_ON_RESET 0x00031002
1046 #define GLFW_OPENGL_ANY_PROFILE 0
1047 #define GLFW_OPENGL_CORE_PROFILE 0x00032001
1048 #define GLFW_OPENGL_COMPAT_PROFILE 0x00032002
1050 #define GLFW_CURSOR 0x00033001
1051 #define GLFW_STICKY_KEYS 0x00033002
1052 #define GLFW_STICKY_MOUSE_BUTTONS 0x00033003
1053 #define GLFW_LOCK_KEY_MODS 0x00033004
1054 #define GLFW_RAW_MOUSE_MOTION 0x00033005
1056 #define GLFW_CURSOR_NORMAL 0x00034001
1057 #define GLFW_CURSOR_HIDDEN 0x00034002
1058 #define GLFW_CURSOR_DISABLED 0x00034003
1060 #define GLFW_ANY_RELEASE_BEHAVIOR 0
1061 #define GLFW_RELEASE_BEHAVIOR_FLUSH 0x00035001
1062 #define GLFW_RELEASE_BEHAVIOR_NONE 0x00035002
1064 #define GLFW_NATIVE_CONTEXT_API 0x00036001
1065 #define GLFW_EGL_CONTEXT_API 0x00036002
1066 #define GLFW_OSMESA_CONTEXT_API 0x00036003
1068 #define GLFW_WAYLAND_PREFER_LIBDECOR 0x00038001
1069 #define GLFW_WAYLAND_DISABLE_LIBDECOR 0x00038002
1083 #define GLFW_ARROW_CURSOR 0x00036001
1088 #define GLFW_IBEAM_CURSOR 0x00036002
1093 #define GLFW_CROSSHAIR_CURSOR 0x00036003
1098 #define GLFW_HAND_CURSOR 0x00036004
1103 #define GLFW_HRESIZE_CURSOR 0x00036005
1108 #define GLFW_VRESIZE_CURSOR 0x00036006
1111 #define GLFW_CONNECTED 0x00040001
1112 #define GLFW_DISCONNECTED 0x00040002
1120 #define GLFW_JOYSTICK_HAT_BUTTONS 0x00050001
1125 #define GLFW_COCOA_CHDIR_RESOURCES 0x00051001
1130 #define GLFW_COCOA_MENUBAR 0x00051002
1135 #define GLFW_WAYLAND_LIBDECOR 0x00053001
1138 #define GLFW_DONT_CARE -1
5758 #if defined(VK_VERSION_1_0)
5910 #ifdef GLFW_WINGDIAPI_DEFINED
5912 #undef GLFW_WINGDIAPI_DEFINED
5915 #ifdef GLFW_CALLBACK_DEFINED
5917 #undef GLFW_CALLBACK_DEFINED
5924 #define GLAPIENTRY APIENTRY
5925 #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:1157
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.
void glfwInitHint(int hint, int value)
Sets the specified init hint to the desired value.
const char * glfwGetVersionString(void)
Returns a string describing the compile-time configuration.
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:1231
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.
GLFWmonitor ** glfwGetMonitors(int *count)
Returns the currently connected monitors.
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 * glfwGetPrimaryMonitor(void)
Returns the primary monitor.
void glfwGetMonitorWorkarea(GLFWmonitor *monitor, int *xpos, int *ypos, int *width, int *height)
Retrieves the work area of the 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.
const GLFWvidmode * glfwGetVideoModes(GLFWmonitor *monitor, int *count)
Returns the available video modes for the specified monitor.
struct GLFWmonitor GLFWmonitor
Opaque monitor object.
Definition: glfw3.h:1183
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:1631
GLFWmonitorfun glfwSetMonitorCallback(GLFWmonitorfun callback)
Sets the monitor configuration callback.
const GLFWgammaramp * glfwGetGammaRamp(GLFWmonitor *monitor)
Returns the current gamma ramp for the specified monitor.
void * glfwGetMonitorUserPointer(GLFWmonitor *monitor)
Returns the user pointer of the specified monitor.
void glfwGetMonitorContentScale(GLFWmonitor *monitor, float *xscale, float *yscale)
Retrieves the content scale for the specified monitor.
const GLFWvidmode * glfwGetVideoMode(GLFWmonitor *monitor)
Returns the current mode of the specified monitor.
VkResult glfwCreateWindowSurface(VkInstance instance, GLFWwindow *window, const VkAllocationCallbacks *allocator, VkSurfaceKHR *surface)
Creates a Vulkan surface for the specified window.
const char ** glfwGetRequiredInstanceExtensions(uint32_t *count)
Returns the Vulkan instance extensions required by GLFW.
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:1171
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 * glfwGetWindowUserPointer(GLFWwindow *window)
Returns the user pointer 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:1379
void(* GLFWwindowiconifyfun)(GLFWwindow *window, int iconified)
The function pointer type for window iconify callbacks.
Definition: glfw3.h:1358
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:1195
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:1316
void glfwHideWindow(GLFWwindow *window)
Hides the specified window.
void glfwSetWindowShouldClose(GLFWwindow *window, int value)
Sets the close flag of the specified window.
void glfwRestoreWindow(GLFWwindow *window)
Restores the specified window.
void glfwWaitEvents(void)
Waits until events are queued and processes them.
GLFWwindow * glfwCreateWindow(int width, int height, const char *title, GLFWmonitor *monitor, GLFWwindow *share)
Creates a window and its associated context.
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:1421
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:1337
void(* GLFWwindowposfun)(GLFWwindow *window, int xpos, int ypos)
The function pointer type for window position callbacks.
Definition: glfw3.h:1254
void(* GLFWwindowclosefun)(GLFWwindow *window)
The function pointer type for window close callbacks.
Definition: glfw3.h:1296
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:1400
GLFWmonitor * glfwGetWindowMonitor(GLFWwindow *window)
Returns the monitor that the window uses for full screen mode.
void(* GLFWwindowsizefun)(GLFWwindow *window, int width, int height)
The function pointer type for window size callbacks.
Definition: glfw3.h:1276
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:1755
unsigned char buttons[15]
Definition: glfw3.h:1759
float axes[6]
Definition: glfw3.h:1763
Gamma ramp.
Definition: glfw3.h:1702
unsigned short * red
Definition: glfw3.h:1705
unsigned short * blue
Definition: glfw3.h:1711
unsigned int size
Definition: glfw3.h:1714
unsigned short * green
Definition: glfw3.h:1708
Image data.
Definition: glfw3.h:1731
int height
Definition: glfw3.h:1737
unsigned char * pixels
Definition: glfw3.h:1740
int width
Definition: glfw3.h:1734
Video mode type.
Definition: glfw3.h:1668
int greenBits
Definition: glfw3.h:1680
int redBits
Definition: glfw3.h:1677
int width
Definition: glfw3.h:1671
int refreshRate
Definition: glfw3.h:1686
int height
Definition: glfw3.h:1674
int blueBits
Definition: glfw3.h:1683