Go to the documentation of this file.
1 //========================================================================
2 // GLFW 3.3 -
3 //------------------------------------------------------------------------
4 // Copyright (c) 2002-2006 Marcus Geelnard
5 // Copyright (c) 2006-2016 Camilla Löwy <>
6 //
7 // This software is provided 'as-is', without any express or implied
8 // warranty. In no event will the authors be held liable for any damages
9 // arising from the use of this software.
10 //
11 // Permission is granted to anyone to use this software for any purpose,
12 // including commercial applications, and to alter it and redistribute it
13 // freely, subject to the following restrictions:
14 //
15 // 1. The origin of this software must not be misrepresented; you must not
16 // claim that you wrote the original software. If you use this software
17 // in a product, an acknowledgment in the product documentation would
18 // be appreciated but is not required.
19 //
20 // 2. Altered source versions must be plainly marked as such, and must not
21 // be misrepresented as being the original software.
22 //
23 // 3. This notice may not be removed or altered from any source
24 // distribution.
25 //
26 //========================================================================
28 #pragma once
30 #if defined(_GLFW_USE_CONFIG_H)
31  #include "glfw_config.h"
32 #endif
34 #if defined(GLFW_INCLUDE_GLCOREARB) || \
35  defined(GLFW_INCLUDE_ES1) || \
36  defined(GLFW_INCLUDE_ES2) || \
37  defined(GLFW_INCLUDE_ES3) || \
38  defined(GLFW_INCLUDE_ES31) || \
39  defined(GLFW_INCLUDE_ES32) || \
40  defined(GLFW_INCLUDE_NONE) || \
41  defined(GLFW_INCLUDE_GLEXT) || \
42  defined(GLFW_INCLUDE_GLU) || \
43  defined(GLFW_INCLUDE_VULKAN) || \
44  defined(GLFW_DLL)
45  #error "You must not define any header option macros when compiling GLFW"
46 #endif
49 #include "../include/GLFW/glfw3.h"
51 #define _GLFW_INSERT_FIRST 0
52 #define _GLFW_INSERT_LAST 1
54 #define _GLFW_POLL_PRESENCE 0
55 #define _GLFW_POLL_AXES 1
56 #define _GLFW_POLL_BUTTONS 2
59 #define _GLFW_MESSAGE_SIZE 1024
61 typedef int GLFWbool;
63 typedef struct _GLFWerror _GLFWerror;
68 typedef struct _GLFWcontext _GLFWcontext;
69 typedef struct _GLFWwindow _GLFWwindow;
70 typedef struct _GLFWlibrary _GLFWlibrary;
71 typedef struct _GLFWmonitor _GLFWmonitor;
72 typedef struct _GLFWcursor _GLFWcursor;
74 typedef struct _GLFWmapping _GLFWmapping;
76 typedef struct _GLFWtls _GLFWtls;
77 typedef struct _GLFWmutex _GLFWmutex;
81 typedef void (* _GLFWswapintervalfun)(int);
82 typedef int (* _GLFWextensionsupportedfun)(const char*);
83 typedef GLFWglproc (* _GLFWgetprocaddressfun)(const char*);
86 #define GL_VERSION 0x1f02
87 #define GL_NONE 0
88 #define GL_COLOR_BUFFER_BIT 0x00004000
89 #define GL_UNSIGNED_BYTE 0x1401
90 #define GL_EXTENSIONS 0x1f03
91 #define GL_NUM_EXTENSIONS 0x821d
92 #define GL_CONTEXT_FLAGS 0x821e
94 #define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002
95 #define GL_CONTEXT_PROFILE_MASK 0x9126
97 #define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
99 #define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
103 #define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
105 typedef int GLint;
106 typedef unsigned int GLuint;
107 typedef unsigned int GLenum;
108 typedef unsigned int GLbitfield;
109 typedef unsigned char GLubyte;
116 #define VK_NULL_HANDLE 0
118 typedef void* VkInstance;
119 typedef void* VkPhysicalDevice;
124 typedef enum VkStructureType
125 {
134 typedef enum VkResult
135 {
154  VK_SUBOPTIMAL_KHR = 1000001003,
160 } VkResult;
164 typedef struct VkExtensionProperties
165 {
166  char extensionName[256];
172 #if defined(_GLFW_VULKAN_STATIC)
175 #else
178  #define vkEnumerateInstanceExtensionProperties _glfw.vk.EnumerateInstanceExtensionProperties
179  #define vkGetInstanceProcAddr _glfw.vk.GetInstanceProcAddr
180 #endif
182 #if defined(_GLFW_COCOA)
183  #include "cocoa_platform.h"
184 #elif defined(_GLFW_WIN32)
185  #include "win32_platform.h"
186 #elif defined(_GLFW_X11)
187  #include "x11_platform.h"
188 #elif defined(_GLFW_WAYLAND)
189  #include "wl_platform.h"
190 #elif defined(_GLFW_OSMESA)
191  #include "null_platform.h"
192 #else
193  #error "No supported window creation API selected"
194 #endif
196 // Constructs a version number string from the public header macros
197 #define _GLFW_CONCAT_VERSION(m, n, r) #m "." #n "." #r
198 #define _GLFW_MAKE_VERSION(m, n, r) _GLFW_CONCAT_VERSION(m, n, r)
203 // Checks for whether the library has been initialized
204 #define _GLFW_REQUIRE_INIT() \
205  if (!_glfw.initialized) \
206  { \
207  _glfwInputError(GLFW_NOT_INITIALIZED, NULL); \
208  return; \
209  }
211  if (!_glfw.initialized) \
212  { \
213  _glfwInputError(GLFW_NOT_INITIALIZED, NULL); \
214  return x; \
215  }
217 // Swaps the provided pointers
218 #define _GLFW_SWAP_POINTERS(x, y) \
219  { \
220  void* t; \
221  t = x; \
222  x = y; \
223  y = t; \
224  }
226 // Per-thread error structure
227 //
229 {
231  int code;
232  char description[_GLFW_MESSAGE_SIZE];
233 };
235 // Initialization configuration
236 //
237 // Parameters relating to the initialization of the library
238 //
240 {
242  struct {
245  } ns;
246 };
248 // Window configuration
249 //
250 // Parameters relating to the creation of the window but not directly related
251 // to the framebuffer. This is used to pass window creation parameters from
252 // shared code to the platform API.
253 //
255 {
256  int width;
257  int height;
258  const char* title;
269  struct {
271  char frameName[256];
272  } ns;
273  struct {
274  char className[256];
275  char instanceName[256];
276  } x11;
277 };
279 // Context configuration
280 //
281 // Parameters relating to the creation of the context but not directly related
282 // to the framebuffer. This is used to pass context creation parameters from
283 // shared code to the platform API.
284 //
286 {
287  int client;
288  int source;
289  int major;
290  int minor;
294  int profile;
296  int release;
298  struct {
300  } nsgl;
301 };
303 // Framebuffer configuration
304 //
305 // This describes buffers and their sizes. It also contains
306 // a platform-specific ID used to map back to the backend API object.
307 //
308 // It is used to pass framebuffer parameters from shared code to the platform
309 // API and also to enumerate and select available framebuffer configs.
310 //
312 {
313  int redBits;
315  int blueBits;
325  int samples;
330 };
332 // Context structure
333 //
335 {
336  int client;
337  int source;
340  int profile;
342  int release;
355  // This is defined in the context API's context.h
357  // This is defined in egl_context.h
359  // This is defined in osmesa_context.h
361 };
363 // Window and context structure
364 //
366 {
367  struct _GLFWwindow* next;
369  // Window settings and state
376  void* userPointer;
383  int numer, denom;
390  char keys[GLFW_KEY_LAST + 1];
391  // Virtual cursor position when cursor is disabled
396  struct {
414  } callbacks;
416  // This is defined in the window API's platform.h
418 };
420 // Monitor structure
421 //
423 {
424  char* name;
425  void* userPointer;
427  // Physical dimensions in millimeters.
428  int widthMM, heightMM;
430  // The window whose video mode is current on this monitor
440  // This is defined in the window API's platform.h
442 };
444 // Cursor structure
445 //
447 {
450  // This is defined in the window API's platform.h
452 };
454 // Gamepad mapping element structure
455 //
457 {
462 };
464 // Gamepad mapping structure
465 //
467 {
468  char name[128];
469  char guid[33];
470  _GLFWmapelement buttons[15];
472 };
474 // Joystick structure
475 //
477 {
479  float* axes;
481  unsigned char* buttons;
483  unsigned char* hats;
484  int hatCount;
485  char* name;
486  void* userPointer;
487  char guid[33];
490  // This is defined in the joystick API's joystick.h
492 };
494 // Thread local storage structure
495 //
496 struct _GLFWtls
497 {
498  // This is defined in the platform's thread.h
500 };
502 // Mutex structure
503 //
505 {
506  // This is defined in the platform's thread.h
508 };
510 // Library global data
511 //
513 {
516  struct {
522  } hints;
539  struct {
541  // This is defined in the platform's time.h
543  } timer;
545  struct {
547  void* handle;
548  char* extensions[2];
549 #if !defined(_GLFW_VULKAN_STATIC)
552 #endif
554 #if defined(_GLFW_WIN32)
555  GLFWbool KHR_win32_surface;
556 #elif defined(_GLFW_COCOA)
557  GLFWbool MVK_macos_surface;
558 #elif defined(_GLFW_X11)
559  GLFWbool KHR_xlib_surface;
560  GLFWbool KHR_xcb_surface;
561 #elif defined(_GLFW_WAYLAND)
562  GLFWbool KHR_wayland_surface;
563 #endif
564  } vk;
566  struct {
569  } callbacks;
571  // This is defined in the window API's platform.h
573  // This is defined in the context API's context.h
575  // This is defined in the platform's joystick.h
577  // This is defined in egl_context.h
579  // This is defined in osmesa_context.h
581 };
583 // Global state shared between compilation units of GLFW
584 //
585 extern _GLFWlibrary _glfw;
592 int _glfwPlatformInit(void);
593 void _glfwPlatformTerminate(void);
594 const char* _glfwPlatformGetVersionString(void);
596 void _glfwPlatformGetCursorPos(_GLFWwindow* window, double* xpos, double* ypos);
597 void _glfwPlatformSetCursorPos(_GLFWwindow* window, double xpos, double ypos);
600  const GLFWimage* image, int xhot, int yhot);
601 int _glfwPlatformCreateStandardCursor(_GLFWcursor* cursor, int shape);
605 const char* _glfwPlatformGetScancodeName(int scancode);
609 void _glfwPlatformGetMonitorPos(_GLFWmonitor* monitor, int* xpos, int* ypos);
611  float* xscale, float* yscale);
615 void _glfwPlatformSetGammaRamp(_GLFWmonitor* monitor, const GLFWgammaramp* ramp);
617 void _glfwPlatformSetClipboardString(const char* string);
618 const char* _glfwPlatformGetClipboardString(void);
621 void _glfwPlatformUpdateGamepadGUID(char* guid);
627  const _GLFWwndconfig* wndconfig,
628  const _GLFWctxconfig* ctxconfig,
629  const _GLFWfbconfig* fbconfig);
631 void _glfwPlatformSetWindowTitle(_GLFWwindow* window, const char* title);
633  int count, const GLFWimage* images);
639  int minwidth, int minheight,
640  int maxwidth, int maxheight);
641 void _glfwPlatformSetWindowAspectRatio(_GLFWwindow* window, int numer, int denom);
644  int* left, int* top,
645  int* right, int* bottom);
647  float* xscale, float* yscale);
656  int xpos, int ypos, int width, int height,
657  int refreshRate);
668 void _glfwPlatformSetWindowOpacity(_GLFWwindow* window, float opacity);
670 void _glfwPlatformPollEvents(void);
671 void _glfwPlatformWaitEvents(void);
673 void _glfwPlatformPostEmptyEvent(void);
675 void _glfwPlatformGetRequiredInstanceExtensions(char** extensions);
678  uint32_t queuefamily);
681  const VkAllocationCallbacks* allocator,
682  VkSurfaceKHR* surface);
686 void* _glfwPlatformGetTls(_GLFWtls* tls);
687 void _glfwPlatformSetTls(_GLFWtls* tls, void* value);
704  float xscale, float yscale);
712  int key, int scancode, int action, int mods);
714  unsigned int codepoint, int mods, GLFWbool plain);
715 void _glfwInputScroll(_GLFWwindow* window, double xoffset, double yoffset);
716 void _glfwInputMouseClick(_GLFWwindow* window, int button, int action, int mods);
717 void _glfwInputCursorPos(_GLFWwindow* window, double xpos, double ypos);
719 void _glfwInputDrop(_GLFWwindow* window, int count, const char** names);
720 void _glfwInputJoystick(_GLFWjoystick* js, int event);
721 void _glfwInputJoystickAxis(_GLFWjoystick* js, int axis, float value);
722 void _glfwInputJoystickButton(_GLFWjoystick* js, int button, char value);
723 void _glfwInputJoystickHat(_GLFWjoystick* js, int hat, char value);
725 void _glfwInputMonitor(_GLFWmonitor* monitor, int action, int placement);
728 #if defined(__GNUC__)
729 void _glfwInputError(int code, const char* format, ...)
730  __attribute__((format(printf, 2, 3)));
731 #else
732 void _glfwInputError(int code, const char* format, ...);
733 #endif
740 GLFWbool _glfwStringInExtensionString(const char* string, const char* extensions);
741 const _GLFWfbconfig* _glfwChooseFBConfig(const _GLFWfbconfig* desired,
742  const _GLFWfbconfig* alternatives,
743  unsigned int count);
745  const _GLFWctxconfig* ctxconfig);
749  const GLFWvidmode* desired);
750 int _glfwCompareVideoModes(const GLFWvidmode* first, const GLFWvidmode* second);
751 _GLFWmonitor* _glfwAllocMonitor(const char* name, int widthMM, int heightMM);
752 void _glfwFreeMonitor(_GLFWmonitor* monitor);
753 void _glfwAllocGammaArrays(GLFWgammaramp* ramp, unsigned int size);
755 void _glfwSplitBPP(int bpp, int* red, int* green, int* blue);
758  const char* guid,
759  int axisCount,
760  int buttonCount,
761  int hatCount);
765 void _glfwTerminateVulkan(void);
768 char* _glfw_strdup(const char* source);
Definition: internal.h:356
_GLFWtls errorSlot
Definition: internal.h:535
void _glfwInputScroll(_GLFWwindow *window, double xoffset, double yoffset)
Definition: input.c:310
GLFWcharmodsfun charmods
Definition: internal.h:412
GLFWbool initialized
Definition: internal.h:514
_GLFWswapbuffersfun swapBuffers
Definition: internal.h:349
_GLFWjoystick * _glfwAllocJoystick(const char *name, const char *guid, int axisCount, int buttonCount, int hatCount)
Definition: input.c:411
GLFWwindowposfun pos
Definition: internal.h:397
void(* GLFWwindowiconifyfun)(GLFWwindow *, int)
The function signature for window iconify/restore callbacks.
Definition: glfw3.h:1269
void _glfwPlatformDestroyTls(_GLFWtls *tls)
Definition: posix_thread.c:53
int GLint
Definition: internal.h:105
GLFWbool _glfwRefreshContextAttribs(_GLFWwindow *window, const _GLFWctxconfig *ctxconfig)
Definition: context.c:344
Definition: vulkan_core.h:159
GLFWcursorposfun cursorPos
Definition: internal.h:407
GLFWbool focusOnShow
Definition: internal.h:267
_GLFWwindow * share
Definition: internal.h:297
GLFWbool centerCursor
Definition: internal.h:266
char * name
Definition: internal.h:485
void _glfwPlatformGetWindowSize(_GLFWwindow *window, int *width, int *height)
Definition: null_window.c:104
GLFWgammaramp currentRamp
Definition: internal.h:438
void _glfwInputJoystickButton(_GLFWjoystick *js, int button, char value)
Definition: input.c:385
void(* GLFWcharmodsfun)(GLFWwindow *, unsigned int, int)
The function signature for Unicode character with modifiers callbacks.
Definition: glfw3.h:1458
typedef void(APIENTRY *GLDEBUGPROC)(GLenum source
GLuint const GLchar * name
_GLFWfbconfig framebuffer
Definition: internal.h:518
void _glfwPlatformDestroyMutex(_GLFWmutex *mutex)
Definition: posix_thread.c:85
GLFWbool retina
Definition: internal.h:270
Definition: vulkan_core.h:122
void _glfwInputWindowCloseRequest(_GLFWwindow *window)
Definition: window.c:131
Definition: internal.h:451
GLFWwindowcontentscalefun scale
Definition: internal.h:405
GLFWbool scaleToMonitor
Definition: internal.h:268
int _glfwPlatformCreateWindow(_GLFWwindow *window, const _GLFWwndconfig *wndconfig, const _GLFWctxconfig *ctxconfig, const _GLFWfbconfig *fbconfig)
Definition: null_window.c:45
_GLFWgetprocaddressfun getProcAddress
Definition: internal.h:352
PFN_vkVoidFunction(APIENTRY * PFN_vkGetInstanceProcAddr)(VkInstance, const char *)
Definition: internal.h:176
void(* GLFWmonitorfun)(GLFWmonitor *, int)
The function signature for monitor configuration callbacks.
Definition: glfw3.h:1492
GLdouble GLdouble GLdouble top
Definition: internal.h:358
GLfloat green
Definition: internal.h:507
void _glfwPlatformPostEmptyEvent(void)
Definition: null_window.c:247
PFN_vkEnumerateInstanceExtensionProperties EnumerateInstanceExtensionProperties
Definition: internal.h:550
#define APIENTRY
_GLFWerror * next
Definition: internal.h:230
void(* _GLFWdestroycontextfun)(_GLFWwindow *)
Definition: internal.h:84
_GLFWtls contextSlot
Definition: internal.h:536
void _glfwPlatformSetWindowSizeLimits(_GLFWwindow *window, int minwidth, int minheight, int maxwidth, int maxheight)
Definition: null_window.c:118
Definition: internal.h:326
void _glfwAllocGammaArrays(GLFWgammaramp *ramp, unsigned int size)
Definition: monitor.c:192
uintptr_t handle
Definition: internal.h:329
void(* _GLFWswapintervalfun)(int)
Definition: internal.h:81
_GLFWinitconfig init
Definition: internal.h:517
def axes(out, pos, rotation=np.eye(3), size=0.075, thickness=2)
GLFWmousebuttonfun mouseButton
Definition: internal.h:406
GLFWbool _glfwIsValidContextConfig(const _GLFWctxconfig *ctxconfig)
Definition: context.c:47
void _glfwInputWindowIconify(_GLFWwindow *window, GLFWbool iconified)
Definition: window.c:89
GLFWbool decorated
Definition: internal.h:261
GLFWwindowclosefun close
Definition: internal.h:399
_GLFWcursor * next
Definition: internal.h:448
void _glfwInputDrop(_GLFWwindow *window, int count, const char **names)
Definition: input.c:360
#define vkGetInstanceProcAddr
Definition: internal.h:179
_GLFWdestroycontextfun destroy
Definition: internal.h:353
void _glfwSplitBPP(int bpp, int *red, int *green, int *blue)
Definition: monitor.c:272
GLfloat value
GLFWvidmode * modes
Definition: internal.h:433
void _glfwInputFramebufferSize(_GLFWwindow *window, int width, int height)
Definition: window.c:106
void _glfwPlatformGetFramebufferSize(_GLFWwindow *window, int *width, int *height)
Definition: null_window.c:128
int code
Definition: internal.h:231
int accumGreenBits
Definition: internal.h:320
void _glfwPlatformSetWindowAspectRatio(_GLFWwindow *window, int numer, int denom)
Definition: null_window.c:124
_GLFWctxconfig context
Definition: internal.h:520
uint64_t _glfwPlatformGetTimerValue(void)
Definition: cocoa_time.c:51
_GLFWmonitor * _glfwAllocMonitor(const char *name, int widthMM, int heightMM)
Definition: monitor.c:161
void(* GLFWdropfun)(GLFWwindow *, int, const char **)
The function signature for file drop callbacks.
Definition: glfw3.h:1475
void _glfwInputWindowMaximize(_GLFWwindow *window, GLFWbool maximized)
Definition: window.c:97
Definition: internal.h:346
uint64_t _glfwPlatformGetTimerFrequency(void)
Definition: cocoa_time.c:56
GLFWcursorenterfun cursorEnter
Definition: internal.h:408
GLFWframebuffersizefun fbsize
Definition: internal.h:404
void(* GLFWkeyfun)(GLFWwindow *, int, int, int, int)
The function signature for keyboard key callbacks.
Definition: glfw3.h:1418
Definition: internal.h:112
void(* GLFWmousebuttonfun)(GLFWwindow *, int, int, int)
The function signature for mouse button callbacks.
Definition: glfw3.h:1344
const char * _glfwGetVulkanResultString(VkResult result)
Definition: src/vulkan.c:159
void _glfwPlatformGetVideoMode(_GLFWmonitor *monitor, GLFWvidmode *mode)
Definition: null_monitor.c:57
GLFWbool forward
Definition: internal.h:291
GLFWkeyfun key
Definition: internal.h:410
void(* GLFWcharfun)(GLFWwindow *, unsigned int)
The function signature for Unicode character callbacks.
Definition: glfw3.h:1435
GLFWbool present
Definition: internal.h:478
_GLFWerror * errorListHead
Definition: internal.h:524
Definition: internal.h:499
Definition: internal.h:113
GLFWbool autoIconify
Definition: internal.h:263
void _glfwTerminateVulkan(void)
Definition: src/vulkan.c:151
void _glfwPlatformSetClipboardString(const char *string)
Definition: null_window.c:283
int stencilBits
Definition: internal.h:318
const char * _glfwPlatformGetClipboardString(void)
Definition: null_window.c:287
unsigned char uint8_t
Definition: stdint.h:78
_GLFWcontext context
Definition: internal.h:394
_GLFWwindow * windowListHead
Definition: internal.h:526
GLFWbool noerror
Definition: internal.h:339
int GLFWbool
Definition: internal.h:61
float * axes
Definition: internal.h:479
void _glfwFreeGammaArrays(GLFWgammaramp *ramp)
Definition: monitor.c:202
int modeCount
Definition: internal.h:434
GLFWbool floating
Definition: internal.h:264
GLuint GLuint * names
Definition: glext.h:5648
void * handle
Definition: internal.h:547
const char * title
Definition: internal.h:258
void _glfwInputWindowDamage(_GLFWwindow *window)
Definition: window.c:123
GLenum GLenum GLsizei void * image
void _glfwPlatformIconifyWindow(_GLFWwindow *window)
Definition: null_window.c:151
#define vkEnumerateInstanceExtensionProperties
Definition: internal.h:178
void _glfwInputWindowPos(_GLFWwindow *window, int xpos, int ypos)
Definition: window.c:72
khronos_uint8_t GLubyte
void _glfwPlatformGetGammaRamp(_GLFWmonitor *monitor, GLFWgammaramp *ramp)
Definition: null_monitor.c:61
GLFWvidmode videoMode
Definition: internal.h:377
GLFWbool KHR_surface
Definition: internal.h:553
struct VkExtensionProperties VkExtensionProperties
GLFWbool offline
Definition: internal.h:299
char * name
Definition: internal.h:424
void(* GLFWglproc)(void)
GLuint64 key
Definition: glext.h:8966
GLFWwindowrefreshfun refresh
Definition: internal.h:400
GLFWbool resizable
Definition: internal.h:370
GLFWbool transparent
Definition: internal.h:328
int buttonCount
Definition: internal.h:482
_GLFWcursor * cursorListHead
Definition: internal.h:525
_GLFWlibrary _glfw
Definition: init.c:44
int maxwidth
Definition: internal.h:382
void _glfwPlatformSetWindowOpacity(_GLFWwindow *window, float opacity)
Definition: null_window.c:195
GLFWbool shouldClose
Definition: internal.h:375
GLenum mode
int _glfwPlatformInit(void)
Definition: null_init.c:35
int refreshRate
Definition: internal.h:521
unsigned int GLuint
Definition: internal.h:106
void _glfwPlatformSetWindowFloating(_GLFWwindow *window, GLFWbool enabled)
Definition: null_window.c:186
void(* GLFWcursorposfun)(GLFWwindow *, double, double)
The function signature for cursor position callbacks.
Definition: glfw3.h:1363
GLsizeiptr size
int maxheight
Definition: internal.h:382
GLFWbool maximized
Definition: internal.h:265
void _glfwFreeMonitor(_GLFWmonitor *monitor)
Definition: monitor.c:175
Definition: internal.h:580
void _glfwInputMouseClick(_GLFWwindow *window, int button, int action, int mods)
Definition: input.c:318
void _glfwInputWindowFocus(_GLFWwindow *window, GLFWbool focused)
Definition: window.c:43
int _glfwPlatformWindowIconified(_GLFWwindow *window)
Definition: null_window.c:225
int GLint
int _glfwPlatformFramebufferTransparent(_GLFWwindow *window)
Definition: null_window.c:173
void(* GLFWwindowcontentscalefun)(GLFWwindow *, float, float)
The function signature for window content scale callbacks.
Definition: glfw3.h:1323
GLFWbool focused
Definition: internal.h:262
GLFWbool stickyMouseButtons
Definition: internal.h:386
Definition: internal.h:417
int monitorCount
Definition: internal.h:529
void * VkInstance
Definition: internal.h:118
unsigned int uint32_t
Definition: stdint.h:80
GLFWcharfun character
Definition: internal.h:411
_W64 unsigned int uintptr_t
Definition: stdint.h:119
void(* _GLFWswapbuffersfun)(_GLFWwindow *)
Definition: internal.h:80
void _glfwInputWindowContentScale(_GLFWwindow *window, float xscale, float yscale)
Definition: window.c:115
int cursorMode
Definition: internal.h:388
void(* GLFWwindowsizefun)(GLFWwindow *, int, int)
The function signature for window resize callbacks.
Definition: glfw3.h:1202
Definition: internal.h:345
GLFWwindowsizefun size
Definition: internal.h:398
void _glfwPlatformSetGammaRamp(_GLFWmonitor *monitor, const GLFWgammaramp *ramp)
Definition: null_monitor.c:65
void * VkPhysicalDevice
Definition: internal.h:119
PFN_vkGetInstanceProcAddr GetInstanceProcAddr
Definition: internal.h:551
int _glfwPlatformWindowMaximized(_GLFWwindow *window)
Definition: null_window.c:163
void * userPointer
Definition: internal.h:376
GLint GLsizei GLsizei height
GLFWbool _glfwStringInExtensionString(const char *string, const char *extensions)
Definition: context.c:580
void _glfwPlatformShowWindow(_GLFWwindow *window)
Definition: null_window.c:199
void _glfwPlatformFocusWindow(_GLFWwindow *window)
Definition: null_window.c:216
Definition: internal.h:572
GLint GLint GLsizei GLint GLenum format
Definition: glfw3.h:574
void _glfwPlatformLockMutex(_GLFWmutex *mutex)
Definition: posix_thread.c:92
GLFWbool available
Definition: internal.h:546
int accumBlueBits
Definition: internal.h:321
struct _GLFWwindow * next
Definition: internal.h:367
void(* _GLFWmakecontextcurrentfun)(_GLFWwindow *)
Definition: internal.h:79
GLFWbool noerror
Definition: internal.h:293
T && forward(typename::boost::move_detail::remove_reference< T >::type &t) BOOST_NOEXCEPT
unsigned __int64 uint64_t
Definition: stdint.h:90
_GLFWmakecontextcurrentfun makeCurrent
Definition: internal.h:348
void _glfwPlatformGetWindowFrameSize(_GLFWwindow *window, int *left, int *top, int *right, int *bottom)
Definition: null_window.c:136
void _glfwPlatformGetMonitorPos(_GLFWmonitor *monitor, int *xpos, int *ypos)
Definition: null_monitor.c:39
GLenum GLenum GLsizei const GLuint GLboolean enabled
void(* GLFWframebuffersizefun)(GLFWwindow *, int, int)
The function signature for framebuffer resize callbacks.
Definition: glfw3.h:1305
GLFWvidmode currentMode
Definition: internal.h:435
Definition: internal.h:111
void _glfwPlatformFreeMonitor(_GLFWmonitor *monitor)
Definition: null_monitor.c:35
void _glfwInputJoystick(_GLFWjoystick *js, int event)
Definition: input.c:368
GLint left
Definition: glext.h:1963
double virtualCursorPosY
Definition: internal.h:392
uint64_t VkSurfaceKHR
Definition: internal.h:120
int _glfwPlatformWindowVisible(_GLFWwindow *window)
Definition: null_window.c:230
GLint first
_GLFWwndconfig window
Definition: internal.h:519
void _glfwPlatformGetWindowPos(_GLFWwindow *window, int *xpos, int *ypos)
Definition: null_window.c:96
int auxBuffers
Definition: internal.h:323
void _glfwPlatformSetCursorPos(_GLFWwindow *window, double xpos, double ypos)
Definition: null_window.c:255
void _glfwInputError(int code, const char *format,...)
Definition: init.c:129
void _glfwPlatformUnlockMutex(_GLFWmutex *mutex)
Definition: posix_thread.c:98
int minwidth
Definition: internal.h:381
int(* _GLFWextensionsupportedfun)(const char *)
Definition: internal.h:82
GLFWbool lockKeyMods
Definition: internal.h:387
signed char int8_t
Definition: stdint.h:75
void _glfwPlatformSetWindowIcon(_GLFWwindow *window, int count, const GLFWimage *images)
Definition: null_window.c:83
GLFWbool _glfwPlatformCreateMutex(_GLFWmutex *mutex)
Definition: posix_thread.c:72
const char * _glfwPlatformGetVersionString(void)
Definition: null_init.c:46
_GLFWextensionsupportedfun extensionSupported
Definition: internal.h:351
void _glfwInputMonitor(_GLFWmonitor *monitor, int action, int placement)
Definition: monitor.c:91
const _GLFWfbconfig * _glfwChooseFBConfig(const _GLFWfbconfig *desired, const _GLFWfbconfig *alternatives, unsigned int count)
Definition: context.c:176
void _glfwInputCursorPos(_GLFWwindow *window, double xpos, double ypos)
Definition: input.c:338
uint8_t index
Definition: internal.h:459
GLFWbool _glfwPlatformCreateTls(_GLFWtls *tls)
Definition: posix_thread.c:38
unsigned char * buttons
Definition: internal.h:481
void _glfwInputJoystickHat(_GLFWjoystick *js, int hat, char value)
Definition: input.c:392
void _glfwInputKey(_GLFWwindow *window, int key, int scancode, int action, int mods)
Definition: input.c:259
void _glfwPlatformPollEvents(void)
Definition: null_window.c:235
void(* GLFWwindowposfun)(GLFWwindow *, int, int)
The function signature for window position callbacks.
Definition: glfw3.h:1184
void _glfwPlatformSetWindowResizable(_GLFWwindow *window, GLFWbool enabled)
Definition: null_window.c:178
GLFWbool visible
Definition: internal.h:260
void _glfwPlatformRestoreWindow(_GLFWwindow *window)
Definition: null_window.c:155
Definition: internal.h:124
GLFWbool debug
Definition: internal.h:292
float _glfwPlatformGetWindowOpacity(_GLFWwindow *window)
Definition: null_window.c:190
void _glfwInputWindowSize(_GLFWwindow *window, int width, int height)
Definition: window.c:81
const char * _glfwPlatformGetScancodeName(int scancode)
Definition: null_window.c:292
int _glfwCompareVideoModes(const GLFWvidmode *first, const GLFWvidmode *second)
Definition: monitor.c:265
void(APIENTRY * PFN_vkVoidFunction)(void)
Definition: internal.h:170
void _glfwPlatformSetWindowSize(_GLFWwindow *window, int width, int height)
Definition: null_window.c:112
unsigned int GLenum
Definition: internal.h:107
Definition: internal.h:114
GLFWvidmode * _glfwPlatformGetVideoModes(_GLFWmonitor *monitor, int *count)
Definition: null_monitor.c:52
void _glfwPlatformGetWindowContentScale(_GLFWwindow *window, float *xscale, float *yscale)
Definition: null_window.c:142
Definition: internal.h:344
GLfloat GLfloat blue
GLFWbool floating
Definition: internal.h:373
void _glfwPlatformWaitEvents(void)
Definition: null_window.c:239
_GLFWswapintervalfun swapInterval
Definition: internal.h:350
char extensionName[VK_MAX_EXTENSION_NAME_SIZE]
Definition: vulkan_core.h:1912
Definition: internal.h:574
struct _cl_event * event
Definition: glext.h:2991
GLFWgammaramp originalRamp
Definition: internal.h:437
void _glfwInputWindowMonitor(_GLFWwindow *window, _GLFWmonitor *monitor)
Definition: window.c:141
GLFWbool hatButtons
Definition: internal.h:241
GLFWglproc(* _GLFWgetprocaddressfun)(const char *)
Definition: internal.h:83
int _glfwPlatformWindowFocused(_GLFWwindow *window)
Definition: null_window.c:220
void _glfwPlatformSetTls(_GLFWtls *tls, void *value)
Definition: posix_thread.c:66
GLFWbool autoIconify
Definition: internal.h:372
char * _glfw_strdup(const char *source)
Definition: init.c:114
Definition: glfw3.h:483
void _glfwInputCursorEnter(_GLFWwindow *window, GLFWbool entered)
Definition: input.c:352
static int joysticks[GLFW_JOYSTICK_LAST+1]
Definition: joysticks.c:56
Definition: internal.h:542
Definition: internal.h:576
int _glfwPlatformCreateCursor(_GLFWcursor *cursor, const GLFWimage *image, int xhot, int yhot)
Definition: null_window.c:263
Definition: internal.h:441
GLFWbool resizable
Definition: internal.h:259
Gamma ramp.
Definition: glfw3.h:1559
void(* GLFWjoystickfun)(int, int)
The function signature for joystick configuration callbacks.
Definition: glfw3.h:1510
void _glfwPlatformWaitEventsTimeout(double timeout)
Definition: null_window.c:243
GLFWbool stereo
Definition: internal.h:324
Video mode type.
Definition: glfw3.h:1525
unsigned int GLuint
GLint GLint GLint yoffset
GLFWbool chdir
Definition: internal.h:244
void _glfwInputChar(_GLFWwindow *window, unsigned int codepoint, int mods, GLFWbool plain)
Definition: input.c:290
GLdouble right
GLbitfield GLuint64 timeout
void _glfwPlatformSetWindowDecorated(_GLFWwindow *window, GLFWbool enabled)
Definition: null_window.c:182
void _glfwPlatformMaximizeWindow(_GLFWwindow *window)
Definition: null_window.c:159
void _glfwPlatformGetRequiredInstanceExtensions(char **extensions)
Definition: null_window.c:302
void _glfwPlatformGetCursorPos(_GLFWwindow *window, double *xpos, double *ypos)
Definition: null_window.c:251
GLFWbool focusOnShow
Definition: internal.h:374
void _glfwPlatformTerminate(void)
Definition: null_init.c:41
static const ImVec4 red
Definition: model-views.h:64
GLFWmonitorfun monitor
Definition: internal.h:567
static double xpos
Definition: splitview.c:33
static const char * maximized
Definition: model-views.h:183
uint64_t offset
Definition: internal.h:540
GLint GLsizei count
void _glfwInputMonitorWindow(_GLFWmonitor *monitor, _GLFWwindow *window)
Definition: monitor.c:149
void _glfwInputJoystickAxis(_GLFWjoystick *js, int axis, float value)
Definition: input.c:378
void(* GLFWwindowclosefun)(GLFWwindow *)
The function signature for window close callbacks.
Definition: glfw3.h:1218
int _glfwPlatformWindowHovered(_GLFWwindow *window)
Definition: null_window.c:168
int8_t axisOffset
Definition: internal.h:461
int _glfwPlatformGetPhysicalDevicePresentationSupport(VkInstance instance, VkPhysicalDevice device, uint32_t queuefamily)
Definition: null_window.c:306
void _glfwPlatformSetCursorMode(_GLFWwindow *window, int mode)
Definition: null_window.c:259
GLFWbool _glfwInitVulkan(int mode)
Definition: src/vulkan.c:42
GLFWdropfun drop
Definition: internal.h:413
_GLFWcursor * cursor
Definition: internal.h:379
_GLFWmapping * mapping
Definition: internal.h:488
unsigned char * hats
Definition: internal.h:483
Definition: glfw3.h:545
void * _glfwPlatformGetTls(_GLFWtls *tls)
Definition: posix_thread.c:60
Definition: internal.h:491
int minheight
Definition: internal.h:381
GLsizei GLsizei GLchar * source
Definition: internal.h:360
int accumAlphaBits
Definition: internal.h:322
int _glfwPlatformCreateStandardCursor(_GLFWcursor *cursor, int shape)
Definition: null_window.c:270
GLFWbool doublebuffer
Definition: internal.h:327
char mouseButtons[GLFW_MOUSE_BUTTON_LAST+1]
Definition: internal.h:389
void _glfwPlatformDestroyWindow(_GLFWwindow *window)
Definition: null_window.c:73
unsigned int GLenum
_GLFWmonitor ** monitors
Definition: internal.h:528
void(* GLFWcursorenterfun)(GLFWwindow *, int)
The function signature for cursor enter/leave callbacks.
Definition: glfw3.h:1380
int _glfwPlatformPollJoystick(_GLFWjoystick *js, int mode)
GLFWbool stickyKeys
Definition: internal.h:385
Image data.
Definition: glfw3.h:1588
VkResult(APIENTRY * PFN_vkEnumerateInstanceExtensionProperties)(const char *, uint32_t *, VkExtensionProperties *)
Definition: internal.h:177
void _glfwPlatformRequestWindowAttention(_GLFWwindow *window)
Definition: null_window.c:204
Definition: internal.h:59
void(* GLFWscrollfun)(GLFWwindow *, double, double)
The function signature for scroll callbacks.
Definition: glfw3.h:1397
void(* GLFWwindowmaximizefun)(GLFWwindow *, int)
The function signature for window maximize/restore callbacks.
Definition: glfw3.h:1287
void * userPointer
Definition: internal.h:486
void _glfwPlatformGetMonitorContentScale(_GLFWmonitor *monitor, float *xscale, float *yscale)
Definition: null_monitor.c:43
uint32_t VkFlags
Definition: internal.h:121
VkResult _glfwPlatformCreateWindowSurface(VkInstance instance, _GLFWwindow *window, const VkAllocationCallbacks *allocator, VkSurfaceKHR *surface)
Definition: null_window.c:313
_GLFWmapping * mappings
Definition: internal.h:532
uint8_t type
Definition: internal.h:458
void _glfwPlatformSetWindowTitle(_GLFWwindow *window, const char *title)
Definition: null_window.c:79
void _glfwPlatformHideWindow(_GLFWwindow *window)
Definition: null_window.c:212
_GLFWwindow * window
Definition: internal.h:431
double virtualCursorPosX
Definition: internal.h:392
GLFWscrollfun scroll
Definition: internal.h:409
const GLFWvidmode * _glfwChooseVideoMode(_GLFWmonitor *monitor, const GLFWvidmode *desired)
Definition: monitor.c:213
void _glfwPlatformSetWindowPos(_GLFWwindow *window, int xpos, int ypos)
Definition: null_window.c:100
GLFWbool menubar
Definition: internal.h:243
_GLFWmonitor * monitor
Definition: internal.h:378
GLuint64EXT * result
Definition: glext.h:10921
GLFWbool decorated
Definition: internal.h:371
void _glfwPlatformUpdateGamepadGUID(char *guid)
unsigned int GLbitfield
Definition: internal.h:108
GLFWwindowmaximizefun maximize
Definition: internal.h:403
GLFWjoystickfun joystick
Definition: internal.h:568
GLFWwindowiconifyfun iconify
Definition: internal.h:402
void _glfwFreeJoystick(_GLFWjoystick *js)
Definition: input.c:447
int mappingCount
Definition: internal.h:533
void _glfwPlatformSetCursor(_GLFWwindow *window, _GLFWcursor *cursor)
Definition: null_window.c:279
GLint GLint xoffset
void _glfwPlatformDestroyCursor(_GLFWcursor *cursor)
Definition: null_window.c:275
unsigned char GLubyte
Definition: internal.h:109
int robustness
Definition: internal.h:341
void(* GLFWwindowrefreshfun)(GLFWwindow *)
The function signature for window content refresh callbacks.
Definition: glfw3.h:1234
int revision
Definition: internal.h:338
auto device
Definition: pyrs_net.cpp:17
GLFWwindowfocusfun focus
Definition: internal.h:401
uint32_t VkBool32
Definition: internal.h:122
int accumRedBits
Definition: internal.h:319
int8_t axisScale
Definition: internal.h:460
Definition: internal.h:578
GLint GLsizei width
_GLFWmutex errorLock
Definition: internal.h:537
static double ypos
Definition: splitview.c:33
int _glfwPlatformGetKeyScancode(int key)
Definition: null_window.c:297
void * userPointer
Definition: internal.h:425
void _glfwPlatformSetWindowMonitor(_GLFWwindow *window, _GLFWmonitor *monitor, int xpos, int ypos, int width, int height, int refreshRate)
Definition: null_window.c:88
Definition: internal.h:134
void(* GLFWwindowfocusfun)(GLFWwindow *, int)
The function signature for window focus/defocus callbacks.
Definition: glfw3.h:1251
GLdouble GLdouble bottom

Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:47:17