82 #if !defined(_WIN32) && (defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__))
92 #define APIENTRY __stdcall
104 #if !defined(WINGDIAPI) && defined(_WIN32)
105 #if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__POCC__)
107 #define WINGDIAPI __declspec(dllimport)
108 #elif defined(__LCC__)
110 #define WINGDIAPI __stdcall
113 #define WINGDIAPI extern
115 #define GLFW_WINGDIAPI_DEFINED
119 #if !defined(CALLBACK) && defined(_WIN32)
120 #if defined(_MSC_VER)
122 #if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS)
123 #define CALLBACK __stdcall
129 #define CALLBACK __stdcall
131 #define GLFW_CALLBACK_DEFINED
141 #if defined(GLFW_DLL) && defined(_GLFW_BUILD_DLL)
146 #error "You must not have both GLFW_DLL and _GLFW_BUILD_DLL defined"
149 #if defined(_WIN32) && defined(_GLFW_BUILD_DLL)
152 #define GLFWAPI __declspec(dllexport)
154 #elif defined(_WIN32) && defined(GLFW_DLL)
158 #define GLFWAPI extern
160 #define GLFWAPI __declspec(dllimport)
163 #elif defined(__GNUC__) && defined(_GLFW_BUILD_DLL)
165 #define GLFWAPI __attribute__((visibility("default")))
178 #if defined(__APPLE_CC__)
179 #if defined(GLFW_INCLUDE_GLCOREARB)
180 #include <OpenGL/gl3.h>
181 #elif !defined(GLFW_INCLUDE_NONE)
182 #define GL_GLEXT_LEGACY
183 #include <OpenGL/gl.h>
185 #if defined(GLFW_INCLUDE_GLU)
186 #include <OpenGL/glu.h>
189 #if defined(GLFW_INCLUDE_GLCOREARB)
190 #include <GL/glcorearb.h>
191 #elif defined(GLFW_INCLUDE_ES1)
193 #elif defined(GLFW_INCLUDE_ES2)
194 #include <GLES2/gl2.h>
195 #elif defined(GLFW_INCLUDE_ES3)
196 #include <GLES3/gl3.h>
197 #elif !defined(GLFW_INCLUDE_NONE)
200 #if defined(GLFW_INCLUDE_GLU)
217 #define GLFW_VERSION_MAJOR 3
224 #define GLFW_VERSION_MINOR 0
231 #define GLFW_VERSION_REVISION 2
239 #define GLFW_RELEASE 0
247 #define GLFW_REPEAT 2
272 #define GLFW_KEY_UNKNOWN -1
275 #define GLFW_KEY_SPACE 32
276 #define GLFW_KEY_APOSTROPHE 39
277 #define GLFW_KEY_COMMA 44
278 #define GLFW_KEY_MINUS 45
279 #define GLFW_KEY_PERIOD 46
280 #define GLFW_KEY_SLASH 47
281 #define GLFW_KEY_0 48
282 #define GLFW_KEY_1 49
283 #define GLFW_KEY_2 50
284 #define GLFW_KEY_3 51
285 #define GLFW_KEY_4 52
286 #define GLFW_KEY_5 53
287 #define GLFW_KEY_6 54
288 #define GLFW_KEY_7 55
289 #define GLFW_KEY_8 56
290 #define GLFW_KEY_9 57
291 #define GLFW_KEY_SEMICOLON 59
292 #define GLFW_KEY_EQUAL 61
293 #define GLFW_KEY_A 65
294 #define GLFW_KEY_B 66
295 #define GLFW_KEY_C 67
296 #define GLFW_KEY_D 68
297 #define GLFW_KEY_E 69
298 #define GLFW_KEY_F 70
299 #define GLFW_KEY_G 71
300 #define GLFW_KEY_H 72
301 #define GLFW_KEY_I 73
302 #define GLFW_KEY_J 74
303 #define GLFW_KEY_K 75
304 #define GLFW_KEY_L 76
305 #define GLFW_KEY_M 77
306 #define GLFW_KEY_N 78
307 #define GLFW_KEY_O 79
308 #define GLFW_KEY_P 80
309 #define GLFW_KEY_Q 81
310 #define GLFW_KEY_R 82
311 #define GLFW_KEY_S 83
312 #define GLFW_KEY_T 84
313 #define GLFW_KEY_U 85
314 #define GLFW_KEY_V 86
315 #define GLFW_KEY_W 87
316 #define GLFW_KEY_X 88
317 #define GLFW_KEY_Y 89
318 #define GLFW_KEY_Z 90
319 #define GLFW_KEY_LEFT_BRACKET 91
320 #define GLFW_KEY_BACKSLASH 92
321 #define GLFW_KEY_RIGHT_BRACKET 93
322 #define GLFW_KEY_GRAVE_ACCENT 96
323 #define GLFW_KEY_WORLD_1 161
324 #define GLFW_KEY_WORLD_2 162
327 #define GLFW_KEY_ESCAPE 256
328 #define GLFW_KEY_ENTER 257
329 #define GLFW_KEY_TAB 258
330 #define GLFW_KEY_BACKSPACE 259
331 #define GLFW_KEY_INSERT 260
332 #define GLFW_KEY_DELETE 261
333 #define GLFW_KEY_RIGHT 262
334 #define GLFW_KEY_LEFT 263
335 #define GLFW_KEY_DOWN 264
336 #define GLFW_KEY_UP 265
337 #define GLFW_KEY_PAGE_UP 266
338 #define GLFW_KEY_PAGE_DOWN 267
339 #define GLFW_KEY_HOME 268
340 #define GLFW_KEY_END 269
341 #define GLFW_KEY_CAPS_LOCK 280
342 #define GLFW_KEY_SCROLL_LOCK 281
343 #define GLFW_KEY_NUM_LOCK 282
344 #define GLFW_KEY_PRINT_SCREEN 283
345 #define GLFW_KEY_PAUSE 284
346 #define GLFW_KEY_F1 290
347 #define GLFW_KEY_F2 291
348 #define GLFW_KEY_F3 292
349 #define GLFW_KEY_F4 293
350 #define GLFW_KEY_F5 294
351 #define GLFW_KEY_F6 295
352 #define GLFW_KEY_F7 296
353 #define GLFW_KEY_F8 297
354 #define GLFW_KEY_F9 298
355 #define GLFW_KEY_F10 299
356 #define GLFW_KEY_F11 300
357 #define GLFW_KEY_F12 301
358 #define GLFW_KEY_F13 302
359 #define GLFW_KEY_F14 303
360 #define GLFW_KEY_F15 304
361 #define GLFW_KEY_F16 305
362 #define GLFW_KEY_F17 306
363 #define GLFW_KEY_F18 307
364 #define GLFW_KEY_F19 308
365 #define GLFW_KEY_F20 309
366 #define GLFW_KEY_F21 310
367 #define GLFW_KEY_F22 311
368 #define GLFW_KEY_F23 312
369 #define GLFW_KEY_F24 313
370 #define GLFW_KEY_F25 314
371 #define GLFW_KEY_KP_0 320
372 #define GLFW_KEY_KP_1 321
373 #define GLFW_KEY_KP_2 322
374 #define GLFW_KEY_KP_3 323
375 #define GLFW_KEY_KP_4 324
376 #define GLFW_KEY_KP_5 325
377 #define GLFW_KEY_KP_6 326
378 #define GLFW_KEY_KP_7 327
379 #define GLFW_KEY_KP_8 328
380 #define GLFW_KEY_KP_9 329
381 #define GLFW_KEY_KP_DECIMAL 330
382 #define GLFW_KEY_KP_DIVIDE 331
383 #define GLFW_KEY_KP_MULTIPLY 332
384 #define GLFW_KEY_KP_SUBTRACT 333
385 #define GLFW_KEY_KP_ADD 334
386 #define GLFW_KEY_KP_ENTER 335
387 #define GLFW_KEY_KP_EQUAL 336
388 #define GLFW_KEY_LEFT_SHIFT 340
389 #define GLFW_KEY_LEFT_CONTROL 341
390 #define GLFW_KEY_LEFT_ALT 342
391 #define GLFW_KEY_LEFT_SUPER 343
392 #define GLFW_KEY_RIGHT_SHIFT 344
393 #define GLFW_KEY_RIGHT_CONTROL 345
394 #define GLFW_KEY_RIGHT_ALT 346
395 #define GLFW_KEY_RIGHT_SUPER 347
396 #define GLFW_KEY_MENU 348
397 #define GLFW_KEY_LAST GLFW_KEY_MENU
407 #define GLFW_MOD_SHIFT 0x0001
410 #define GLFW_MOD_CONTROL 0x0002
413 #define GLFW_MOD_ALT 0x0004
416 #define GLFW_MOD_SUPER 0x0008
423 #define GLFW_MOUSE_BUTTON_1 0
424 #define GLFW_MOUSE_BUTTON_2 1
425 #define GLFW_MOUSE_BUTTON_3 2
426 #define GLFW_MOUSE_BUTTON_4 3
427 #define GLFW_MOUSE_BUTTON_5 4
428 #define GLFW_MOUSE_BUTTON_6 5
429 #define GLFW_MOUSE_BUTTON_7 6
430 #define GLFW_MOUSE_BUTTON_8 7
431 #define GLFW_MOUSE_BUTTON_LAST GLFW_MOUSE_BUTTON_8
432 #define GLFW_MOUSE_BUTTON_LEFT GLFW_MOUSE_BUTTON_1
433 #define GLFW_MOUSE_BUTTON_RIGHT GLFW_MOUSE_BUTTON_2
434 #define GLFW_MOUSE_BUTTON_MIDDLE GLFW_MOUSE_BUTTON_3
440 #define GLFW_JOYSTICK_1 0
441 #define GLFW_JOYSTICK_2 1
442 #define GLFW_JOYSTICK_3 2
443 #define GLFW_JOYSTICK_4 3
444 #define GLFW_JOYSTICK_5 4
445 #define GLFW_JOYSTICK_6 5
446 #define GLFW_JOYSTICK_7 6
447 #define GLFW_JOYSTICK_8 7
448 #define GLFW_JOYSTICK_9 8
449 #define GLFW_JOYSTICK_10 9
450 #define GLFW_JOYSTICK_11 10
451 #define GLFW_JOYSTICK_12 11
452 #define GLFW_JOYSTICK_13 12
453 #define GLFW_JOYSTICK_14 13
454 #define GLFW_JOYSTICK_15 14
455 #define GLFW_JOYSTICK_16 15
456 #define GLFW_JOYSTICK_LAST GLFW_JOYSTICK_16
464 #define GLFW_NOT_INITIALIZED 0x00010001
467 #define GLFW_NO_CURRENT_CONTEXT 0x00010002
471 #define GLFW_INVALID_ENUM 0x00010003
474 #define GLFW_INVALID_VALUE 0x00010004
477 #define GLFW_OUT_OF_MEMORY 0x00010005
481 #define GLFW_API_UNAVAILABLE 0x00010006
484 #define GLFW_VERSION_UNAVAILABLE 0x00010007
488 #define GLFW_PLATFORM_ERROR 0x00010008
491 #define GLFW_FORMAT_UNAVAILABLE 0x00010009
494 #define GLFW_FOCUSED 0x00020001
495 #define GLFW_ICONIFIED 0x00020002
496 #define GLFW_RESIZABLE 0x00020003
497 #define GLFW_VISIBLE 0x00020004
498 #define GLFW_DECORATED 0x00020005
500 #define GLFW_RED_BITS 0x00021001
501 #define GLFW_GREEN_BITS 0x00021002
502 #define GLFW_BLUE_BITS 0x00021003
503 #define GLFW_ALPHA_BITS 0x00021004
504 #define GLFW_DEPTH_BITS 0x00021005
505 #define GLFW_STENCIL_BITS 0x00021006
506 #define GLFW_ACCUM_RED_BITS 0x00021007
507 #define GLFW_ACCUM_GREEN_BITS 0x00021008
508 #define GLFW_ACCUM_BLUE_BITS 0x00021009
509 #define GLFW_ACCUM_ALPHA_BITS 0x0002100A
510 #define GLFW_AUX_BUFFERS 0x0002100B
511 #define GLFW_STEREO 0x0002100C
512 #define GLFW_SAMPLES 0x0002100D
513 #define GLFW_SRGB_CAPABLE 0x0002100E
514 #define GLFW_REFRESH_RATE 0x0002100F
516 #define GLFW_CLIENT_API 0x00022001
517 #define GLFW_CONTEXT_VERSION_MAJOR 0x00022002
518 #define GLFW_CONTEXT_VERSION_MINOR 0x00022003
519 #define GLFW_CONTEXT_REVISION 0x00022004
520 #define GLFW_CONTEXT_ROBUSTNESS 0x00022005
521 #define GLFW_OPENGL_FORWARD_COMPAT 0x00022006
522 #define GLFW_OPENGL_DEBUG_CONTEXT 0x00022007
523 #define GLFW_OPENGL_PROFILE 0x00022008
525 #define GLFW_OPENGL_API 0x00030001
526 #define GLFW_OPENGL_ES_API 0x00030002
528 #define GLFW_NO_ROBUSTNESS 0
529 #define GLFW_NO_RESET_NOTIFICATION 0x00031001
530 #define GLFW_LOSE_CONTEXT_ON_RESET 0x00031002
532 #define GLFW_OPENGL_ANY_PROFILE 0
533 #define GLFW_OPENGL_CORE_PROFILE 0x00032001
534 #define GLFW_OPENGL_COMPAT_PROFILE 0x00032002
536 #define GLFW_CURSOR 0x00033001
537 #define GLFW_STICKY_KEYS 0x00033002
538 #define GLFW_STICKY_MOUSE_BUTTONS 0x00033003
540 #define GLFW_CURSOR_NORMAL 0x00034001
541 #define GLFW_CURSOR_HIDDEN 0x00034002
542 #define GLFW_CURSOR_DISABLED 0x00034003
544 #define GLFW_CONNECTED 0x00040001
545 #define GLFW_DISCONNECTED 0x00040002
1132 GLFWAPI
void glfwSetGamma(GLFWmonitor* monitor,
float gamma);
1253 GLFWAPI GLFWwindow*
glfwCreateWindow(
int width,
int height,
const char* title, GLFWmonitor* monitor, GLFWwindow* share);
1799 GLFWAPI
int glfwGetKey(GLFWwindow* window,
int key);
1843 GLFWAPI
void glfwGetCursorPos(GLFWwindow* window,
double* xpos,
double* ypos);
1865 GLFWAPI
void glfwSetCursorPos(GLFWwindow* window,
double xpos,
double ypos);
2264 #ifdef GLFW_WINGDIAPI_DEFINED
2266 #undef GLFW_WINGDIAPI_DEFINED
2269 #ifdef GLFW_CALLBACK_DEFINED
2271 #undef GLFW_CALLBACK_DEFINED