Wise&mystical  1.0
Project about Europe
Loading...
Searching...
No Matches
glfw3.h
Go to the documentation of this file.
1
29#ifndef _glfw3_h_
30#define _glfw3_h_
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36
37
89
93/* If we are we on Windows, we want a single define for it.
94 */
95#if !defined(_WIN32) && (defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__))
96 #define _WIN32
97#endif /* _WIN32 */
98
99/* Include because most Windows GLU headers need wchar_t and
100 * the macOS OpenGL header blocks the definition of ptrdiff_t by glext.h.
101 * Include it unconditionally to avoid surprising side-effects.
102 */
103#include <stddef.h>
104
105/* Include because it is needed by Vulkan and related functions.
106 * Include it unconditionally to avoid surprising side-effects.
107 */
108#include <stdint.h>
109
110#if defined(GLFW_INCLUDE_VULKAN)
111 #include <vulkan/vulkan.h>
112#endif /* Vulkan header */
113
114/* The Vulkan header may have indirectly included windows.h (because of
115 * VK_USE_PLATFORM_WIN32_KHR) so we offer our replacement symbols after it.
116 */
117
118/* It is customary to use APIENTRY for OpenGL function pointer declarations on
119 * all platforms. Additionally, the Windows OpenGL header needs APIENTRY.
120 */
121#if !defined(APIENTRY)
122 #if defined(_WIN32)
123 #define APIENTRY __stdcall
124 #else
125 #define APIENTRY
126 #endif
127 #define GLFW_APIENTRY_DEFINED
128#endif /* APIENTRY */
129
130/* Some Windows OpenGL headers need this.
131 */
132#if !defined(WINGDIAPI) && defined(_WIN32)
133 #define WINGDIAPI __declspec(dllimport)
134 #define GLFW_WINGDIAPI_DEFINED
135#endif /* WINGDIAPI */
136
137/* Some Windows GLU headers need this.
138 */
139#if !defined(CALLBACK) && defined(_WIN32)
140 #define CALLBACK __stdcall
141 #define GLFW_CALLBACK_DEFINED
142#endif /* CALLBACK */
143
144/* Include the chosen OpenGL or OpenGL ES headers.
145 */
146#if defined(GLFW_INCLUDE_ES1)
147
148 #include <GLES/gl.h>
149 #if defined(GLFW_INCLUDE_GLEXT)
150 #include <GLES/glext.h>
151 #endif
152
153#elif defined(GLFW_INCLUDE_ES2)
154
155 #include <GLES2/gl2.h>
156 #if defined(GLFW_INCLUDE_GLEXT)
157 #include <GLES2/gl2ext.h>
158 #endif
159
160#elif defined(GLFW_INCLUDE_ES3)
161
162 #include <GLES3/gl3.h>
163 #if defined(GLFW_INCLUDE_GLEXT)
164 #include <GLES2/gl2ext.h>
165 #endif
166
167#elif defined(GLFW_INCLUDE_ES31)
168
169 #include <GLES3/gl31.h>
170 #if defined(GLFW_INCLUDE_GLEXT)
171 #include <GLES2/gl2ext.h>
172 #endif
173
174#elif defined(GLFW_INCLUDE_ES32)
175
176 #include <GLES3/gl32.h>
177 #if defined(GLFW_INCLUDE_GLEXT)
178 #include <GLES2/gl2ext.h>
179 #endif
180
181#elif defined(GLFW_INCLUDE_GLCOREARB)
182
183 #if defined(__APPLE__)
184
185 #include <OpenGL/gl3.h>
186 #if defined(GLFW_INCLUDE_GLEXT)
187 #include <OpenGL/gl3ext.h>
188 #endif /*GLFW_INCLUDE_GLEXT*/
189
190 #else /*__APPLE__*/
191
192 #include <GL/glcorearb.h>
193
194 #endif /*__APPLE__*/
195
196#elif defined(GLFW_INCLUDE_GLU)
197
198 #if defined(__APPLE__)
199
200 #if defined(GLFW_INCLUDE_GLU)
201 #include <OpenGL/glu.h>
202 #endif
203
204 #else /*__APPLE__*/
205
206 #if defined(GLFW_INCLUDE_GLU)
207 #include <GL/glu.h>
208 #endif
209
210 #endif /*__APPLE__*/
211
212#elif !defined(GLFW_INCLUDE_NONE) && \
213 !defined(__gl_h_) && \
214 !defined(__gles1_gl_h_) && \
215 !defined(__gles2_gl2_h_) && \
216 !defined(__gles2_gl3_h_) && \
217 !defined(__gles2_gl31_h_) && \
218 !defined(__gles2_gl32_h_) && \
219 !defined(__gl_glcorearb_h_) && \
220 !defined(__gl2_h_) /*legacy*/ && \
221 !defined(__gl3_h_) /*legacy*/ && \
222 !defined(__gl31_h_) /*legacy*/ && \
223 !defined(__gl32_h_) /*legacy*/ && \
224 !defined(__glcorearb_h_) /*legacy*/ && \
225 !defined(__GL_H__) /*non-standard*/ && \
226 !defined(__gltypes_h_) /*non-standard*/ && \
227 !defined(__glee_h_) /*non-standard*/
228
229 #if defined(__APPLE__)
230
231 #if !defined(GLFW_INCLUDE_GLEXT)
232 #define GL_GLEXT_LEGACY
233 #endif
234 #include <OpenGL/gl.h>
235
236 #else /*__APPLE__*/
237
238 #include <GL/gl.h>
239 #if defined(GLFW_INCLUDE_GLEXT)
240 #include <GL/glext.h>
241 #endif
242
243 #endif /*__APPLE__*/
244
245#endif /* OpenGL and OpenGL ES headers */
246
247#if defined(GLFW_DLL) && defined(_GLFW_BUILD_DLL)
248 /* GLFW_DLL must be defined by applications that are linking against the DLL
249 * version of the GLFW library. _GLFW_BUILD_DLL is defined by the GLFW
250 * configuration header when compiling the DLL version of the library.
251 */
252 #error "You must not have both GLFW_DLL and _GLFW_BUILD_DLL defined"
253#endif
254
255/* GLFWAPI is used to declare public API functions for export
256 * from the DLL / shared library / dynamic library.
257 */
258#if defined(_WIN32) && defined(_GLFW_BUILD_DLL)
259 /* We are building GLFW as a Win32 DLL */
260 #define GLFWAPI __declspec(dllexport)
261#elif defined(_WIN32) && defined(GLFW_DLL)
262 /* We are calling GLFW as a Win32 DLL */
263 #define GLFWAPI __declspec(dllimport)
264#elif defined(__GNUC__) && defined(_GLFW_BUILD_DLL)
265 /* We are building GLFW as a shared / dynamic library */
266 #define GLFWAPI __attribute__((visibility("default")))
267#else
268 /* We are building or calling GLFW as a static library */
269 #define GLFWAPI
270#endif
271
272
273
285#define GLFW_VERSION_MAJOR 3
292#define GLFW_VERSION_MINOR 4
299#define GLFW_VERSION_REVISION 0
310#define GLFW_TRUE 1
319#define GLFW_FALSE 0
320
329#define GLFW_RELEASE 0
336#define GLFW_PRESS 1
343#define GLFW_REPEAT 2
353#define GLFW_HAT_CENTERED 0
354#define GLFW_HAT_UP 1
355#define GLFW_HAT_RIGHT 2
356#define GLFW_HAT_DOWN 4
357#define GLFW_HAT_LEFT 8
358#define GLFW_HAT_RIGHT_UP (GLFW_HAT_RIGHT | GLFW_HAT_UP)
359#define GLFW_HAT_RIGHT_DOWN (GLFW_HAT_RIGHT | GLFW_HAT_DOWN)
360#define GLFW_HAT_LEFT_UP (GLFW_HAT_LEFT | GLFW_HAT_UP)
361#define GLFW_HAT_LEFT_DOWN (GLFW_HAT_LEFT | GLFW_HAT_DOWN)
388/* The unknown key */
389#define GLFW_KEY_UNKNOWN -1
390
391/* Printable keys */
392#define GLFW_KEY_SPACE 32
393#define GLFW_KEY_APOSTROPHE 39 /* ' */
394#define GLFW_KEY_COMMA 44 /* , */
395#define GLFW_KEY_MINUS 45 /* - */
396#define GLFW_KEY_PERIOD 46 /* . */
397#define GLFW_KEY_SLASH 47 /* / */
398#define GLFW_KEY_0 48
399#define GLFW_KEY_1 49
400#define GLFW_KEY_2 50
401#define GLFW_KEY_3 51
402#define GLFW_KEY_4 52
403#define GLFW_KEY_5 53
404#define GLFW_KEY_6 54
405#define GLFW_KEY_7 55
406#define GLFW_KEY_8 56
407#define GLFW_KEY_9 57
408#define GLFW_KEY_SEMICOLON 59 /* ; */
409#define GLFW_KEY_EQUAL 61 /* = */
410#define GLFW_KEY_A 65
411#define GLFW_KEY_B 66
412#define GLFW_KEY_C 67
413#define GLFW_KEY_D 68
414#define GLFW_KEY_E 69
415#define GLFW_KEY_F 70
416#define GLFW_KEY_G 71
417#define GLFW_KEY_H 72
418#define GLFW_KEY_I 73
419#define GLFW_KEY_J 74
420#define GLFW_KEY_K 75
421#define GLFW_KEY_L 76
422#define GLFW_KEY_M 77
423#define GLFW_KEY_N 78
424#define GLFW_KEY_O 79
425#define GLFW_KEY_P 80
426#define GLFW_KEY_Q 81
427#define GLFW_KEY_R 82
428#define GLFW_KEY_S 83
429#define GLFW_KEY_T 84
430#define GLFW_KEY_U 85
431#define GLFW_KEY_V 86
432#define GLFW_KEY_W 87
433#define GLFW_KEY_X 88
434#define GLFW_KEY_Y 89
435#define GLFW_KEY_Z 90
436#define GLFW_KEY_LEFT_BRACKET 91 /* [ */
437#define GLFW_KEY_BACKSLASH 92 /* \ */
438#define GLFW_KEY_RIGHT_BRACKET 93 /* ] */
439#define GLFW_KEY_GRAVE_ACCENT 96 /* ` */
440#define GLFW_KEY_WORLD_1 161 /* non-US #1 */
441#define GLFW_KEY_WORLD_2 162 /* non-US #2 */
442
443/* Function keys */
444#define GLFW_KEY_ESCAPE 256
445#define GLFW_KEY_ENTER 257
446#define GLFW_KEY_TAB 258
447#define GLFW_KEY_BACKSPACE 259
448#define GLFW_KEY_INSERT 260
449#define GLFW_KEY_DELETE 261
450#define GLFW_KEY_RIGHT 262
451#define GLFW_KEY_LEFT 263
452#define GLFW_KEY_DOWN 264
453#define GLFW_KEY_UP 265
454#define GLFW_KEY_PAGE_UP 266
455#define GLFW_KEY_PAGE_DOWN 267
456#define GLFW_KEY_HOME 268
457#define GLFW_KEY_END 269
458#define GLFW_KEY_CAPS_LOCK 280
459#define GLFW_KEY_SCROLL_LOCK 281
460#define GLFW_KEY_NUM_LOCK 282
461#define GLFW_KEY_PRINT_SCREEN 283
462#define GLFW_KEY_PAUSE 284
463#define GLFW_KEY_F1 290
464#define GLFW_KEY_F2 291
465#define GLFW_KEY_F3 292
466#define GLFW_KEY_F4 293
467#define GLFW_KEY_F5 294
468#define GLFW_KEY_F6 295
469#define GLFW_KEY_F7 296
470#define GLFW_KEY_F8 297
471#define GLFW_KEY_F9 298
472#define GLFW_KEY_F10 299
473#define GLFW_KEY_F11 300
474#define GLFW_KEY_F12 301
475#define GLFW_KEY_F13 302
476#define GLFW_KEY_F14 303
477#define GLFW_KEY_F15 304
478#define GLFW_KEY_F16 305
479#define GLFW_KEY_F17 306
480#define GLFW_KEY_F18 307
481#define GLFW_KEY_F19 308
482#define GLFW_KEY_F20 309
483#define GLFW_KEY_F21 310
484#define GLFW_KEY_F22 311
485#define GLFW_KEY_F23 312
486#define GLFW_KEY_F24 313
487#define GLFW_KEY_F25 314
488#define GLFW_KEY_KP_0 320
489#define GLFW_KEY_KP_1 321
490#define GLFW_KEY_KP_2 322
491#define GLFW_KEY_KP_3 323
492#define GLFW_KEY_KP_4 324
493#define GLFW_KEY_KP_5 325
494#define GLFW_KEY_KP_6 326
495#define GLFW_KEY_KP_7 327
496#define GLFW_KEY_KP_8 328
497#define GLFW_KEY_KP_9 329
498#define GLFW_KEY_KP_DECIMAL 330
499#define GLFW_KEY_KP_DIVIDE 331
500#define GLFW_KEY_KP_MULTIPLY 332
501#define GLFW_KEY_KP_SUBTRACT 333
502#define GLFW_KEY_KP_ADD 334
503#define GLFW_KEY_KP_ENTER 335
504#define GLFW_KEY_KP_EQUAL 336
505#define GLFW_KEY_LEFT_SHIFT 340
506#define GLFW_KEY_LEFT_CONTROL 341
507#define GLFW_KEY_LEFT_ALT 342
508#define GLFW_KEY_LEFT_SUPER 343
509#define GLFW_KEY_RIGHT_SHIFT 344
510#define GLFW_KEY_RIGHT_CONTROL 345
511#define GLFW_KEY_RIGHT_ALT 346
512#define GLFW_KEY_RIGHT_SUPER 347
513#define GLFW_KEY_MENU 348
514
515#define GLFW_KEY_LAST GLFW_KEY_MENU
516
531#define GLFW_MOD_SHIFT 0x0001
536#define GLFW_MOD_CONTROL 0x0002
541#define GLFW_MOD_ALT 0x0004
546#define GLFW_MOD_SUPER 0x0008
552#define GLFW_MOD_CAPS_LOCK 0x0010
558#define GLFW_MOD_NUM_LOCK 0x0020
559
569#define GLFW_MOUSE_BUTTON_1 0
570#define GLFW_MOUSE_BUTTON_2 1
571#define GLFW_MOUSE_BUTTON_3 2
572#define GLFW_MOUSE_BUTTON_4 3
573#define GLFW_MOUSE_BUTTON_5 4
574#define GLFW_MOUSE_BUTTON_6 5
575#define GLFW_MOUSE_BUTTON_7 6
576#define GLFW_MOUSE_BUTTON_8 7
577#define GLFW_MOUSE_BUTTON_LAST GLFW_MOUSE_BUTTON_8
578#define GLFW_MOUSE_BUTTON_LEFT GLFW_MOUSE_BUTTON_1
579#define GLFW_MOUSE_BUTTON_RIGHT GLFW_MOUSE_BUTTON_2
580#define GLFW_MOUSE_BUTTON_MIDDLE GLFW_MOUSE_BUTTON_3
590#define GLFW_JOYSTICK_1 0
591#define GLFW_JOYSTICK_2 1
592#define GLFW_JOYSTICK_3 2
593#define GLFW_JOYSTICK_4 3
594#define GLFW_JOYSTICK_5 4
595#define GLFW_JOYSTICK_6 5
596#define GLFW_JOYSTICK_7 6
597#define GLFW_JOYSTICK_8 7
598#define GLFW_JOYSTICK_9 8
599#define GLFW_JOYSTICK_10 9
600#define GLFW_JOYSTICK_11 10
601#define GLFW_JOYSTICK_12 11
602#define GLFW_JOYSTICK_13 12
603#define GLFW_JOYSTICK_14 13
604#define GLFW_JOYSTICK_15 14
605#define GLFW_JOYSTICK_16 15
606#define GLFW_JOYSTICK_LAST GLFW_JOYSTICK_16
616#define GLFW_GAMEPAD_BUTTON_A 0
617#define GLFW_GAMEPAD_BUTTON_B 1
618#define GLFW_GAMEPAD_BUTTON_X 2
619#define GLFW_GAMEPAD_BUTTON_Y 3
620#define GLFW_GAMEPAD_BUTTON_LEFT_BUMPER 4
621#define GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER 5
622#define GLFW_GAMEPAD_BUTTON_BACK 6
623#define GLFW_GAMEPAD_BUTTON_START 7
624#define GLFW_GAMEPAD_BUTTON_GUIDE 8
625#define GLFW_GAMEPAD_BUTTON_LEFT_THUMB 9
626#define GLFW_GAMEPAD_BUTTON_RIGHT_THUMB 10
627#define GLFW_GAMEPAD_BUTTON_DPAD_UP 11
628#define GLFW_GAMEPAD_BUTTON_DPAD_RIGHT 12
629#define GLFW_GAMEPAD_BUTTON_DPAD_DOWN 13
630#define GLFW_GAMEPAD_BUTTON_DPAD_LEFT 14
631#define GLFW_GAMEPAD_BUTTON_LAST GLFW_GAMEPAD_BUTTON_DPAD_LEFT
632
633#define GLFW_GAMEPAD_BUTTON_CROSS GLFW_GAMEPAD_BUTTON_A
634#define GLFW_GAMEPAD_BUTTON_CIRCLE GLFW_GAMEPAD_BUTTON_B
635#define GLFW_GAMEPAD_BUTTON_SQUARE GLFW_GAMEPAD_BUTTON_X
636#define GLFW_GAMEPAD_BUTTON_TRIANGLE GLFW_GAMEPAD_BUTTON_Y
646#define GLFW_GAMEPAD_AXIS_LEFT_X 0
647#define GLFW_GAMEPAD_AXIS_LEFT_Y 1
648#define GLFW_GAMEPAD_AXIS_RIGHT_X 2
649#define GLFW_GAMEPAD_AXIS_RIGHT_Y 3
650#define GLFW_GAMEPAD_AXIS_LEFT_TRIGGER 4
651#define GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER 5
652#define GLFW_GAMEPAD_AXIS_LAST GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER
668#define GLFW_NO_ERROR 0
677#define GLFW_NOT_INITIALIZED 0x00010001
687#define GLFW_NO_CURRENT_CONTEXT 0x00010002
695#define GLFW_INVALID_ENUM 0x00010003
706#define GLFW_INVALID_VALUE 0x00010004
714#define GLFW_OUT_OF_MEMORY 0x00010005
730#define GLFW_API_UNAVAILABLE 0x00010006
747#define GLFW_VERSION_UNAVAILABLE 0x00010007
758#define GLFW_PLATFORM_ERROR 0x00010008
777#define GLFW_FORMAT_UNAVAILABLE 0x00010009
785#define GLFW_NO_WINDOW_CONTEXT 0x0001000A
796#define GLFW_CURSOR_UNAVAILABLE 0x0001000B
810#define GLFW_FEATURE_UNAVAILABLE 0x0001000C
823#define GLFW_FEATURE_UNIMPLEMENTED 0x0001000D
833#define GLFW_FOCUSED 0x00020001
838#define GLFW_ICONIFIED 0x00020002
844#define GLFW_RESIZABLE 0x00020003
850#define GLFW_VISIBLE 0x00020004
856#define GLFW_DECORATED 0x00020005
862#define GLFW_AUTO_ICONIFY 0x00020006
868#define GLFW_FLOATING 0x00020007
874#define GLFW_MAXIMIZED 0x00020008
879#define GLFW_CENTER_CURSOR 0x00020009
886#define GLFW_TRANSPARENT_FRAMEBUFFER 0x0002000A
891#define GLFW_HOVERED 0x0002000B
897#define GLFW_FOCUS_ON_SHOW 0x0002000C
898
904#define GLFW_MOUSE_PASSTHROUGH 0x0002000D
905
910#define GLFW_RED_BITS 0x00021001
915#define GLFW_GREEN_BITS 0x00021002
920#define GLFW_BLUE_BITS 0x00021003
925#define GLFW_ALPHA_BITS 0x00021004
930#define GLFW_DEPTH_BITS 0x00021005
935#define GLFW_STENCIL_BITS 0x00021006
940#define GLFW_ACCUM_RED_BITS 0x00021007
945#define GLFW_ACCUM_GREEN_BITS 0x00021008
950#define GLFW_ACCUM_BLUE_BITS 0x00021009
955#define GLFW_ACCUM_ALPHA_BITS 0x0002100A
960#define GLFW_AUX_BUFFERS 0x0002100B
965#define GLFW_STEREO 0x0002100C
970#define GLFW_SAMPLES 0x0002100D
975#define GLFW_SRGB_CAPABLE 0x0002100E
980#define GLFW_REFRESH_RATE 0x0002100F
986#define GLFW_DOUBLEBUFFER 0x00021010
987
993#define GLFW_CLIENT_API 0x00022001
999#define GLFW_CONTEXT_VERSION_MAJOR 0x00022002
1005#define GLFW_CONTEXT_VERSION_MINOR 0x00022003
1011#define GLFW_CONTEXT_REVISION 0x00022004
1017#define GLFW_CONTEXT_ROBUSTNESS 0x00022005
1023#define GLFW_OPENGL_FORWARD_COMPAT 0x00022006
1029#define GLFW_CONTEXT_DEBUG 0x00022007
1034#define GLFW_OPENGL_DEBUG_CONTEXT GLFW_CONTEXT_DEBUG
1040#define GLFW_OPENGL_PROFILE 0x00022008
1046#define GLFW_CONTEXT_RELEASE_BEHAVIOR 0x00022009
1052#define GLFW_CONTEXT_NO_ERROR 0x0002200A
1058#define GLFW_CONTEXT_CREATION_API 0x0002200B
1062#define GLFW_SCALE_TO_MONITOR 0x0002200C
1066#define GLFW_COCOA_RETINA_FRAMEBUFFER 0x00023001
1070#define GLFW_COCOA_FRAME_NAME 0x00023002
1074#define GLFW_COCOA_GRAPHICS_SWITCHING 0x00023003
1078#define GLFW_X11_CLASS_NAME 0x00024001
1082#define GLFW_X11_INSTANCE_NAME 0x00024002
1083#define GLFW_WIN32_KEYBOARD_MENU 0x00025001
1086#define GLFW_NO_API 0
1087#define GLFW_OPENGL_API 0x00030001
1088#define GLFW_OPENGL_ES_API 0x00030002
1089
1090#define GLFW_NO_ROBUSTNESS 0
1091#define GLFW_NO_RESET_NOTIFICATION 0x00031001
1092#define GLFW_LOSE_CONTEXT_ON_RESET 0x00031002
1093
1094#define GLFW_OPENGL_ANY_PROFILE 0
1095#define GLFW_OPENGL_CORE_PROFILE 0x00032001
1096#define GLFW_OPENGL_COMPAT_PROFILE 0x00032002
1097
1098#define GLFW_CURSOR 0x00033001
1099#define GLFW_STICKY_KEYS 0x00033002
1100#define GLFW_STICKY_MOUSE_BUTTONS 0x00033003
1101#define GLFW_LOCK_KEY_MODS 0x00033004
1102#define GLFW_RAW_MOUSE_MOTION 0x00033005
1103
1104#define GLFW_CURSOR_NORMAL 0x00034001
1105#define GLFW_CURSOR_HIDDEN 0x00034002
1106#define GLFW_CURSOR_DISABLED 0x00034003
1107
1108#define GLFW_ANY_RELEASE_BEHAVIOR 0
1109#define GLFW_RELEASE_BEHAVIOR_FLUSH 0x00035001
1110#define GLFW_RELEASE_BEHAVIOR_NONE 0x00035002
1111
1112#define GLFW_NATIVE_CONTEXT_API 0x00036001
1113#define GLFW_EGL_CONTEXT_API 0x00036002
1114#define GLFW_OSMESA_CONTEXT_API 0x00036003
1115
1116#define GLFW_ANGLE_PLATFORM_TYPE_NONE 0x00037001
1117#define GLFW_ANGLE_PLATFORM_TYPE_OPENGL 0x00037002
1118#define GLFW_ANGLE_PLATFORM_TYPE_OPENGLES 0x00037003
1119#define GLFW_ANGLE_PLATFORM_TYPE_D3D9 0x00037004
1120#define GLFW_ANGLE_PLATFORM_TYPE_D3D11 0x00037005
1121#define GLFW_ANGLE_PLATFORM_TYPE_VULKAN 0x00037007
1122#define GLFW_ANGLE_PLATFORM_TYPE_METAL 0x00037008
1123
1137#define GLFW_ARROW_CURSOR 0x00036001
1142#define GLFW_IBEAM_CURSOR 0x00036002
1147#define GLFW_CROSSHAIR_CURSOR 0x00036003
1152#define GLFW_POINTING_HAND_CURSOR 0x00036004
1158#define GLFW_RESIZE_EW_CURSOR 0x00036005
1164#define GLFW_RESIZE_NS_CURSOR 0x00036006
1179#define GLFW_RESIZE_NWSE_CURSOR 0x00036007
1194#define GLFW_RESIZE_NESW_CURSOR 0x00036008
1200#define GLFW_RESIZE_ALL_CURSOR 0x00036009
1212#define GLFW_NOT_ALLOWED_CURSOR 0x0003600A
1217#define GLFW_HRESIZE_CURSOR GLFW_RESIZE_EW_CURSOR
1222#define GLFW_VRESIZE_CURSOR GLFW_RESIZE_NS_CURSOR
1227#define GLFW_HAND_CURSOR GLFW_POINTING_HAND_CURSOR
1230#define GLFW_CONNECTED 0x00040001
1231#define GLFW_DISCONNECTED 0x00040002
1232
1239#define GLFW_JOYSTICK_HAT_BUTTONS 0x00050001
1244#define GLFW_ANGLE_PLATFORM_TYPE 0x00050002
1249#define GLFW_COCOA_CHDIR_RESOURCES 0x00051001
1254#define GLFW_COCOA_MENUBAR 0x00051002
1259#define GLFW_X11_XCB_VULKAN_SURFACE 0x00052001
1262#define GLFW_DONT_CARE -1
1263
1264
1265
1281typedef void (*GLFWglproc)(void);
1282
1295typedef void (*GLFWvkproc)(void);
1296
1308
1319typedef struct GLFWwindow GLFWwindow;
1320
1331typedef struct GLFWcursor GLFWcursor;
1332
1355typedef void (* GLFWerrorfun)(int,const char*);
1356
1378typedef void (* GLFWwindowposfun)(GLFWwindow*,int,int);
1379
1400typedef void (* GLFWwindowsizefun)(GLFWwindow*,int,int);
1401
1421
1441
1461typedef void (* GLFWwindowfocusfun)(GLFWwindow*,int);
1462
1482typedef void (* GLFWwindowiconifyfun)(GLFWwindow*,int);
1483
1503typedef void (* GLFWwindowmaximizefun)(GLFWwindow*,int);
1504
1524typedef void (* GLFWframebuffersizefun)(GLFWwindow*,int,int);
1525
1545typedef void (* GLFWwindowcontentscalefun)(GLFWwindow*,float,float);
1546
1571typedef void (* GLFWmousebuttonfun)(GLFWwindow*,int,int,int);
1572
1594typedef void (* GLFWcursorposfun)(GLFWwindow*,double,double);
1595
1615typedef void (* GLFWcursorenterfun)(GLFWwindow*,int);
1616
1636typedef void (* GLFWscrollfun)(GLFWwindow*,double,double);
1637
1662typedef void (* GLFWkeyfun)(GLFWwindow*,int,int,int,int);
1663
1683typedef void (* GLFWcharfun)(GLFWwindow*,unsigned int);
1684
1710typedef void (* GLFWcharmodsfun)(GLFWwindow*,unsigned int,int);
1711
1734typedef void (* GLFWdropfun)(GLFWwindow*,int,const char*[]);
1735
1755typedef void (* GLFWmonitorfun)(GLFWmonitor*,int);
1756
1776typedef void (* GLFWjoystickfun)(int,int);
1777
1791typedef struct GLFWvidmode
1792{
1812
1825typedef struct GLFWgammaramp
1826{
1829 unsigned short* red;
1832 unsigned short* green;
1835 unsigned short* blue;
1838 unsigned int size;
1840
1854typedef struct GLFWimage
1855{
1864 unsigned char* pixels;
1866
1878typedef struct GLFWgamepadstate
1879{
1883 unsigned char buttons[15];
1887 float axes[6];
1889
1890
1891
1939GLFWAPI int glfwInit(void);
1940
1973GLFWAPI void glfwTerminate(void);
1974
2005GLFWAPI void glfwInitHint(int hint, int value);
2006
2032GLFWAPI void glfwGetVersion(int* major, int* minor, int* rev);
2033
2063GLFWAPI const char* glfwGetVersionString(void);
2064
2094GLFWAPI int glfwGetError(const char** description);
2095
2141
2169GLFWAPI GLFWmonitor** glfwGetMonitors(int* count);
2170
2194
2218GLFWAPI void glfwGetMonitorPos(GLFWmonitor* monitor, int* xpos, int* ypos);
2219
2249GLFWAPI void glfwGetMonitorWorkarea(GLFWmonitor* monitor, int* xpos, int* ypos, int* width, int* height);
2250
2283GLFWAPI void glfwGetMonitorPhysicalSize(GLFWmonitor* monitor, int* widthMM, int* heightMM);
2284
2315GLFWAPI void glfwGetMonitorContentScale(GLFWmonitor* monitor, float* xscale, float* yscale);
2316
2341GLFWAPI const char* glfwGetMonitorName(GLFWmonitor* monitor);
2342
2367GLFWAPI void glfwSetMonitorUserPointer(GLFWmonitor* monitor, void* pointer);
2368
2392
2422
2455GLFWAPI const GLFWvidmode* glfwGetVideoModes(GLFWmonitor* monitor, int* count);
2456
2484
2516GLFWAPI void glfwSetGamma(GLFWmonitor* monitor, float gamma);
2517
2547
2587GLFWAPI void glfwSetGammaRamp(GLFWmonitor* monitor, const GLFWgammaramp* ramp);
2588
2607
2641GLFWAPI void glfwWindowHint(int hint, int value);
2642
2679GLFWAPI void glfwWindowHintString(int hint, const char* value);
2680
2825GLFWAPI GLFWwindow* glfwCreateWindow(int width, int height, const char* title, GLFWmonitor* monitor, GLFWwindow* share);
2826
2855
2875
2896GLFWAPI void glfwSetWindowShouldClose(GLFWwindow* window, int value);
2897
2921GLFWAPI void glfwSetWindowTitle(GLFWwindow* window, const char* title);
2922
2968GLFWAPI void glfwSetWindowIcon(GLFWwindow* window, int count, const GLFWimage* images);
2969
3000GLFWAPI void glfwGetWindowPos(GLFWwindow* window, int* xpos, int* ypos);
3001
3035GLFWAPI void glfwSetWindowPos(GLFWwindow* window, int xpos, int ypos);
3036
3065GLFWAPI void glfwGetWindowSize(GLFWwindow* window, int* width, int* height);
3066
3108GLFWAPI void glfwSetWindowSizeLimits(GLFWwindow* window, int minwidth, int minheight, int maxwidth, int maxheight);
3109
3151GLFWAPI void glfwSetWindowAspectRatio(GLFWwindow* window, int numer, int denom);
3152
3192GLFWAPI void glfwSetWindowSize(GLFWwindow* window, int width, int height);
3193
3221GLFWAPI void glfwGetFramebufferSize(GLFWwindow* window, int* width, int* height);
3222
3258GLFWAPI void glfwGetWindowFrameSize(GLFWwindow* window, int* left, int* top, int* right, int* bottom);
3259
3291GLFWAPI void glfwGetWindowContentScale(GLFWwindow* window, float* xscale, float* yscale);
3292
3319
3350GLFWAPI void glfwSetWindowOpacity(GLFWwindow* window, float opacity);
3351
3382
3409
3434
3460GLFWAPI void glfwShowWindow(GLFWwindow* window);
3461
3482GLFWAPI void glfwHideWindow(GLFWwindow* window);
3483
3521GLFWAPI void glfwFocusWindow(GLFWwindow* window);
3522
3549
3571
3629GLFWAPI void glfwSetWindowMonitor(GLFWwindow* window, GLFWmonitor* monitor, int xpos, int ypos, int width, int height, int refreshRate);
3630
3663GLFWAPI int glfwGetWindowAttrib(GLFWwindow* window, int attrib);
3664
3701GLFWAPI void glfwSetWindowAttrib(GLFWwindow* window, int attrib, int value);
3702
3724GLFWAPI void glfwSetWindowUserPointer(GLFWwindow* window, void* pointer);
3725
3746
3781
3813
3853
3889
3924
3954
3984
4014
4045
4082GLFWAPI void glfwPollEvents(void);
4083
4127GLFWAPI void glfwWaitEvents(void);
4128
4176GLFWAPI void glfwWaitEventsTimeout(double timeout);
4177
4196GLFWAPI void glfwPostEmptyEvent(void);
4197
4221GLFWAPI int glfwGetInputMode(GLFWwindow* window, int mode);
4222
4284GLFWAPI void glfwSetInputMode(GLFWwindow* window, int mode, int value);
4285
4314
4381GLFWAPI const char* glfwGetKeyName(int key, int scancode);
4382
4405GLFWAPI int glfwGetKeyScancode(int key);
4406
4445GLFWAPI int glfwGetKey(GLFWwindow* window, int key);
4446
4474GLFWAPI int glfwGetMouseButton(GLFWwindow* window, int button);
4475
4512GLFWAPI void glfwGetCursorPos(GLFWwindow* window, double* xpos, double* ypos);
4513
4552GLFWAPI void glfwSetCursorPos(GLFWwindow* window, double xpos, double ypos);
4553
4590GLFWAPI GLFWcursor* glfwCreateCursor(const GLFWimage* image, int xhot, int yhot);
4591
4639
4666
4692GLFWAPI void glfwSetCursor(GLFWwindow* window, GLFWcursor* cursor);
4693
4743
4786
4828
4865
4897
4928
4962
4999
5022GLFWAPI int glfwJoystickPresent(int jid);
5023
5055GLFWAPI const float* glfwGetJoystickAxes(int jid, int* count);
5056
5096GLFWAPI const unsigned char* glfwGetJoystickButtons(int jid, int* count);
5097
5153GLFWAPI const unsigned char* glfwGetJoystickHats(int jid, int* count);
5154
5184GLFWAPI const char* glfwGetJoystickName(int jid);
5185
5225GLFWAPI const char* glfwGetJoystickGUID(int jid);
5226
5251GLFWAPI void glfwSetJoystickUserPointer(int jid, void* pointer);
5252
5275GLFWAPI void* glfwGetJoystickUserPointer(int jid);
5276
5303GLFWAPI int glfwJoystickIsGamepad(int jid);
5304
5340
5373GLFWAPI int glfwUpdateGamepadMappings(const char* string);
5374
5403GLFWAPI const char* glfwGetGamepadName(int jid);
5404
5441GLFWAPI int glfwGetGamepadState(int jid, GLFWgamepadstate* state);
5442
5466GLFWAPI void glfwSetClipboardString(GLFWwindow* window, const char* string);
5467
5496GLFWAPI const char* glfwGetClipboardString(GLFWwindow* window);
5497
5526GLFWAPI double glfwGetTime(void);
5527
5556GLFWAPI void glfwSetTime(double time);
5557
5579
5599
5637
5658
5691GLFWAPI void glfwSwapBuffers(GLFWwindow* window);
5692
5737GLFWAPI void glfwSwapInterval(int interval);
5738
5775GLFWAPI int glfwExtensionSupported(const char* extension);
5776
5817GLFWAPI GLFWglproc glfwGetProcAddress(const char* procname);
5818
5846
5893
5894#if defined(VK_VERSION_1_0)
5895
5935GLFWAPI GLFWvkproc glfwGetInstanceProcAddress(VkInstance instance, const char* procname);
5936
5973
6040
6041#endif /*VK_VERSION_1_0*/
6042
6043
6044
6048/* ------------------- BEGIN SYSTEM/COMPILER SPECIFIC -------------------- */
6049
6050#ifdef GLFW_WINGDIAPI_DEFINED
6051 #undef WINGDIAPI
6052 #undef GLFW_WINGDIAPI_DEFINED
6053#endif
6054
6055#ifdef GLFW_CALLBACK_DEFINED
6056 #undef CALLBACK
6057 #undef GLFW_CALLBACK_DEFINED
6058#endif
6059
6060/* Some OpenGL related headers need GLAPIENTRY, but it is unconditionally
6061 * defined by some gl.h variants (OpenBSD) so define it after if needed.
6062 */
6063#ifndef GLAPIENTRY
6064 #define GLAPIENTRY APIENTRY
6065#endif
6066
6067/* -------------------- END SYSTEM/COMPILER SPECIFIC --------------------- */
6068
6069
6070#ifdef __cplusplus
6071}
6072#endif
6073
6074#endif /* _glfw3_h_ */
6075
#define GLFWAPI
Definition: glfw3.h:269
GLFWAPI GLFWglproc glfwGetProcAddress(const char *procname)
Returns the address of the specified function for the current context.
Definition: context.c:739
GLFWAPI void glfwSwapInterval(int interval)
Sets the swap interval for the current context.
Definition: context.c:656
void(* GLFWglproc)(void)
GLFW API types.
Definition: glfw3.h:1281
GLFWAPI int glfwExtensionSupported(const char *extension)
Returns whether the specified extension is available.
Definition: context.c:673
GLFWAPI GLFWwindow * glfwGetCurrentContext(void)
Returns the window whose context is current on the calling thread.
Definition: context.c:633
GLFWAPI void glfwMakeContextCurrent(GLFWwindow *window)
Makes the context of the specified window current for the calling thread.
Definition: context.c:609
GLFWAPI void glfwGetVersion(int *major, int *minor, int *rev)
Retrieves the version of the GLFW library.
Definition: init.c:313
GLFWAPI GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun callback)
Sets the error callback.
Definition: init.c:352
void(* GLFWerrorfun)(int, const char *)
The function pointer type for error callbacks.
Definition: glfw3.h:1355
GLFWAPI int glfwInit(void)
GLFW API functions.
Definition: init.c:235
GLFWAPI void glfwInitHint(int hint, int value)
Sets the specified init hint to the desired value.
Definition: init.c:288
GLFWAPI const char * glfwGetVersionString(void)
Returns a string describing the compile-time configuration.
Definition: init.c:323
GLFWAPI int glfwGetError(const char **description)
Returns and clears the last error for the calling thread.
Definition: init.c:328
GLFWAPI void glfwTerminate(void)
Terminates the GLFW library.
Definition: init.c:280
GLFWAPI double glfwGetTime(void)
Returns the GLFW time.
Definition: input.c:1375
void(* GLFWscrollfun)(GLFWwindow *, double, double)
The function pointer type for scroll callbacks.
Definition: glfw3.h:1636
void(* GLFWcursorposfun)(GLFWwindow *, double, double)
The function pointer type for cursor position callbacks.
Definition: glfw3.h:1594
GLFWAPI int glfwGetInputMode(GLFWwindow *window, int mode)
Returns the value of an input option for the specified window.
Definition: input.c:488
GLFWAPI GLFWcursor * glfwCreateCursor(const GLFWimage *image, int xhot, int yhot)
Creates a custom cursor.
Definition: input.c:745
GLFWAPI void glfwDestroyCursor(GLFWcursor *cursor)
Destroys a cursor.
Definition: input.c:800
GLFWAPI int glfwUpdateGamepadMappings(const char *string)
Adds the specified SDL_GameControllerDB gamepad mappings.
Definition: input.c:1156
void(* GLFWcharfun)(GLFWwindow *, unsigned int)
The function pointer type for Unicode character callbacks.
Definition: glfw3.h:1683
GLFWAPI const char * glfwGetJoystickGUID(int jid)
Returns the SDL compatible GUID of the specified joystick.
Definition: input.c:1085
GLFWAPI const char * glfwGetClipboardString(GLFWwindow *window)
Returns the contents of the clipboard as a string.
Definition: input.c:1369
GLFWAPI GLFWcharmodsfun glfwSetCharModsCallback(GLFWwindow *window, GLFWcharmodsfun callback)
Sets the Unicode character with modifiers callback.
Definition: input.c:868
GLFWAPI void glfwSetJoystickUserPointer(int jid, void *pointer)
Sets the user pointer of the specified joystick.
Definition: input.c:1113
GLFWAPI int glfwGetKeyScancode(int key)
Returns the platform-specific scancode of the specified key.
Definition: input.c:631
GLFWAPI const char * glfwGetJoystickName(int jid)
Returns the name of the specified joystick.
Definition: input.c:1057
GLFWAPI int glfwGetMouseButton(GLFWwindow *window, int button)
Returns the last reported state of a mouse button for the specified window.
Definition: input.c:667
GLFWAPI int glfwGetGamepadState(int jid, GLFWgamepadstate *state)
Retrieves the state of the specified joystick remapped as a gamepad.
Definition: input.c:1275
GLFWAPI GLFWcursorposfun glfwSetCursorPosCallback(GLFWwindow *window, GLFWcursorposfun callback)
Sets the cursor position callback.
Definition: input.c:889
void(* GLFWdropfun)(GLFWwindow *, int, const char *[])
The function pointer type for path drop callbacks.
Definition: glfw3.h:1734
void(* GLFWcharmodsfun)(GLFWwindow *, unsigned int, int)
The function pointer type for Unicode character with modifiers callbacks.
Definition: glfw3.h:1710
GLFWAPI void glfwSetClipboardString(GLFWwindow *window, const char *string)
Sets the clipboard to the specified string.
Definition: input.c:1361
GLFWAPI int glfwGetKey(GLFWwindow *window, int key)
Returns the last reported state of a keyboard key for the specified window.
Definition: input.c:644
struct GLFWcursor GLFWcursor
Opaque cursor object.
Definition: glfw3.h:1331
GLFWAPI GLFWdropfun glfwSetDropCallback(GLFWwindow *window, GLFWdropfun callback)
Sets the path drop callback.
Definition: input.c:922
GLFWAPI const unsigned char * glfwGetJoystickButtons(int jid, int *count)
Returns the state of all buttons of the specified joystick.
Definition: input.c:989
GLFWAPI void glfwSetTime(double time)
Sets the GLFW time.
Definition: input.c:1382
void(* GLFWcursorenterfun)(GLFWwindow *, int)
The function pointer type for cursor enter/leave callbacks.
Definition: glfw3.h:1615
GLFWAPI void * glfwGetJoystickUserPointer(int jid)
Returns the user pointer of the specified joystick.
Definition: input.c:1129
GLFWAPI const char * glfwGetKeyName(int key, int scancode)
Returns the layout-specific name of the specified printable key.
Definition: input.c:612
GLFWAPI int glfwRawMouseMotionSupported(void)
Returns whether raw mouse motion is supported.
Definition: input.c:606
void(* GLFWkeyfun)(GLFWwindow *, int, int, int, int)
The function pointer type for keyboard key callbacks.
Definition: glfw3.h:1662
GLFWAPI uint64_t glfwGetTimerValue(void)
Returns the current value of the raw timer.
Definition: input.c:1396
GLFWAPI GLFWkeyfun glfwSetKeyCallback(GLFWwindow *window, GLFWkeyfun callback)
Sets the key callback.
Definition: input.c:848
GLFWAPI GLFWscrollfun glfwSetScrollCallback(GLFWwindow *window, GLFWscrollfun callback)
Sets the scroll callback.
Definition: input.c:911
GLFWAPI uint64_t glfwGetTimerFrequency(void)
Returns the frequency, in Hz, of the raw timer.
Definition: input.c:1402
GLFWAPI void glfwSetCursorPos(GLFWwindow *window, double xpos, double ypos)
Sets the position of the cursor, relative to the content area of the window.
Definition: input.c:713
GLFWAPI const char * glfwGetGamepadName(int jid)
Returns the human-readable gamepad name for the specified joystick.
Definition: input.c:1244
GLFWAPI GLFWcursor * glfwCreateStandardCursor(int shape)
Creates a cursor with a standard shape.
Definition: input.c:766
GLFWAPI GLFWmousebuttonfun glfwSetMouseButtonCallback(GLFWwindow *window, GLFWmousebuttonfun callback)
Sets the mouse button callback.
Definition: input.c:878
void(* GLFWmousebuttonfun)(GLFWwindow *, int, int, int)
The function pointer type for mouse button callbacks.
Definition: glfw3.h:1571
GLFWAPI int glfwJoystickIsGamepad(int jid)
Returns whether the specified joystick has a gamepad mapping.
Definition: input.c:1216
GLFWAPI int glfwJoystickPresent(int jid)
Returns whether the specified joystick is present.
Definition: input.c:932
GLFWAPI const float * glfwGetJoystickAxes(int jid, int *count)
Returns the values of all axes of the specified joystick.
Definition: input.c:957
GLFWAPI GLFWcursorenterfun glfwSetCursorEnterCallback(GLFWwindow *window, GLFWcursorenterfun callback)
Sets the cursor enter/leave callback.
Definition: input.c:900
GLFWAPI void glfwGetCursorPos(GLFWwindow *window, double *xpos, double *ypos)
Retrieves the position of the cursor relative to the content area of the window.
Definition: input.c:690
GLFWAPI GLFWcharfun glfwSetCharCallback(GLFWwindow *window, GLFWcharfun callback)
Sets the Unicode character callback.
Definition: input.c:858
GLFWAPI GLFWjoystickfun glfwSetJoystickCallback(GLFWjoystickfun callback)
Sets the joystick configuration callback.
Definition: input.c:1145
GLFWAPI void glfwSetInputMode(GLFWwindow *window, int mode, int value)
Sets an input option for the specified window.
Definition: input.c:513
GLFWAPI const unsigned char * glfwGetJoystickHats(int jid, int *count)
Returns the state of all hats of the specified joystick.
Definition: input.c:1025
GLFWAPI void glfwSetCursor(GLFWwindow *window, GLFWcursor *cursor)
Sets the cursor for the window.
Definition: input.c:835
void(* GLFWjoystickfun)(int, int)
The function pointer type for joystick configuration callbacks.
Definition: glfw3.h:1776
GLFWAPI void * glfwGetMonitorUserPointer(GLFWmonitor *monitor)
Returns the user pointer of the specified monitor.
Definition: monitor.c:409
GLFWAPI const GLFWvidmode * glfwGetVideoMode(GLFWmonitor *monitor)
Returns the current mode of the specified monitor.
Definition: monitor.c:442
GLFWAPI void glfwGetMonitorContentScale(GLFWmonitor *monitor, float *xscale, float *yscale)
Retrieves the content scale for the specified monitor.
Definition: monitor.c:376
GLFWAPI GLFWmonitor * glfwGetPrimaryMonitor(void)
Returns the primary monitor.
Definition: monitor.c:312
GLFWAPI void glfwSetGamma(GLFWmonitor *monitor, float gamma)
Generates a gamma ramp and sets it for the specified monitor.
Definition: monitor.c:453
GLFWAPI void glfwGetMonitorPos(GLFWmonitor *monitor, int *xpos, int *ypos)
Returns the position of the monitor's viewport on the virtual screen.
Definition: monitor.c:322
GLFWAPI void glfwGetMonitorWorkarea(GLFWmonitor *monitor, int *xpos, int *ypos, int *width, int *height)
Retrieves the work area of the monitor.
Definition: monitor.c:337
GLFWAPI const char * glfwGetMonitorName(GLFWmonitor *monitor)
Returns the name of the specified monitor.
Definition: monitor.c:391
GLFWAPI void glfwSetMonitorUserPointer(GLFWmonitor *monitor, void *pointer)
Sets the user pointer of the specified monitor.
Definition: monitor.c:400
GLFWAPI const GLFWvidmode * glfwGetVideoModes(GLFWmonitor *monitor, int *count)
Returns the available video modes for the specified monitor.
Definition: monitor.c:425
GLFWAPI GLFWmonitor ** glfwGetMonitors(int *count)
Returns the currently connected monitors.
Definition: monitor.c:300
struct GLFWmonitor GLFWmonitor
Opaque monitor object.
Definition: glfw3.h:1307
GLFWAPI GLFWmonitorfun glfwSetMonitorCallback(GLFWmonitorfun callback)
Sets the monitor configuration callback.
Definition: monitor.c:418
GLFWAPI void glfwSetGammaRamp(GLFWmonitor *monitor, const GLFWgammaramp *ramp)
Sets the current gamma ramp for the specified monitor.
Definition: monitor.c:514
void(* GLFWmonitorfun)(GLFWmonitor *, int)
The function pointer type for monitor configuration callbacks.
Definition: glfw3.h:1755
GLFWAPI void glfwGetMonitorPhysicalSize(GLFWmonitor *monitor, int *widthMM, int *heightMM)
Returns the physical size of the monitor.
Definition: monitor.c:358
GLFWAPI const GLFWgammaramp * glfwGetGammaRamp(GLFWmonitor *monitor)
Returns the current gamma ramp for the specified monitor.
Definition: monitor.c:500
void(* GLFWvkproc)(void)
Vulkan API function pointer type.
Definition: glfw3.h:1295
GLFWAPI int glfwVulkanSupported(void)
Returns whether the Vulkan loader and an ICD have been found.
Definition: vulkan.c:225
GLFWAPI const char ** glfwGetRequiredInstanceExtensions(uint32_t *count)
Returns the Vulkan instance extensions required by GLFW.
Definition: vulkan.c:231
GLFWAPI void glfwGetWindowPos(GLFWwindow *window, int *xpos, int *ypos)
Retrieves the position of the content area of the specified window.
Definition: window.c:526
GLFWAPI void glfwWaitEventsTimeout(double timeout)
Waits with timeout until events are queued and processes them.
Definition: window.c:1093
GLFWAPI void glfwFocusWindow(GLFWwindow *window)
Brings the specified window to front and sets input focus.
Definition: window.c:803
GLFWAPI void glfwSetWindowPos(GLFWwindow *window, int xpos, int ypos)
Sets the position of the content area of the specified window.
Definition: window.c:540
GLFWAPI 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.
Definition: window.c:925
GLFWAPI void glfwSetWindowIcon(GLFWwindow *window, int count, const GLFWimage *images)
Sets the icon for the specified window.
Definition: window.c:514
GLFWAPI int glfwGetWindowAttrib(GLFWwindow *window, int attrib)
Returns an attribute of the specified window.
Definition: window.c:813
GLFWAPI void glfwSetWindowShouldClose(GLFWwindow *window, int value)
Sets the close flag of the specified window.
Definition: window.c:495
GLFWAPI void glfwRestoreWindow(GLFWwindow *window)
Restores the specified window.
Definition: window.c:742
GLFWAPI void glfwIconifyWindow(GLFWwindow *window)
Iconifies the specified window.
Definition: window.c:733
GLFWAPI void glfwWindowHintString(int hint, const char *value)
Sets the specified window hint to the desired value.
Definition: window.c:428
struct GLFWwindow GLFWwindow
Opaque window object.
Definition: glfw3.h:1319
GLFWAPI GLFWwindowiconifyfun glfwSetWindowIconifyCallback(GLFWwindow *window, GLFWwindowiconifyfun callback)
Sets the iconify callback for the specified window.
Definition: window.c:1037
GLFWAPI GLFWframebuffersizefun glfwSetFramebufferSizeCallback(GLFWwindow *window, GLFWframebuffersizefun callback)
Sets the framebuffer resize callback for the specified window.
Definition: window.c:1059
GLFWAPI void glfwMaximizeWindow(GLFWwindow *window)
Maximizes the specified window.
Definition: window.c:751
GLFWAPI GLFWwindowposfun glfwSetWindowPosCallback(GLFWwindow *window, GLFWwindowposfun callback)
Sets the position callback for the specified window.
Definition: window.c:982
void(* GLFWframebuffersizefun)(GLFWwindow *, int, int)
The function pointer type for framebuffer size callbacks.
Definition: glfw3.h:1524
void(* GLFWwindowclosefun)(GLFWwindow *)
The function pointer type for window close callbacks.
Definition: glfw3.h:1420
GLFWAPI void glfwSetWindowOpacity(GLFWwindow *window, float opacity)
Sets the opacity of the whole window.
Definition: window.c:714
GLFWAPI GLFWwindowrefreshfun glfwSetWindowRefreshCallback(GLFWwindow *window, GLFWwindowrefreshfun callback)
Sets the refresh callback for the specified window.
Definition: window.c:1015
GLFWAPI GLFWwindowclosefun glfwSetWindowCloseCallback(GLFWwindow *window, GLFWwindowclosefun callback)
Sets the close callback for the specified window.
Definition: window.c:1004
GLFWAPI void glfwWindowHint(int hint, int value)
Sets the specified window hint to the desired value.
Definition: window.c:294
void(* GLFWwindowfocusfun)(GLFWwindow *, int)
The function pointer type for window focus callbacks.
Definition: glfw3.h:1461
GLFWAPI void glfwWaitEvents(void)
Waits until events are queued and processes them.
Definition: window.c:1087
GLFWAPI void glfwGetWindowContentScale(GLFWwindow *window, float *xscale, float *yscale)
Retrieves the content scale for the specified window.
Definition: window.c:690
void(* GLFWwindowrefreshfun)(GLFWwindow *)
The function pointer type for window content refresh callbacks.
Definition: glfw3.h:1440
GLFWAPI void glfwShowWindow(GLFWwindow *window)
Makes the specified window visible.
Definition: window.c:764
GLFWAPI void glfwGetWindowSize(GLFWwindow *window, int *width, int *height)
Retrieves the size of the content area of the specified window.
Definition: window.c:553
GLFWAPI void glfwDefaultWindowHints(void)
Resets all window hints to their default values.
Definition: window.c:255
GLFWAPI void glfwDestroyWindow(GLFWwindow *window)
Destroys the specified window and its context.
Definition: window.c:453
void(* GLFWwindowmaximizefun)(GLFWwindow *, int)
The function pointer type for window maximize callbacks.
Definition: glfw3.h:1503
GLFWAPI void glfwSetWindowTitle(GLFWwindow *window, const char *title)
Sets the title of the specified window.
Definition: window.c:504
GLFWAPI void glfwPollEvents(void)
Processes all pending events.
Definition: window.c:1081
GLFWAPI void glfwSetWindowSizeLimits(GLFWwindow *window, int minwidth, int minheight, int maxwidth, int maxheight)
Sets the size limits of the specified window.
Definition: window.c:582
GLFWAPI void glfwHideWindow(GLFWwindow *window)
Hides the specified window.
Definition: window.c:790
GLFWAPI int glfwWindowShouldClose(GLFWwindow *window)
Checks the close flag of the specified window.
Definition: window.c:486
void(* GLFWwindowiconifyfun)(GLFWwindow *, int)
The function pointer type for window iconify callbacks.
Definition: glfw3.h:1482
void(* GLFWwindowsizefun)(GLFWwindow *, int, int)
The function pointer type for window size callbacks.
Definition: glfw3.h:1400
GLFWAPI GLFWwindow * glfwCreateWindow(int width, int height, const char *title, GLFWmonitor *monitor, GLFWwindow *share)
Creates a window and its associated context.
Definition: window.c:152
GLFWAPI void glfwGetWindowFrameSize(GLFWwindow *window, int *left, int *top, int *right, int *bottom)
Retrieves the size of the frame of the window.
Definition: window.c:670
GLFWAPI GLFWwindowsizefun glfwSetWindowSizeCallback(GLFWwindow *window, GLFWwindowsizefun callback)
Sets the size callback for the specified window.
Definition: window.c:993
GLFWAPI GLFWwindowcontentscalefun glfwSetWindowContentScaleCallback(GLFWwindow *window, GLFWwindowcontentscalefun callback)
Sets the window content scale callback for the specified window.
Definition: window.c:1070
void(* GLFWwindowcontentscalefun)(GLFWwindow *, float, float)
The function pointer type for window content scale callbacks.
Definition: glfw3.h:1545
GLFWAPI void glfwSetWindowUserPointer(GLFWwindow *window, void *pointer)
Sets the user pointer of the specified window.
Definition: window.c:964
GLFWAPI GLFWwindowfocusfun glfwSetWindowFocusCallback(GLFWwindow *window, GLFWwindowfocusfun callback)
Sets the focus callback for the specified window.
Definition: window.c:1026
GLFWAPI void * glfwGetWindowUserPointer(GLFWwindow *window)
Returns the user pointer of the specified window.
Definition: window.c:973
GLFWAPI void glfwRequestWindowAttention(GLFWwindow *window)
Requests user attention to the specified window.
Definition: window.c:780
GLFWAPI float glfwGetWindowOpacity(GLFWwindow *window)
Returns the opacity of the whole window.
Definition: window.c:705
GLFWAPI void glfwSetWindowAspectRatio(GLFWwindow *window, int numer, int denom)
Sets the aspect ratio of the specified window.
Definition: window.c:627
GLFWAPI void glfwSetWindowAttrib(GLFWwindow *window, int attrib, int value)
Sets an attribute of the specified window.
Definition: window.c:876
GLFWAPI GLFWmonitor * glfwGetWindowMonitor(GLFWwindow *window)
Returns the monitor that the window uses for full screen mode.
Definition: window.c:916
GLFWAPI void glfwPostEmptyEvent(void)
Posts an empty event to the event queue.
Definition: window.c:1109
GLFWAPI void glfwSetWindowSize(GLFWwindow *window, int width, int height)
Sets the size of the content area of the specified window.
Definition: window.c:567
GLFWAPI GLFWwindowmaximizefun glfwSetWindowMaximizeCallback(GLFWwindow *window, GLFWwindowmaximizefun callback)
Sets the maximize callback for the specified window.
Definition: window.c:1048
GLFWAPI void glfwGetFramebufferSize(GLFWwindow *window, int *width, int *height)
Retrieves the size of the framebuffer of the specified window.
Definition: window.c:656
GLFWAPI void glfwSwapBuffers(GLFWwindow *window)
Swaps the front and back buffers of the specified window.
Definition: context.c:639
void(* GLFWwindowposfun)(GLFWwindow *, int, int)
The function pointer type for window position callbacks.
Definition: glfw3.h:1378
uint64_t VkSurfaceKHR
Definition: internal.h:120
void * VkInstance
Definition: internal.h:118
void * VkPhysicalDevice
Definition: internal.h:119
unsigned int uint32_t
Definition: stdint.h:80
unsigned __int64 uint64_t
Definition: stdint.h:90
Gamepad input state.
Definition: glfw3.h:1879
unsigned char buttons[15]
Definition: glfw3.h:1883
float axes[6]
Definition: glfw3.h:1887
Gamma ramp.
Definition: glfw3.h:1826
unsigned short * red
Definition: glfw3.h:1829
unsigned short * blue
Definition: glfw3.h:1835
unsigned int size
Definition: glfw3.h:1838
unsigned short * green
Definition: glfw3.h:1832
Image data.
Definition: glfw3.h:1855
int height
Definition: glfw3.h:1861
unsigned char * pixels
Definition: glfw3.h:1864
int width
Definition: glfw3.h:1858
Video mode type.
Definition: glfw3.h:1792
int greenBits
Definition: glfw3.h:1804
int redBits
Definition: glfw3.h:1801
int width
Definition: glfw3.h:1795
int refreshRate
Definition: glfw3.h:1810
int height
Definition: glfw3.h:1798
int blueBits
Definition: glfw3.h:1807
GLFWAPI VkResult glfwCreateWindowSurface(VkInstance instance, GLFWwindow *handle, const VkAllocationCallbacks *allocator, VkSurfaceKHR *surface)
Definition: vulkan.c:299
GLFWAPI int glfwGetPhysicalDevicePresentationSupport(VkInstance instance, VkPhysicalDevice device, uint32_t queuefamily)
Definition: vulkan.c:275
GLFWAPI GLFWvkproc glfwGetInstanceProcAddress(VkInstance instance, const char *procname)
Definition: vulkan.c:249
VkResult
Definition: vulkan.h:842