x11_platform.h
Go to the documentation of this file.
1 //========================================================================
2 // GLFW 3.3 X11 - www.glfw.org
3 //------------------------------------------------------------------------
4 // Copyright (c) 2002-2006 Marcus Geelnard
5 // Copyright (c) 2006-2016 Camilla Löwy <elmindreda@glfw.org>
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 //========================================================================
27 
28 #include <unistd.h>
29 #include <signal.h>
30 #include <stdint.h>
31 #include <dlfcn.h>
32 
33 #include <X11/Xlib.h>
34 #include <X11/keysym.h>
35 #include <X11/Xatom.h>
36 #include <X11/Xcursor/Xcursor.h>
37 
38 // The XRandR extension provides mode setting and gamma control
39 #include <X11/extensions/Xrandr.h>
40 
41 // The Xkb extension provides improved keyboard support
42 #include <X11/XKBlib.h>
43 
44 // The Xinerama extension provides legacy monitor indices
45 #include <X11/extensions/Xinerama.h>
46 
47 // The XInput extension provides raw mouse motion input
48 #include <X11/extensions/XInput2.h>
49 
50 typedef XRRCrtcGamma* (* PFN_XRRAllocGamma)(int);
51 typedef void (* PFN_XRRFreeCrtcInfo)(XRRCrtcInfo*);
52 typedef void (* PFN_XRRFreeGamma)(XRRCrtcGamma*);
53 typedef void (* PFN_XRRFreeOutputInfo)(XRROutputInfo*);
54 typedef void (* PFN_XRRFreeScreenResources)(XRRScreenResources*);
55 typedef XRRCrtcGamma* (* PFN_XRRGetCrtcGamma)(Display*,RRCrtc);
56 typedef int (* PFN_XRRGetCrtcGammaSize)(Display*,RRCrtc);
57 typedef XRRCrtcInfo* (* PFN_XRRGetCrtcInfo) (Display*,XRRScreenResources*,RRCrtc);
58 typedef XRROutputInfo* (* PFN_XRRGetOutputInfo)(Display*,XRRScreenResources*,RROutput);
59 typedef RROutput (* PFN_XRRGetOutputPrimary)(Display*,Window);
60 typedef XRRScreenResources* (* PFN_XRRGetScreenResourcesCurrent)(Display*,Window);
61 typedef Bool (* PFN_XRRQueryExtension)(Display*,int*,int*);
62 typedef Status (* PFN_XRRQueryVersion)(Display*,int*,int*);
63 typedef void (* PFN_XRRSelectInput)(Display*,Window,int);
64 typedef Status (* PFN_XRRSetCrtcConfig)(Display*,XRRScreenResources*,RRCrtc,Time,int,int,RRMode,Rotation,RROutput*,int);
65 typedef void (* PFN_XRRSetCrtcGamma)(Display*,RRCrtc,XRRCrtcGamma*);
66 typedef int (* PFN_XRRUpdateConfiguration)(XEvent*);
67 #define XRRAllocGamma _glfw.x11.randr.AllocGamma
68 #define XRRFreeCrtcInfo _glfw.x11.randr.FreeCrtcInfo
69 #define XRRFreeGamma _glfw.x11.randr.FreeGamma
70 #define XRRFreeOutputInfo _glfw.x11.randr.FreeOutputInfo
71 #define XRRFreeScreenResources _glfw.x11.randr.FreeScreenResources
72 #define XRRGetCrtcGamma _glfw.x11.randr.GetCrtcGamma
73 #define XRRGetCrtcGammaSize _glfw.x11.randr.GetCrtcGammaSize
74 #define XRRGetCrtcInfo _glfw.x11.randr.GetCrtcInfo
75 #define XRRGetOutputInfo _glfw.x11.randr.GetOutputInfo
76 #define XRRGetOutputPrimary _glfw.x11.randr.GetOutputPrimary
77 #define XRRGetScreenResourcesCurrent _glfw.x11.randr.GetScreenResourcesCurrent
78 #define XRRQueryExtension _glfw.x11.randr.QueryExtension
79 #define XRRQueryVersion _glfw.x11.randr.QueryVersion
80 #define XRRSelectInput _glfw.x11.randr.SelectInput
81 #define XRRSetCrtcConfig _glfw.x11.randr.SetCrtcConfig
82 #define XRRSetCrtcGamma _glfw.x11.randr.SetCrtcGamma
83 #define XRRUpdateConfiguration _glfw.x11.randr.UpdateConfiguration
84 
85 typedef XcursorImage* (* PFN_XcursorImageCreate)(int,int);
86 typedef void (* PFN_XcursorImageDestroy)(XcursorImage*);
87 typedef Cursor (* PFN_XcursorImageLoadCursor)(Display*,const XcursorImage*);
88 #define XcursorImageCreate _glfw.x11.xcursor.ImageCreate
89 #define XcursorImageDestroy _glfw.x11.xcursor.ImageDestroy
90 #define XcursorImageLoadCursor _glfw.x11.xcursor.ImageLoadCursor
91 
92 typedef Bool (* PFN_XineramaIsActive)(Display*);
93 typedef Bool (* PFN_XineramaQueryExtension)(Display*,int*,int*);
94 typedef XineramaScreenInfo* (* PFN_XineramaQueryScreens)(Display*,int*);
95 #define XineramaIsActive _glfw.x11.xinerama.IsActive
96 #define XineramaQueryExtension _glfw.x11.xinerama.QueryExtension
97 #define XineramaQueryScreens _glfw.x11.xinerama.QueryScreens
98 
99 typedef XID xcb_window_t;
100 typedef XID xcb_visualid_t;
102 typedef xcb_connection_t* (* PFN_XGetXCBConnection)(Display*);
103 #define XGetXCBConnection _glfw.x11.x11xcb.GetXCBConnection
104 
105 typedef Bool (* PFN_XF86VidModeQueryExtension)(Display*,int*,int*);
106 typedef Bool (* PFN_XF86VidModeGetGammaRamp)(Display*,int,int,unsigned short*,unsigned short*,unsigned short*);
107 typedef Bool (* PFN_XF86VidModeSetGammaRamp)(Display*,int,int,unsigned short*,unsigned short*,unsigned short*);
108 typedef Bool (* PFN_XF86VidModeGetGammaRampSize)(Display*,int,int*);
109 #define XF86VidModeQueryExtension _glfw.x11.vidmode.QueryExtension
110 #define XF86VidModeGetGammaRamp _glfw.x11.vidmode.GetGammaRamp
111 #define XF86VidModeSetGammaRamp _glfw.x11.vidmode.SetGammaRamp
112 #define XF86VidModeGetGammaRampSize _glfw.x11.vidmode.GetGammaRampSize
113 
114 typedef Status (* PFN_XIQueryVersion)(Display*,int*,int*);
115 typedef int (* PFN_XISelectEvents)(Display*,Window,XIEventMask*,int);
116 #define XIQueryVersion _glfw.x11.xi.QueryVersion
117 #define XISelectEvents _glfw.x11.xi.SelectEvents
118 
119 typedef Bool (* PFN_XRenderQueryExtension)(Display*,int*,int*);
120 typedef Status (* PFN_XRenderQueryVersion)(Display*dpy,int*,int*);
121 typedef XRenderPictFormat* (* PFN_XRenderFindVisualFormat)(Display*,Visual const*);
122 #define XRenderQueryExtension _glfw.x11.xrender.QueryExtension
123 #define XRenderQueryVersion _glfw.x11.xrender.QueryVersion
124 #define XRenderFindVisualFormat _glfw.x11.xrender.FindVisualFormat
125 
128 
130 {
132  const void* pNext;
134  Display* dpy;
135  Window window;
137 
139 {
141  const void* pNext;
146 
151 
152 #include "posix_thread.h"
153 #include "posix_time.h"
154 #include "xkb_unicode.h"
155 #include "glx_context.h"
156 #include "egl_context.h"
157 #include "osmesa_context.h"
158 #if defined(__linux__)
159 #include "linux_joystick.h"
160 #else
161 #include "null_joystick.h"
162 #endif
163 
164 #define _glfw_dlopen(name) dlopen(name, RTLD_LAZY | RTLD_LOCAL)
165 #define _glfw_dlclose(handle) dlclose(handle)
166 #define _glfw_dlsym(handle, name) dlsym(handle, name)
167 
168 #define _GLFW_EGL_NATIVE_WINDOW ((EGLNativeWindowType) window->x11.handle)
169 #define _GLFW_EGL_NATIVE_DISPLAY ((EGLNativeDisplayType) _glfw.x11.display)
170 
171 #define _GLFW_PLATFORM_WINDOW_STATE _GLFWwindowX11 x11
172 #define _GLFW_PLATFORM_LIBRARY_WINDOW_STATE _GLFWlibraryX11 x11
173 #define _GLFW_PLATFORM_MONITOR_STATE _GLFWmonitorX11 x11
174 #define _GLFW_PLATFORM_CURSOR_STATE _GLFWcursorX11 x11
175 
176 
177 // X11-specific per-window data
178 //
179 typedef struct _GLFWwindowX11
180 {
181  Colormap colormap;
182  Window handle;
183  XIC ic;
184 
188 
189  // Whether the visual supports framebuffer transparency
191 
192  // Cached position and size used to filter out duplicate events
193  int width, height;
194  int xpos, ypos;
195 
196  // The last received cursor position, regardless of source
198  // The last position the cursor was warped to by GLFW
200 
201  // The time of the last KeyPress event
203 
205 
206 // X11-specific global data
207 //
208 typedef struct _GLFWlibraryX11
209 {
210  Display* display;
211  int screen;
212  Window root;
213 
214  // System content scale
216  // Helper window for IPC
218  // Invisible cursor for hidden cursor mode
220  // Context for mapping window XIDs to _GLFWwindow pointers
221  XContext context;
222  // XIM input method
223  XIM im;
224  // Most recent error code received by X error handler
226  // Primary selection string (while the primary selection is owned)
228  // Clipboard string (while the selection is owned)
230  // Key name string
231  char keyName[5];
232  // X11 keycode to GLFW key LUT
233  short int keycodes[256];
234  // GLFW key to X11 keycode LUT
235  short int scancodes[GLFW_KEY_LAST + 1];
236  // Where to place the cursor when re-enabled
238  // The window whose disabled cursor mode is active
240 
241  // Window manager atoms
243  Atom WM_STATE;
266 
267  // Xdnd (drag and drop) atoms
268  Atom XdndAware;
269  Atom XdndEnter;
273  Atom XdndDrop;
278 
279  // Selection (clipboard) atoms
280  Atom TARGETS;
281  Atom MULTIPLE;
282  Atom INCR;
283  Atom CLIPBOARD;
284  Atom PRIMARY;
287  Atom NULL_;
290  Atom ATOM_PAIR;
292 
293  struct {
295  void* handle;
298  int major;
299  int minor;
319  } randr;
320 
321  struct {
325  int eventBase;
326  int errorBase;
327  int major;
328  int minor;
329  } xkb;
330 
331  struct {
332  int count;
333  int timeout;
334  int interval;
335  int blanking;
336  int exposure;
337  } saver;
338 
339  struct {
340  int version;
341  Window source;
342  Atom format;
343  } xdnd;
344 
345  struct {
346  void* handle;
350  } xcursor;
351 
352  struct {
354  void* handle;
355  int major;
356  int minor;
360  } xinerama;
361 
362  struct {
363  void* handle;
365  } x11xcb;
366 
367  struct {
369  void* handle;
370  int eventBase;
371  int errorBase;
376  } vidmode;
377 
378  struct {
380  void* handle;
381  int majorOpcode;
382  int eventBase;
383  int errorBase;
384  int major;
385  int minor;
388  } xi;
389 
390  struct {
392  void* handle;
393  int major;
394  int minor;
395  int eventBase;
396  int errorBase;
400  } xrender;
401 
403 
404 // X11-specific per-monitor data
405 //
406 typedef struct _GLFWmonitorX11
407 {
408  RROutput output;
409  RRCrtc crtc;
410  RRMode oldMode;
411 
412  // Index of corresponding Xinerama screen,
413  // for EWMH full screen window placement
414  int index;
415 
417 
418 // X11-specific per-cursor data
419 //
420 typedef struct _GLFWcursorX11
421 {
422  Cursor handle;
423 
425 
426 
427 void _glfwPollMonitorsX11(void);
428 void _glfwSetVideoModeX11(_GLFWmonitor* monitor, const GLFWvidmode* desired);
430 
431 Cursor _glfwCreateCursorX11(const GLFWimage* image, int xhot, int yhot);
432 
433 unsigned long _glfwGetWindowPropertyX11(Window window,
434  Atom property,
435  Atom type,
436  unsigned char** value);
437 GLFWbool _glfwIsVisualTransparentX11(Visual* visual);
438 
439 void _glfwGrabErrorHandlerX11(void);
440 void _glfwReleaseErrorHandlerX11(void);
441 void _glfwInputErrorX11(int error, const char* message);
442 
444 
_GLFWlibraryX11::GetScreenResourcesCurrent
PFN_XRRGetScreenResourcesCurrent GetScreenResourcesCurrent
Definition: x11_platform.h:312
_GLFWlibraryX11::errorCode
int errorCode
Definition: x11_platform.h:225
posix_thread.h
_glfwInputErrorX11
void _glfwInputErrorX11(int error, const char *message)
Definition: x11_init.c:872
_GLFWlibraryX11::version
int version
Definition: x11_platform.h:340
_GLFWlibraryX11::xdnd
struct _GLFWlibraryX11::@26 xdnd
_GLFWlibraryX11::FreeOutputInfo
PFN_XRRFreeOutputInfo FreeOutputInfo
Definition: x11_platform.h:305
_GLFWlibraryX11::XdndFinished
Atom XdndFinished
Definition: x11_platform.h:274
_GLFWwindowX11
Definition: x11_platform.h:179
_GLFWlibraryX11::available
GLFWbool available
Definition: x11_platform.h:294
_GLFWlibraryX11::NET_WM_STATE_DEMANDS_ATTENTION
Atom NET_WM_STATE_DEMANDS_ATTENTION
Definition: x11_platform.h:257
_GLFWwindowX11::ic
XIC ic
Definition: x11_platform.h:183
_GLFWwindowX11::transparent
GLFWbool transparent
Definition: x11_platform.h:190
PFN_XRRFreeGamma
void(* PFN_XRRFreeGamma)(XRRCrtcGamma *)
Definition: x11_platform.h:52
_GLFWlibraryX11::keycodes
short int keycodes[256]
Definition: x11_platform.h:233
linux_joystick.h
_GLFWlibraryX11::UpdateConfiguration
PFN_XRRUpdateConfiguration UpdateConfiguration
Definition: x11_platform.h:318
VkSurfaceKHR
uint64_t VkSurfaceKHR
Definition: internal.h:121
PFN_XRRFreeScreenResources
void(* PFN_XRRFreeScreenResources)(XRRScreenResources *)
Definition: x11_platform.h:54
PFN_XcursorImageDestroy
void(* PFN_XcursorImageDestroy)(XcursorImage *)
Definition: x11_platform.h:86
_GLFWlibraryX11::QueryExtension
PFN_XineramaQueryExtension QueryExtension
Definition: x11_platform.h:358
_GLFWlibraryX11::NET_WM_NAME
Atom NET_WM_NAME
Definition: x11_platform.h:245
PFN_XISelectEvents
int(* PFN_XISelectEvents)(Display *, Window, XIEventMask *, int)
Definition: x11_platform.h:115
_GLFWlibraryX11::GetCrtcGamma
PFN_XRRGetCrtcGamma GetCrtcGamma
Definition: x11_platform.h:307
_GLFWlibraryX11::NET_WM_PID
Atom NET_WM_PID
Definition: x11_platform.h:248
VkBool32
uint32_t VkBool32
Definition: internal.h:123
_GLFWlibraryX11::FreeScreenResources
PFN_XRRFreeScreenResources FreeScreenResources
Definition: x11_platform.h:306
PFN_XRRGetCrtcInfo
XRRCrtcInfo *(* PFN_XRRGetCrtcInfo)(Display *, XRRScreenResources *, RRCrtc)
Definition: x11_platform.h:57
_glfwSetVideoModeX11
void _glfwSetVideoModeX11(_GLFWmonitor *monitor, const GLFWvidmode *desired)
Definition: x11_monitor.c:219
_GLFWwindowX11::warpCursorPosX
int warpCursorPosX
Definition: x11_platform.h:199
_GLFWlibraryX11::disabledCursorWindow
_GLFWwindow * disabledCursorWindow
Definition: x11_platform.h:239
_GLFWwindowX11::maximized
GLFWbool maximized
Definition: x11_platform.h:187
PFN_XRRFreeOutputInfo
void(* PFN_XRRFreeOutputInfo)(XRROutputInfo *)
Definition: x11_platform.h:53
_GLFWlibraryX11::UTF8_STRING
Atom UTF8_STRING
Definition: x11_platform.h:288
PFN_XRRGetScreenResourcesCurrent
XRRScreenResources *(* PFN_XRRGetScreenResourcesCurrent)(Display *, Window)
Definition: x11_platform.h:60
PFN_XineramaQueryScreens
XineramaScreenInfo *(* PFN_XineramaQueryScreens)(Display *, int *)
Definition: x11_platform.h:94
PFN_XRRGetOutputPrimary
RROutput(* PFN_XRRGetOutputPrimary)(Display *, Window)
Definition: x11_platform.h:59
_GLFWlibraryX11
struct _GLFWlibraryX11 _GLFWlibraryX11
osmesa_context.h
_GLFWlibraryX11::major
int major
Definition: x11_platform.h:298
_GLFWlibraryX11::QueryVersion
PFN_XRenderQueryVersion QueryVersion
Definition: x11_platform.h:398
_GLFWlibraryX11::NET_WM_FULLSCREEN_MONITORS
Atom NET_WM_FULLSCREEN_MONITORS
Definition: x11_platform.h:259
PFN_XIQueryVersion
Status(* PFN_XIQueryVersion)(Display *, int *, int *)
Definition: x11_platform.h:114
_GLFWlibraryX11::GetOutputInfo
PFN_XRRGetOutputInfo GetOutputInfo
Definition: x11_platform.h:310
_GLFWlibraryX11::xcursor
struct _GLFWlibraryX11::@27 xcursor
_GLFWlibraryX11::gammaBroken
GLFWbool gammaBroken
Definition: x11_platform.h:300
_GLFWlibraryX11::QueryExtension
PFN_XRenderQueryExtension QueryExtension
Definition: x11_platform.h:397
_glfwRestoreVideoModeX11
void _glfwRestoreVideoModeX11(_GLFWmonitor *monitor)
Definition: x11_monitor.c:277
_GLFWlibraryX11::NET_WM_WINDOW_OPACITY
Atom NET_WM_WINDOW_OPACITY
Definition: x11_platform.h:260
_GLFWlibraryX11::SetCrtcGamma
PFN_XRRSetCrtcGamma SetCrtcGamma
Definition: x11_platform.h:317
_GLFWlibraryX11::clipboardString
char * clipboardString
Definition: x11_platform.h:229
_GLFWlibraryX11::WM_PROTOCOLS
Atom WM_PROTOCOLS
Definition: x11_platform.h:242
_GLFWcursorX11
struct _GLFWcursorX11 _GLFWcursorX11
VkInstance
void * VkInstance
Definition: internal.h:119
_glfwPollMonitorsX11
void _glfwPollMonitorsX11(void)
Definition: x11_monitor.c:100
PFN_XRRGetCrtcGammaSize
int(* PFN_XRRGetCrtcGammaSize)(Display *, RRCrtc)
Definition: x11_platform.h:56
_GLFWlibraryX11::screen
int screen
Definition: x11_platform.h:211
xcb_visualid_t
XID xcb_visualid_t
Definition: x11_platform.h:100
_GLFWlibraryX11::MOTIF_WM_HINTS
Atom MOTIF_WM_HINTS
Definition: x11_platform.h:265
_GLFWlibraryX11::text_uri_list
Atom text_uri_list
Definition: x11_platform.h:277
PFN_XRRSelectInput
void(* PFN_XRRSelectInput)(Display *, Window, int)
Definition: x11_platform.h:63
_GLFWlibraryX11::QueryScreens
PFN_XineramaQueryScreens QueryScreens
Definition: x11_platform.h:359
_GLFWlibraryX11::scancodes
short int scancodes[GLFW_KEY_LAST+1]
Definition: x11_platform.h:235
_GLFWlibraryX11::CLIPBOARD
Atom CLIPBOARD
Definition: x11_platform.h:283
_GLFWlibraryX11::xinerama
struct _GLFWlibraryX11::@28 xinerama
_GLFWlibraryX11::XdndPosition
Atom XdndPosition
Definition: x11_platform.h:270
PFN_XRRAllocGamma
XRRCrtcGamma *(* PFN_XRRAllocGamma)(int)
Definition: x11_platform.h:50
_GLFWlibraryX11::NET_WM_STATE_ABOVE
Atom NET_WM_STATE_ABOVE
Definition: x11_platform.h:253
_GLFWwindowX11::lastCursorPosX
int lastCursorPosX
Definition: x11_platform.h:197
PFN_XRRUpdateConfiguration
int(* PFN_XRRUpdateConfiguration)(XEvent *)
Definition: x11_platform.h:66
_GLFWlibraryX11::NET_WM_STATE_MAXIMIZED_VERT
Atom NET_WM_STATE_MAXIMIZED_VERT
Definition: x11_platform.h:255
PFN_XF86VidModeGetGammaRamp
Bool(* PFN_XF86VidModeGetGammaRamp)(Display *, int, int, unsigned short *, unsigned short *, unsigned short *)
Definition: x11_platform.h:106
_GLFWwindowX11::width
int width
Definition: x11_platform.h:193
_GLFWlibraryX11::xkb
struct _GLFWlibraryX11::@24 xkb
PFN_XRenderFindVisualFormat
XRenderPictFormat *(* PFN_XRenderFindVisualFormat)(Display *, Visual const *)
Definition: x11_platform.h:121
sajson::error
error
Error code indicating why parse failed.
Definition: sajson.h:643
_GLFWlibraryX11::INCR
Atom INCR
Definition: x11_platform.h:282
_GLFWlibraryX11::vidmode
struct _GLFWlibraryX11::@30 vidmode
VkXcbSurfaceCreateInfoKHR::pNext
const void * pNext
Definition: x11_platform.h:141
_GLFWlibraryX11::GetXCBConnection
PFN_XGetXCBConnection GetXCBConnection
Definition: x11_platform.h:364
_GLFWcursorX11
Definition: x11_platform.h:420
_GLFWlibraryX11::NET_WM_ICON
Atom NET_WM_ICON
Definition: x11_platform.h:247
_glfwGrabErrorHandlerX11
void _glfwGrabErrorHandlerX11(void)
Definition: x11_init.c:855
_GLFWlibraryX11::NET_WM_ICON_NAME
Atom NET_WM_ICON_NAME
Definition: x11_platform.h:246
_GLFWlibraryX11::XdndSelection
Atom XdndSelection
Definition: x11_platform.h:275
_GLFWlibraryX11::primarySelectionString
char * primarySelectionString
Definition: x11_platform.h:227
_GLFWlibraryX11::saver
struct _GLFWlibraryX11::@25 saver
message
GLenum GLuint GLenum GLsizei const GLchar * message
Definition: gl.h:1033
VkXlibSurfaceCreateInfoKHR::flags
VkXlibSurfaceCreateFlagsKHR flags
Definition: x11_platform.h:133
null_joystick.h
GLFW_KEY_LAST
#define GLFW_KEY_LAST
Definition: glfw3.h:483
_GLFWlibraryX11::timeout
int timeout
Definition: x11_platform.h:333
_GLFWwindow
Definition: internal.h:366
_GLFWlibraryX11::NET_REQUEST_FRAME_EXTENTS
Atom NET_REQUEST_FRAME_EXTENTS
Definition: x11_platform.h:264
_GLFWlibraryX11::NET_WM_WINDOW_TYPE_NORMAL
Atom NET_WM_WINDOW_TYPE_NORMAL
Definition: x11_platform.h:251
_GLFWlibraryX11::XdndStatus
Atom XdndStatus
Definition: x11_platform.h:271
VkXlibSurfaceCreateInfoKHR::pNext
const void * pNext
Definition: x11_platform.h:132
PFN_XF86VidModeGetGammaRampSize
Bool(* PFN_XF86VidModeGetGammaRampSize)(Display *, int, int *)
Definition: x11_platform.h:108
_GLFWlibraryX11::NET_WM_CM_Sx
Atom NET_WM_CM_Sx
Definition: x11_platform.h:261
glx_context.h
_GLFWlibraryX11::IsActive
PFN_XineramaIsActive IsActive
Definition: x11_platform.h:357
_GLFWlibraryX11::GetGammaRampSize
PFN_XF86VidModeGetGammaRampSize GetGammaRampSize
Definition: x11_platform.h:375
_GLFWlibraryX11::format
Atom format
Definition: x11_platform.h:342
_GLFWlibraryX11::QueryVersion
PFN_XRRQueryVersion QueryVersion
Definition: x11_platform.h:314
_GLFWlibraryX11::randr
struct _GLFWlibraryX11::@23 randr
xcb_window_t
XID xcb_window_t
Definition: x11_platform.h:99
void
typedef void(GLAD_API_PTR *GLDEBUGPROC)(GLenum source
PFN_XcursorImageLoadCursor
Cursor(* PFN_XcursorImageLoadCursor)(Display *, const XcursorImage *)
Definition: x11_platform.h:87
_GLFWwindowX11::xpos
int xpos
Definition: x11_platform.h:194
_GLFWlibraryX11::COMPOUND_STRING
Atom COMPOUND_STRING
Definition: x11_platform.h:289
PFN_XineramaIsActive
Bool(* PFN_XineramaIsActive)(Display *)
Definition: x11_platform.h:92
PFN_XRRQueryVersion
Status(* PFN_XRRQueryVersion)(Display *, int *, int *)
Definition: x11_platform.h:62
PFN_XRRSetCrtcGamma
void(* PFN_XRRSetCrtcGamma)(Display *, RRCrtc, XRRCrtcGamma *)
Definition: x11_platform.h:65
_glfwCreateCursorX11
Cursor _glfwCreateCursorX11(const GLFWimage *image, int xhot, int yhot)
Definition: x11_init.c:883
PFN_XineramaQueryExtension
Bool(* PFN_XineramaQueryExtension)(Display *, int *, int *)
Definition: x11_platform.h:93
_GLFWlibraryX11::monitorBroken
GLFWbool monitorBroken
Definition: x11_platform.h:301
_GLFWlibraryX11::helperWindowHandle
Window helperWindowHandle
Definition: x11_platform.h:217
APIENTRY
#define APIENTRY
Definition: glfw3.h:106
_GLFWlibraryX11::CLIPBOARD_MANAGER
Atom CLIPBOARD_MANAGER
Definition: x11_platform.h:285
PFN_XF86VidModeQueryExtension
Bool(* PFN_XF86VidModeQueryExtension)(Display *, int *, int *)
Definition: x11_platform.h:105
_GLFWmonitorX11::output
RROutput output
Definition: x11_platform.h:408
_GLFWmonitorX11::oldMode
RRMode oldMode
Definition: x11_platform.h:410
_GLFWlibraryX11::blanking
int blanking
Definition: x11_platform.h:335
xkb_unicode.h
_GLFWwindowX11::lastCursorPosY
int lastCursorPosY
Definition: x11_platform.h:197
_GLFWwindowX11::overrideRedirect
GLFWbool overrideRedirect
Definition: x11_platform.h:185
_GLFWlibraryX11::SelectEvents
PFN_XISelectEvents SelectEvents
Definition: x11_platform.h:387
_GLFWlibraryX11::XdndTypeList
Atom XdndTypeList
Definition: x11_platform.h:276
_GLFWlibraryX11::exposure
int exposure
Definition: x11_platform.h:336
_GLFWwindowX11::iconified
GLFWbool iconified
Definition: x11_platform.h:186
_GLFWlibraryX11::majorOpcode
int majorOpcode
Definition: x11_platform.h:324
_GLFWwindowX11
struct _GLFWwindowX11 _GLFWwindowX11
_GLFWlibraryX11::TARGETS
Atom TARGETS
Definition: x11_platform.h:280
_GLFWwindowX11::warpCursorPosY
int warpCursorPosY
Definition: x11_platform.h:199
PFN_XRRQueryExtension
Bool(* PFN_XRRQueryExtension)(Display *, int *, int *)
Definition: x11_platform.h:61
PFN_vkCreateXlibSurfaceKHR
VkResult(APIENTRY * PFN_vkCreateXlibSurfaceKHR)(VkInstance, const VkXlibSurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *)
Definition: x11_platform.h:147
_GLFWlibraryX11::GLFW_SELECTION
Atom GLFW_SELECTION
Definition: x11_platform.h:291
_GLFWlibraryX11::XdndEnter
Atom XdndEnter
Definition: x11_platform.h:269
_GLFWlibraryX11::FreeCrtcInfo
PFN_XRRFreeCrtcInfo FreeCrtcInfo
Definition: x11_platform.h:303
_glfwIsVisualTransparentX11
GLFWbool _glfwIsVisualTransparentX11(Visual *visual)
Definition: x11_window.c:1885
VkAllocationCallbacks
struct VkAllocationCallbacks VkAllocationCallbacks
Definition: internal.h:163
_GLFWcursorX11::handle
Cursor handle
Definition: x11_platform.h:422
_GLFWmonitorX11
Definition: x11_platform.h:406
_GLFWlibraryX11::GetGammaRamp
PFN_XF86VidModeGetGammaRamp GetGammaRamp
Definition: x11_platform.h:373
_GLFWlibraryX11::SetCrtcConfig
PFN_XRRSetCrtcConfig SetCrtcConfig
Definition: x11_platform.h:316
VkFlags
uint32_t VkFlags
Definition: internal.h:122
VkXlibSurfaceCreateInfoKHR
struct VkXlibSurfaceCreateInfoKHR VkXlibSurfaceCreateInfoKHR
_GLFWlibraryX11::ImageCreate
PFN_XcursorImageCreate ImageCreate
Definition: x11_platform.h:347
_GLFWlibraryX11::restoreCursorPosY
double restoreCursorPosY
Definition: x11_platform.h:237
VkXcbSurfaceCreateInfoKHR::window
xcb_window_t window
Definition: x11_platform.h:144
_GLFWwindowX11::height
int height
Definition: x11_platform.h:193
_glfwReleaseErrorHandlerX11
void _glfwReleaseErrorHandlerX11(void)
Definition: x11_init.c:863
_GLFWlibraryX11::x11xcb
struct _GLFWlibraryX11::@29 x11xcb
_GLFWlibraryX11::NET_ACTIVE_WINDOW
Atom NET_ACTIVE_WINDOW
Definition: x11_platform.h:262
_GLFWlibraryX11::WM_DELETE_WINDOW
Atom WM_DELETE_WINDOW
Definition: x11_platform.h:244
_GLFWlibraryX11::NET_FRAME_EXTENTS
Atom NET_FRAME_EXTENTS
Definition: x11_platform.h:263
_GLFWlibraryX11::count
int count
Definition: x11_platform.h:332
_GLFWlibraryX11::detectable
GLFWbool detectable
Definition: x11_platform.h:323
egl_context.h
_GLFWlibraryX11::ATOM_PAIR
Atom ATOM_PAIR
Definition: x11_platform.h:290
VkXlibSurfaceCreateInfoKHR::window
Window window
Definition: x11_platform.h:135
PFN_XRenderQueryVersion
Status(* PFN_XRenderQueryVersion)(Display *dpy, int *, int *)
Definition: x11_platform.h:120
_GLFWlibraryX11::SetGammaRamp
PFN_XF86VidModeSetGammaRamp SetGammaRamp
Definition: x11_platform.h:374
_GLFWlibraryX11::GetCrtcGammaSize
PFN_XRRGetCrtcGammaSize GetCrtcGammaSize
Definition: x11_platform.h:308
VkXcbSurfaceCreateInfoKHR
struct VkXcbSurfaceCreateInfoKHR VkXcbSurfaceCreateInfoKHR
_GLFWwindowX11::lastKeyTime
Time lastKeyTime
Definition: x11_platform.h:202
_GLFWlibraryX11::QueryVersion
PFN_XIQueryVersion QueryVersion
Definition: x11_platform.h:386
PFN_XRenderQueryExtension
Bool(* PFN_XRenderQueryExtension)(Display *, int *, int *)
Definition: x11_platform.h:119
PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR
VkBool32(APIENTRY * PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice, uint32_t, xcb_connection_t *, xcb_visualid_t)
Definition: x11_platform.h:150
PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR
VkBool32(APIENTRY * PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice, uint32_t, Display *, VisualID)
Definition: x11_platform.h:148
_GLFWlibraryX11::NET_WM_BYPASS_COMPOSITOR
Atom NET_WM_BYPASS_COMPOSITOR
Definition: x11_platform.h:258
VkPhysicalDevice
void * VkPhysicalDevice
Definition: internal.h:120
_GLFWlibraryX11::WM_STATE
Atom WM_STATE
Definition: x11_platform.h:243
PFN_XGetXCBConnection
xcb_connection_t *(* PFN_XGetXCBConnection)(Display *)
Definition: x11_platform.h:102
_GLFWwindowX11::colormap
Colormap colormap
Definition: x11_platform.h:181
_GLFWmonitorX11
struct _GLFWmonitorX11 _GLFWmonitorX11
_GLFWlibraryX11::NULL_
Atom NULL_
Definition: x11_platform.h:287
_GLFWlibraryX11::NET_WM_STATE_MAXIMIZED_HORZ
Atom NET_WM_STATE_MAXIMIZED_HORZ
Definition: x11_platform.h:256
posix_time.h
VkXlibSurfaceCreateFlagsKHR
VkFlags VkXlibSurfaceCreateFlagsKHR
Definition: x11_platform.h:126
_GLFWlibraryX11::AllocGamma
PFN_XRRAllocGamma AllocGamma
Definition: x11_platform.h:302
VkXcbSurfaceCreateInfoKHR::sType
VkStructureType sType
Definition: x11_platform.h:140
_GLFWlibraryX11::MULTIPLE
Atom MULTIPLE
Definition: x11_platform.h:281
_GLFWmonitorX11::index
int index
Definition: x11_platform.h:414
_GLFWlibraryX11::xrender
struct _GLFWlibraryX11::@32 xrender
_GLFWlibraryX11::NET_WM_PING
Atom NET_WM_PING
Definition: x11_platform.h:249
_GLFWlibraryX11::NET_WM_WINDOW_TYPE
Atom NET_WM_WINDOW_TYPE
Definition: x11_platform.h:250
GLFWimage
Image data.
Definition: glfw3.h:1588
_GLFWlibraryX11::handle
void * handle
Definition: x11_platform.h:295
_GLFWlibraryX11::root
Window root
Definition: x11_platform.h:212
_GLFWlibraryX11::eventBase
int eventBase
Definition: x11_platform.h:296
VkXcbSurfaceCreateInfoKHR::connection
xcb_connection_t * connection
Definition: x11_platform.h:143
_GLFWlibraryX11::GetOutputPrimary
PFN_XRRGetOutputPrimary GetOutputPrimary
Definition: x11_platform.h:311
_GLFWlibraryX11::xi
struct _GLFWlibraryX11::@31 xi
VkXcbSurfaceCreateInfoKHR
Definition: x11_platform.h:138
PFN_XRRSetCrtcConfig
Status(* PFN_XRRSetCrtcConfig)(Display *, XRRScreenResources *, RRCrtc, Time, int, int, RRMode, Rotation, RROutput *, int)
Definition: x11_platform.h:64
VkXlibSurfaceCreateInfoKHR::dpy
Display * dpy
Definition: x11_platform.h:134
_GLFWlibraryX11::XdndDrop
Atom XdndDrop
Definition: x11_platform.h:273
_GLFWlibraryX11::PRIMARY
Atom PRIMARY
Definition: x11_platform.h:284
PFN_XRRFreeCrtcInfo
void(* PFN_XRRFreeCrtcInfo)(XRRCrtcInfo *)
Definition: x11_platform.h:51
_GLFWlibraryX11::FreeGamma
PFN_XRRFreeGamma FreeGamma
Definition: x11_platform.h:304
xcb_connection_t
struct xcb_connection_t xcb_connection_t
Definition: x11_platform.h:101
_GLFWlibraryX11::source
Window source
Definition: x11_platform.h:341
_GLFWlibraryX11::errorBase
int errorBase
Definition: x11_platform.h:297
VkXlibSurfaceCreateInfoKHR::sType
VkStructureType sType
Definition: x11_platform.h:131
PFN_vkCreateXcbSurfaceKHR
VkResult(APIENTRY * PFN_vkCreateXcbSurfaceKHR)(VkInstance, const VkXcbSurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *)
Definition: x11_platform.h:149
type
GLenum type
Definition: gl.h:1033
_GLFWlibraryX11::XdndAware
Atom XdndAware
Definition: x11_platform.h:268
_GLFWlibraryX11::XdndActionCopy
Atom XdndActionCopy
Definition: x11_platform.h:272
_GLFWlibraryX11::FindVisualFormat
PFN_XRenderFindVisualFormat FindVisualFormat
Definition: x11_platform.h:399
_GLFWlibraryX11::keyName
char keyName[5]
Definition: x11_platform.h:231
PFN_XRRGetOutputInfo
XRROutputInfo *(* PFN_XRRGetOutputInfo)(Display *, XRRScreenResources *, RROutput)
Definition: x11_platform.h:58
_GLFWlibraryX11::ImageLoadCursor
PFN_XcursorImageLoadCursor ImageLoadCursor
Definition: x11_platform.h:349
_GLFWmonitorX11::crtc
RRCrtc crtc
Definition: x11_platform.h:409
_GLFWlibraryX11
Definition: x11_platform.h:208
PFN_XRRGetCrtcGamma
XRRCrtcGamma *(* PFN_XRRGetCrtcGamma)(Display *, RRCrtc)
Definition: x11_platform.h:55
_GLFWmonitor
Definition: internal.h:423
_GLFWlibraryX11::SelectInput
PFN_XRRSelectInput SelectInput
Definition: x11_platform.h:315
_GLFWlibraryX11::display
Display * display
Definition: x11_platform.h:210
VkResult
VkResult
Definition: internal.h:135
_glfwGetWindowPropertyX11
unsigned long _glfwGetWindowPropertyX11(Window window, Atom property, Atom type, unsigned char **value)
Definition: x11_window.c:1860
_GLFWwindowX11::handle
Window handle
Definition: x11_platform.h:182
VkStructureType
VkStructureType
Definition: internal.h:125
GLFWvidmode
Video mode type.
Definition: glfw3.h:1525
_GLFWlibraryX11::contentScaleY
float contentScaleY
Definition: x11_platform.h:215
VkXcbSurfaceCreateFlagsKHR
VkFlags VkXcbSurfaceCreateFlagsKHR
Definition: x11_platform.h:127
GLFWbool
int GLFWbool
Definition: internal.h:62
_GLFWlibraryX11::QueryExtension
PFN_XF86VidModeQueryExtension QueryExtension
Definition: x11_platform.h:372
_GLFWlibraryX11::minor
int minor
Definition: x11_platform.h:299
_GLFWwindowX11::ypos
int ypos
Definition: x11_platform.h:194
_GLFWlibraryX11::QueryExtension
PFN_XRRQueryExtension QueryExtension
Definition: x11_platform.h:313
_GLFWlibraryX11::restoreCursorPosX
double restoreCursorPosX
Definition: x11_platform.h:237
VkXlibSurfaceCreateInfoKHR
Definition: x11_platform.h:129
_GLFWlibraryX11::im
XIM im
Definition: x11_platform.h:223
_GLFWlibraryX11::GetCrtcInfo
PFN_XRRGetCrtcInfo GetCrtcInfo
Definition: x11_platform.h:309
_glfwPushSelectionToManagerX11
void _glfwPushSelectionToManagerX11(void)
Definition: x11_window.c:1896
_GLFWlibraryX11::contentScaleX
float contentScaleX
Definition: x11_platform.h:215
_GLFWlibraryX11::hiddenCursorHandle
Cursor hiddenCursorHandle
Definition: x11_platform.h:219
VkXcbSurfaceCreateInfoKHR::flags
VkXcbSurfaceCreateFlagsKHR flags
Definition: x11_platform.h:142
_GLFWlibraryX11::ImageDestroy
PFN_XcursorImageDestroy ImageDestroy
Definition: x11_platform.h:348
_GLFWlibraryX11::context
XContext context
Definition: x11_platform.h:221
PFN_XF86VidModeSetGammaRamp
Bool(* PFN_XF86VidModeSetGammaRamp)(Display *, int, int, unsigned short *, unsigned short *, unsigned short *)
Definition: x11_platform.h:107
_GLFWlibraryX11::interval
int interval
Definition: x11_platform.h:334
_GLFWlibraryX11::NET_WM_STATE
Atom NET_WM_STATE
Definition: x11_platform.h:252
_GLFWlibraryX11::SAVE_TARGETS
Atom SAVE_TARGETS
Definition: x11_platform.h:286
PFN_XcursorImageCreate
XcursorImage *(* PFN_XcursorImageCreate)(int, int)
Definition: x11_platform.h:85
_GLFWlibraryX11::NET_WM_STATE_FULLSCREEN
Atom NET_WM_STATE_FULLSCREEN
Definition: x11_platform.h:254


mvsim
Author(s):
autogenerated on Wed May 28 2025 02:13:08