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
197  int lastCursorPosX, lastCursorPosY;
198  // The last position the cursor was warped to by GLFW
199  int warpCursorPosX, warpCursorPosY;
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
215  float contentScaleX, contentScaleY;
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
237  double restoreCursorPosX, restoreCursorPosY;
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 {
322  GLFWbool available;
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 {
353  GLFWbool available;
354  void* handle;
355  int major;
356  int minor;
360  } xinerama;
361 
362  struct {
363  void* handle;
365  } x11xcb;
366 
367  struct {
368  GLFWbool available;
369  void* handle;
370  int eventBase;
371  int errorBase;
376  } vidmode;
377 
378  struct {
379  GLFWbool available;
380  void* handle;
381  int majorOpcode;
382  int eventBase;
383  int errorBase;
384  int major;
385  int minor;
388  } xi;
389 
390  struct {
391  GLFWbool available;
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 
GLFWbool gammaBroken
Definition: x11_platform.h:300
PFN_XRenderFindVisualFormat FindVisualFormat
Definition: x11_platform.h:399
int(* PFN_XISelectEvents)(Display *, Window, XIEventMask *, int)
Definition: x11_platform.h:115
GLenum GLuint GLenum GLsizei const GLchar * message
Atom NET_WM_WINDOW_OPACITY
Definition: x11_platform.h:260
Atom NET_WM_STATE_MAXIMIZED_VERT
Definition: x11_platform.h:255
xcb_connection_t *(* PFN_XGetXCBConnection)(Display *)
Definition: x11_platform.h:102
PFN_XcursorImageLoadCursor ImageLoadCursor
Definition: x11_platform.h:349
VkStructureType
Definition: vulkan_core.h:159
XRenderPictFormat *(* PFN_XRenderFindVisualFormat)(Display *, Visual const *)
Definition: x11_platform.h:121
PFN_XineramaQueryScreens QueryScreens
Definition: x11_platform.h:359
Bool(* PFN_XineramaQueryExtension)(Display *, int *, int *)
Definition: x11_platform.h:93
PFN_XRRSelectInput SelectInput
Definition: x11_platform.h:315
XID xcb_visualid_t
Definition: x11_platform.h:100
Display * display
Definition: x11_platform.h:210
VkFlags VkXcbSurfaceCreateFlagsKHR
Definition: x11_platform.h:127
uint32_t VkBool32
Definition: vulkan_core.h:67
PFN_XGetXCBConnection GetXCBConnection
Definition: x11_platform.h:364
typedef void(APIENTRY *GLDEBUGPROC)(GLenum source
void(* PFN_XRRFreeOutputInfo)(XRROutputInfo *)
Definition: x11_platform.h:53
VkResult
Definition: vulkan_core.h:122
XRRScreenResources *(* PFN_XRRGetScreenResourcesCurrent)(Display *, Window)
Definition: x11_platform.h:60
VkXcbSurfaceCreateFlagsKHR flags
Definition: x11_platform.h:142
void _glfwPushSelectionToManagerX11(void)
Definition: x11_window.c:1896
char * primarySelectionString
Definition: x11_platform.h:227
PFN_XRRQueryExtension QueryExtension
Definition: x11_platform.h:313
#define APIENTRY
struct _GLFWcursorX11 _GLFWcursorX11
GLuint64 GLenum void * handle
Definition: glext.h:7785
Colormap colormap
Definition: x11_platform.h:181
Atom NET_WM_STATE_FULLSCREEN
Definition: x11_platform.h:254
Atom NET_REQUEST_FRAME_EXTENTS
Definition: x11_platform.h:264
GLfloat value
XRROutputInfo *(* PFN_XRRGetOutputInfo)(Display *, XRRScreenResources *, RROutput)
Definition: x11_platform.h:58
GLFWbool available
Definition: x11_platform.h:294
void(* PFN_XRRFreeCrtcInfo)(XRRCrtcInfo *)
Definition: x11_platform.h:51
PFN_XineramaQueryExtension QueryExtension
Definition: x11_platform.h:358
Atom NET_WM_WINDOW_TYPE_NORMAL
Definition: x11_platform.h:251
unsigned Bool
Definition: sqlite3.c:17453
void _glfwPollMonitorsX11(void)
Definition: x11_monitor.c:100
PFN_XRRFreeScreenResources FreeScreenResources
Definition: x11_platform.h:306
void _glfwGrabErrorHandlerX11(void)
Definition: x11_init.c:855
XcursorImage *(* PFN_XcursorImageCreate)(int, int)
Definition: x11_platform.h:85
int GLFWbool
Definition: internal.h:61
Cursor _glfwCreateCursorX11(const GLFWimage *image, int xhot, int yhot)
Definition: x11_init.c:883
GLenum GLenum GLsizei void * image
PFN_XF86VidModeGetGammaRamp GetGammaRamp
Definition: x11_platform.h:373
void _glfwRestoreVideoModeX11(_GLFWmonitor *monitor)
Definition: x11_monitor.c:277
VkResult(APIENTRY * PFN_vkCreateXlibSurfaceKHR)(VkInstance, const VkXlibSurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *)
Definition: x11_platform.h:147
char * clipboardString
Definition: x11_platform.h:229
Status(* PFN_XIQueryVersion)(Display *, int *, int *)
Definition: x11_platform.h:114
struct VkXcbSurfaceCreateInfoKHR VkXcbSurfaceCreateInfoKHR
PFN_XRenderQueryVersion QueryVersion
Definition: x11_platform.h:398
XID xcb_window_t
Definition: x11_platform.h:99
void(* PFN_XRRSelectInput)(Display *, Window, int)
Definition: x11_platform.h:63
GLFWbool _glfwIsVisualTransparentX11(Visual *visual)
Definition: x11_window.c:1885
double restoreCursorPosY
Definition: x11_platform.h:237
void(* PFN_XRRFreeGamma)(XRRCrtcGamma *)
Definition: x11_platform.h:52
PFN_XRenderQueryExtension QueryExtension
Definition: x11_platform.h:397
PFN_XRRSetCrtcGamma SetCrtcGamma
Definition: x11_platform.h:317
struct _GLFWmonitorX11 _GLFWmonitorX11
Cursor(* PFN_XcursorImageLoadCursor)(Display *, const XcursorImage *)
Definition: x11_platform.h:87
PFN_XF86VidModeSetGammaRamp SetGammaRamp
Definition: x11_platform.h:374
void * VkInstance
Definition: internal.h:118
unsigned int uint32_t
Definition: stdint.h:80
int(* PFN_XRRUpdateConfiguration)(XEvent *)
Definition: x11_platform.h:66
void * VkPhysicalDevice
Definition: internal.h:119
Bool(* PFN_XF86VidModeSetGammaRamp)(Display *, int, int, unsigned short *, unsigned short *, unsigned short *)
Definition: x11_platform.h:107
GLint GLsizei GLsizei height
XineramaScreenInfo *(* PFN_XineramaQueryScreens)(Display *, int *)
Definition: x11_platform.h:94
Atom NET_WM_STATE_MAXIMIZED_HORZ
Definition: x11_platform.h:256
VkXlibSurfaceCreateFlagsKHR flags
Definition: x11_platform.h:133
int(* PFN_XRRGetCrtcGammaSize)(Display *, RRCrtc)
Definition: x11_platform.h:56
void _glfwReleaseErrorHandlerX11(void)
Definition: x11_init.c:863
struct VkXlibSurfaceCreateInfoKHR VkXlibSurfaceCreateInfoKHR
uint64_t VkSurfaceKHR
Definition: internal.h:120
GLFWbool transparent
Definition: x11_platform.h:190
Bool(* PFN_XRRQueryExtension)(Display *, int *, int *)
Definition: x11_platform.h:61
struct _GLFWwindowX11 _GLFWwindowX11
PFN_XF86VidModeGetGammaRampSize GetGammaRampSize
Definition: x11_platform.h:375
Status(* PFN_XRRSetCrtcConfig)(Display *, XRRScreenResources *, RRCrtc, Time, int, int, RRMode, Rotation, RROutput *, int)
Definition: x11_platform.h:64
PFN_XRRFreeGamma FreeGamma
Definition: x11_platform.h:304
VkBool32(APIENTRY * PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice, uint32_t, xcb_connection_t *, xcb_visualid_t)
Definition: x11_platform.h:150
PFN_XineramaIsActive IsActive
Definition: x11_platform.h:357
Window helperWindowHandle
Definition: x11_platform.h:217
PFN_XRRQueryVersion QueryVersion
Definition: x11_platform.h:314
uint32_t VkFlags
Definition: vulkan_core.h:66
PFN_XF86VidModeQueryExtension QueryExtension
Definition: x11_platform.h:372
PFN_XISelectEvents SelectEvents
Definition: x11_platform.h:387
Bool(* PFN_XF86VidModeGetGammaRampSize)(Display *, int, int *)
Definition: x11_platform.h:108
#define GLFW_KEY_LAST
Definition: glfw3.h:483
GLFWbool monitorBroken
Definition: x11_platform.h:301
XRRCrtcInfo *(* PFN_XRRGetCrtcInfo)(Display *, XRRScreenResources *, RRCrtc)
Definition: x11_platform.h:57
Bool(* PFN_XineramaIsActive)(Display *)
Definition: x11_platform.h:92
Video mode type.
Definition: glfw3.h:1525
VkBool32(APIENTRY * PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice, uint32_t, Display *, VisualID)
Definition: x11_platform.h:148
Cursor hiddenCursorHandle
Definition: x11_platform.h:219
RROutput(* PFN_XRRGetOutputPrimary)(Display *, Window)
Definition: x11_platform.h:59
XContext context
Definition: x11_platform.h:221
GLenum type
PFN_XRRSetCrtcConfig SetCrtcConfig
Definition: x11_platform.h:316
static double xpos
Definition: splitview.c:33
PFN_XcursorImageCreate ImageCreate
Definition: x11_platform.h:347
GLFWbool maximized
Definition: x11_platform.h:187
void(* PFN_XRRSetCrtcGamma)(Display *, RRCrtc, XRRCrtcGamma *)
Definition: x11_platform.h:65
PFN_XRRGetCrtcInfo GetCrtcInfo
Definition: x11_platform.h:309
PFN_XRRFreeCrtcInfo FreeCrtcInfo
Definition: x11_platform.h:303
PFN_XcursorImageDestroy ImageDestroy
Definition: x11_platform.h:348
xcb_connection_t * connection
Definition: x11_platform.h:143
struct _GLFWlibraryX11 _GLFWlibraryX11
PFN_XRRUpdateConfiguration UpdateConfiguration
Definition: x11_platform.h:318
PFN_XRRGetScreenResourcesCurrent GetScreenResourcesCurrent
Definition: x11_platform.h:312
PFN_XRRFreeOutputInfo FreeOutputInfo
Definition: x11_platform.h:305
Atom NET_WM_STATE_DEMANDS_ATTENTION
Definition: x11_platform.h:257
struct xcb_connection_t xcb_connection_t
Definition: x11_platform.h:101
void _glfwInputErrorX11(int error, const char *message)
Definition: x11_init.c:872
GLFWbool detectable
Definition: x11_platform.h:323
Image data.
Definition: glfw3.h:1588
GLFWbool iconified
Definition: x11_platform.h:186
GLFWbool overrideRedirect
Definition: x11_platform.h:185
Status(* PFN_XRenderQueryVersion)(Display *dpy, int *, int *)
Definition: x11_platform.h:120
PFN_XRRGetCrtcGammaSize GetCrtcGammaSize
Definition: x11_platform.h:308
VkFlags VkXlibSurfaceCreateFlagsKHR
Definition: x11_platform.h:126
_GLFWwindow * disabledCursorWindow
Definition: x11_platform.h:239
PFN_XRRGetCrtcGamma GetCrtcGamma
Definition: x11_platform.h:307
PFN_XIQueryVersion QueryVersion
Definition: x11_platform.h:386
::std_msgs::Time_< std::allocator< void > > Time
Definition: Time.h:47
Bool(* PFN_XF86VidModeGetGammaRamp)(Display *, int, int, unsigned short *, unsigned short *, unsigned short *)
Definition: x11_platform.h:106
Bool(* PFN_XRenderQueryExtension)(Display *, int *, int *)
Definition: x11_platform.h:119
Atom NET_WM_BYPASS_COMPOSITOR
Definition: x11_platform.h:258
void(* PFN_XcursorImageDestroy)(XcursorImage *)
Definition: x11_platform.h:86
XRRCrtcGamma *(* PFN_XRRAllocGamma)(int)
Definition: x11_platform.h:50
PFN_XRRAllocGamma AllocGamma
Definition: x11_platform.h:302
Atom NET_WM_FULLSCREEN_MONITORS
Definition: x11_platform.h:259
XRRCrtcGamma *(* PFN_XRRGetCrtcGamma)(Display *, RRCrtc)
Definition: x11_platform.h:55
Bool(* PFN_XF86VidModeQueryExtension)(Display *, int *, int *)
Definition: x11_platform.h:105
PFN_XRRGetOutputInfo GetOutputInfo
Definition: x11_platform.h:310
void(* PFN_XRRFreeScreenResources)(XRRScreenResources *)
Definition: x11_platform.h:54
void _glfwSetVideoModeX11(_GLFWmonitor *monitor, const GLFWvidmode *desired)
Definition: x11_monitor.c:219
unsigned long _glfwGetWindowPropertyX11(Window window, Atom property, Atom type, unsigned char **value)
Definition: x11_window.c:1860
PFN_XRRGetOutputPrimary GetOutputPrimary
Definition: x11_platform.h:311
VkResult(APIENTRY * PFN_vkCreateXcbSurfaceKHR)(VkInstance, const VkXcbSurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *)
Definition: x11_platform.h:149
Status(* PFN_XRRQueryVersion)(Display *, int *, int *)
Definition: x11_platform.h:62


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