Qt 4.8
qt_x11_p.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the QtGui module of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia. For licensing terms and
14 ** conditions see http://qt.digia.com/licensing. For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights. These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file. Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41 
42 #ifndef QT_X11_P_H
43 #define QT_X11_P_H
44 
45 //
46 // W A R N I N G
47 // -------------
48 //
49 // This file is not part of the Qt API. It exists purely as an
50 // implementation detail. This header file may change from version to
51 // version without notice, or even be removed.
52 //
53 // We mean it.
54 //
55 
56 #include "QtGui/qwindowdefs.h"
57 #include "QtCore/qhash.h"
58 #include "QtCore/qlist.h"
59 #include "QtCore/qvariant.h"
60 
61 // the following is necessary to work around breakage in many versions
62 // of XFree86's Xlib.h still in use
63 // ### which versions?
64 #if defined(_XLIB_H_) // crude hack, but...
65 #error "cannot include <X11/Xlib.h> before this file"
66 #endif
67 #define XRegisterIMInstantiateCallback qt_XRegisterIMInstantiateCallback
68 #define XUnregisterIMInstantiateCallback qt_XUnregisterIMInstantiateCallback
69 #define XSetIMValues qt_XSetIMValues
70 #include <X11/Xlib.h>
71 #undef XRegisterIMInstantiateCallback
72 #undef XUnregisterIMInstantiateCallback
73 #undef XSetIMValues
74 
75 #include <X11/Xutil.h>
76 #include <X11/Xos.h>
77 #ifdef index
78 # undef index
79 #endif
80 #ifdef rindex
81 # undef rindex
82 #endif
83 #ifdef Q_OS_VXWORS
84 # ifdef open
85 # undef open
86 # endif
87 # ifdef getpid
88 # undef getpid
89 # endif
90 #endif // Q_OS_VXWORKS
91 #include <X11/Xatom.h>
92 
93 //#define QT_NO_SHAPE
94 #ifdef QT_NO_SHAPE
95 # define XShapeCombineRegion(a,b,c,d,e,f,g)
96 # define XShapeCombineMask(a,b,c,d,e,f,g)
97 #else
98 # include <X11/extensions/shape.h>
99 #endif // QT_NO_SHAPE
100 
101 
102 #if !defined (QT_NO_TABLET)
103 # include <X11/extensions/XInput.h>
104 #if defined (Q_OS_IRIX)
105 # include <X11/extensions/SGIMisc.h>
106 # include <wacom.h>
107 #endif
108 #endif // QT_NO_TABLET
109 
110 
111 // #define QT_NO_XINERAMA
112 #ifndef QT_NO_XINERAMA
113 # if 0 // ### Xsun, but how to detect it?
114 // Xinerama is only supported in Solaris 7 with patches 107648/108376 and
115 // Solaris 8 or above which introduce the X11R6.4 Xserver.
116 // To switch the Xinerama functionality on, you need to add the "+xinerama"
117 // argument to the Xsun start line.
118 // At least Solaris 7 and 8 are missing Xinerama system headers and function
119 // declarations (bug 4284701).
120 // The Xinerama API is not documented. In theory it could change but it
121 // probably won't because Sun are using it in at least dtlogin (bug 4221829).
122 extern "C" Bool XPanoramiXQueryExtension(
123  Display*,
124  int*,
125  int*
126 );
127 extern "C" Status XPanoramiXQueryVersion(
128  Display*,
129  int*,
130  int*
131 );
132 extern "C" Status XPanoramiXGetState(
133  Display*,
134  Drawable,
135  XPanoramiXInfo*
136 );
137 extern "C" Status XPanoramiXGetScreenCount(
138  Display *,
139  Drawable,
140  XPanoramiXInfo*
141 );
142 extern "C" Status XPanoramiXGetScreenSize(
143  Display*,
144  Drawable,
145  int,
146  XPanoramiXInfo*
147 );
148 # else // XFree86
149 // XFree86 does not C++ify Xinerama (at least up to XFree86 4.0.3).
150 extern "C" {
151 # include <X11/extensions/Xinerama.h>
152 }
153 # endif
154 #endif // QT_NO_XINERAMA
155 
156 // #define QT_NO_XRANDR
157 #ifndef QT_NO_XRANDR
158 # include <X11/extensions/Xrandr.h>
159 #endif // QT_NO_XRANDR
160 
161 // #define QT_NO_XRENDER
162 #ifndef QT_NO_XRENDER
163 # include <X11/extensions/Xrender.h>
164 #endif // QT_NO_XRENDER
165 
166 #ifndef QT_NO_XSYNC
167 extern "C" {
168 # include "X11/extensions/sync.h"
169 }
170 #endif
171 
172 // #define QT_NO_XKB
173 #ifndef QT_NO_XKB
174 # include <X11/XKBlib.h>
175 #endif // QT_NO_XKB
176 
177 
178 #if !defined(XlibSpecificationRelease)
179 # define X11R4
180 typedef char *XPointer;
181 #else
182 # undef X11R4
183 #endif
184 
185 // #define QT_NO_XIM
186 #if defined(X11R4)
187 // X11R4 does not have XIM
188 #define QT_NO_XIM
189 #elif defined(Q_OS_OSF) && (XlibSpecificationRelease < 6)
190 // broken in Xlib up to OSF/1 3.2
191 #define QT_NO_XIM
192 #elif defined(Q_OS_AIX)
193 // broken in Xlib up to what version of AIX?
194 #define QT_NO_XIM
195 #elif defined(QT_NO_DEBUG) && defined(Q_OS_IRIX)
196 // XmbLookupString broken on IRIX
197 // XCreateIC broken when compiling -64 on IRIX 6.5.2
198 #define QT_NO_XIM
199 #elif defined(Q_OS_HPUX) && defined(__LP64__)
200 // XCreateIC broken when compiling 64-bit ELF on HP-UX 11.0
201 #define QT_NO_XIM
202 #elif defined(Q_OS_SCO)
203 // ### suggested by user...
204 // ### #define QT_NO_XIM
205 #endif // QT_NO_XIM
206 
207 #ifndef QT_NO_XFIXES
208 typedef Bool (*PtrXFixesQueryExtension)(Display *, int *, int *);
209 typedef Status (*PtrXFixesQueryVersion)(Display *, int *, int *);
210 typedef void (*PtrXFixesSetCursorName)(Display *dpy, Cursor cursor, const char *name);
211 typedef void (*PtrXFixesSelectSelectionInput)(Display *dpy, Window win, Atom selection, unsigned long eventMask);
212 typedef void (*PtrXFixesDestroyRegion)(Display *dpy, /*XserverRegion*/ XID region);
213 typedef /*XserverRegion*/ XID (*PtrXFixesCreateRegionFromWindow)(Display *dpy, Window window, int kind);
214 typedef XRectangle *(*PtrXFixesFetchRegion)(Display *dpy, /*XserverRegion*/ XID region, int *nrectanglesRet);
215 #endif // QT_NO_XFIXES
216 
217 #ifndef QT_NO_XCURSOR
218 #include <X11/Xcursor/Xcursor.h>
219 typedef Cursor (*PtrXcursorLibraryLoadCursor)(Display *, const char *);
220 #endif // QT_NO_XCURSOR
221 
222 #ifndef QT_NO_XINERAMA
223 typedef Bool (*PtrXineramaQueryExtension)(Display *dpy, int *event_base, int *error_base);
224 typedef Bool (*PtrXineramaIsActive)(Display *dpy);
225 typedef XineramaScreenInfo *(*PtrXineramaQueryScreens)(Display *dpy, int *number);
226 #endif // QT_NO_XINERAMA
227 
228 #ifndef QT_NO_XRANDR
229 typedef void (*PtrXRRSelectInput)(Display *, Window, int);
231 typedef int (*PtrXRRRootToScreen)(Display *, Window);
232 typedef Bool (*PtrXRRQueryExtension)(Display *, int *, int *);
233 #endif // QT_NO_XRANDR
234 
235 #ifndef QT_NO_XINPUT
236 typedef int (*PtrXCloseDevice)(Display *, XDevice *);
237 typedef XDeviceInfo* (*PtrXListInputDevices)(Display *, int *);
238 typedef XDevice* (*PtrXOpenDevice)(Display *, XID);
239 typedef void (*PtrXFreeDeviceList)(XDeviceInfo *);
240 typedef int (*PtrXSelectExtensionEvent)(Display *, Window, XEventClass *, int);
241 #endif // QT_NO_XINPUT
242 
243 /*
244  * Solaris patch 108652-47 and higher fixes crases in
245  * XRegisterIMInstantiateCallback, but the function doesn't seem to
246  * work.
247  *
248  * Instead, we disabled R6 input, and open the input method
249  * immediately at application start.
250  */
251 #if !defined(QT_NO_XIM) && (XlibSpecificationRelease >= 6) && \
252  !defined(Q_OS_SOLARIS)
253 #define USE_X11R6_XIM
254 
255 //######### XFree86 has wrong declarations for XRegisterIMInstantiateCallback
256 //######### and XUnregisterIMInstantiateCallback in at least version 3.3.2.
257 //######### Many old X11R6 header files lack XSetIMValues.
258 //######### Therefore, we have to declare these functions ourselves.
259 
260 extern "C" Bool XRegisterIMInstantiateCallback(
261  Display*,
262  struct _XrmHashBucketRec*,
263  char*,
264  char*,
265  XIMProc, //XFree86 has XIDProc, which has to be wrong
266  XPointer
267 );
268 
269 extern "C" Bool XUnregisterIMInstantiateCallback(
270  Display*,
271  struct _XrmHashBucketRec*,
272  char*,
273  char*,
274  XIMProc, //XFree86 has XIDProc, which has to be wrong
275  XPointer
276 );
277 
278 extern "C" char *XSetIMValues(XIM /* im */, ...);
279 
280 #endif
281 
282 #ifndef QT_NO_FONTCONFIG
283 #include <fontconfig/fontconfig.h>
284 #endif
285 
286 #ifndef QT_NO_XIM
287 // some platforms (eg. Solaris 2.51) don't have these defines in Xlib.h
288 #ifndef XNResetState
289 #define XNResetState "resetState"
290 #endif
291 #ifndef XIMPreserveState
292 #define XIMPreserveState (1L<<1)
293 #endif
294 #endif
295 
296 
297 #ifndef X11R4
298 # include <X11/Xlocale.h>
299 #endif // X11R4
300 
301 
302 #ifndef QT_NO_MITSHM
303 # include <X11/extensions/XShm.h>
304 #endif // QT_NO_MITSHM
305 
307 
308 class QWidget;
309 
310 struct QX11InfoData {
312  int screen;
313  int dpiX;
314  int dpiY;
315  int depth;
316  int cells;
317  Colormap colormap;
318  Visual *visual;
321  int subpixel;
322 };
323 
324 class QDrag;
326 {
327  Time timestamp;
333 };
334 
335 class QMimeData;
336 
337 struct QX11Data;
339 
347 };
348 
349 struct QX11Data
350 {
351  static Qt::KeyboardModifiers translateModifiers(int s);
352 
353  Window findClientWindow(Window, Atom, bool);
354 
355  // from qclipboard_x11.cpp
356  bool clipboardWaitForEvent(Window win, int type, XEvent *event, int timeout, bool checkManager = false);
357  bool clipboardReadProperty(Window win, Atom property, bool deleteProperty,
358  QByteArray *buffer, int *size, Atom *type, int *format);
359  QByteArray clipboardReadIncrementalProperty(Window win, Atom property, int nbytes, bool nullterm);
360 
361  // from qdnd_x11.cpp
362  bool dndEnable(QWidget* w, bool on);
363  static void xdndSetup();
364  void xdndHandleEnter(QWidget *, const XEvent *, bool);
365  void xdndHandlePosition(QWidget *, const XEvent *, bool);
366  void xdndHandleStatus(QWidget *, const XEvent *, bool);
367  void xdndHandleLeave(QWidget *, const XEvent *, bool);
368  void xdndHandleDrop(QWidget *, const XEvent *, bool);
369  void xdndHandleFinished(QWidget *, const XEvent *, bool);
370  void xdndHandleSelectionRequest(const XSelectionRequestEvent *);
371  static bool xdndHandleBadwindow();
372  QByteArray xdndAtomToString(Atom a);
373  Atom xdndStringToAtom(const char *);
374 
375  QString xdndMimeAtomToString(Atom a);
376  Atom xdndMimeStringToAtom(const QString &mimeType);
377  QStringList xdndMimeFormatsForAtom(Atom a);
378  bool xdndMimeDataForAtom(Atom a, QMimeData *mimeData, QByteArray *data, Atom *atomFormat, int *dataFormat);
379  QList<Atom> xdndMimeAtomsForFormat(const QString &format);
380  QVariant xdndMimeConvertToFormat(Atom a, const QByteArray &data, const QString &format, QVariant::Type requestedType, const QByteArray &encoding);
381  Atom xdndMimeAtomForFormat(const QString &format, QVariant::Type requestedType, const QList<Atom> &atoms, QByteArray *requestedEncoding);
382 
384 
385  // from qmotifdnd_x11.cpp
386  void motifdndHandle(QWidget *, const XEvent *, bool);
387  void motifdndEnable(QWidget *, bool);
388  QVariant motifdndObtainData(const char *format);
389  QByteArray motifdndFormat(int n);
391 
393  char *displayName;
395  // current focus model
396  enum {
397  FM_Unknown = -1,
398  FM_Other = 0,
399  FM_PointerRoot = 1
400  };
402 
403  // true if Qt is compiled w/ RANDR support and RANDR is supported on the connected Display
408 
409  // true if Qt is compiled w/ RENDER support and RENDER is supported on the connected Display
413 
414  // true if Qt is compiled w/ XFIXES support and XFIXES is supported on the connected Display
419 
420 #ifndef QT_NO_XFIXES
425 #endif
426 
427 #ifndef QT_NO_XINPUT
433 #endif // QT_NO_XINPUT
434 
435 
436  // true if Qt is compiled w/ MIT-SHM support and MIT-SHM is supported on the connected Display
440 
441  // true if Qt is compiled w/ Tablet support and we have a tablet.
446 
447  // for XKEYBOARD support
448  bool use_xkb;
452 
455  long id;
457  int dx, dy;
458  };
461 
462  // window managers list of supported "stuff"
464  // list of virtual root windows
466  // client leader window
468 
470  Visual **argbVisuals;
471  Colormap *argbColormaps;
475 
476  Time time;
477  Time userTime;
478 
480 
481  // starts to ignore bad window errors from X
482  static inline void ignoreBadwindow() {
484  qt_x11Data->seen_badwindow = false;
485  }
486 
487  // ends ignoring bad window errors and returns whether an error had happened.
488  static inline bool badwindow() {
489  qt_x11Data->ignore_badwindow = false;
490  return qt_x11Data->seen_badwindow;
491  }
492 
495 
496  // options
501 
502  // outside visual/colormap
503  Visual *visual;
504  Colormap colormap;
505 
506 #ifndef QT_NO_XRENDER
507  enum { solid_fill_count = 16 };
508  struct SolidFills {
509  XRenderColor color;
510  int screen;
512  } solid_fills[solid_fill_count];
513  enum { pattern_fill_count = 16 };
514  struct PatternFills {
515  XRenderColor color;
516  XRenderColor bg_color;
517  int screen;
518  int style;
519  bool opaque;
521  } pattern_fills[pattern_fill_count];
522  Picture getSolidFill(int screen, const QColor &c);
523  XRenderColor preMultiply(const QColor &c);
524 #endif
525 
530 
531  char *startupId;
532 
534  uint desktopVersion : 8; /* Used only for KDE */
535 
536  /* Warning: if you modify this list, modify the names of atoms in qapplication_x11.cpp as well! */
537  enum X11Atom {
538  // window-manager <-> client protocols
546 
547  // ICCCM window state
550 
551  // Session management
555 
556  // Clipboard
568 
570 
572 
575 
577 
582 
583  // EWMH (aka NETWM)
587 
590 
594 
596 
598 
608 
612 
629 
631 
634 
636 
638 
640 
642 
643  // Property formats
647 
648  // Xdnd
657 
659 
662 
667 
668  // Motif DND
674 
677 
678  // Xkb
680 
681  // XEMBED
684 
688 
692 
694 
697  };
698  Atom atoms[NAtoms];
699 
700  bool isSupportedByWM(Atom atom);
701 
703 
704 #ifndef QT_NO_XCURSOR
706 #endif // QT_NO_XCURSOR
707 
708 #ifndef QT_NO_XINERAMA
712 #endif // QT_NO_XINERAMA
713 
714 #ifndef QT_NO_XRANDR
719 #endif // QT_NO_XRANDR
720 };
721 
723 #define ATOM(x) qt_x11Data->atoms[QX11Data::x]
724 #define X11 qt_x11Data
725 
726 // rename a couple of X defines to get rid of name clashes
727 // resolve the conflict between X11's FocusIn and QEvent::FocusIn
728 enum {
729  XFocusOut = FocusOut,
730  XFocusIn = FocusIn,
731  XKeyPress = KeyPress,
732  XKeyRelease = KeyRelease,
734  XRevertToParent = RevertToParent,
735  XGrayScale = GrayScale,
737 };
738 #undef FocusOut
739 #undef FocusIn
740 #undef KeyPress
741 #undef KeyRelease
742 #undef None
743 #undef RevertToParent
744 #undef GrayScale
745 #undef CursorShape
746 
747 #ifdef FontChange
748 #undef FontChange
749 #endif
750 
754 #ifndef QT_NO_XRENDER
756 #endif
757 
758 
760 
761 #endif // QT_X11_P_H
The QVariant class acts like a union for the most common Qt data types.
Definition: qvariant.h:92
PtrXCloseDevice ptrXCloseDevice
Definition: qt_x11_p.h:428
The QColor class provides colors based on RGB, HSV or CMYK values.
Definition: qcolor.h:67
Bool(* PtrXineramaQueryExtension)(Display *dpy, int *event_base, int *error_base)
Definition: qt_x11_p.h:223
Window * net_virtual_root_list
Definition: qt_x11_p.h:465
int xrender_version
Definition: qt_x11_p.h:412
int type
Definition: qmetatype.cpp:239
double qreal
Definition: qglobal.h:1193
bool seen_badwindow
Definition: qt_x11_p.h:494
unsigned char c[8]
Definition: qnumeric_p.h:62
int focus_model
Definition: qt_x11_p.h:401
int xinput_errorbase
Definition: qt_x11_p.h:445
#define QT_END_NAMESPACE
This macro expands to.
Definition: qglobal.h:90
DesktopEnvironment desktopEnvironment
Definition: qt_x11_p.h:533
The QDrag class provides support for MIME-based drag and drop data transfer.
Definition: qdrag.h:61
EventRef event
bool use_mitshm
Definition: qt_x11_p.h:437
Status(* PtrXFixesQueryVersion)(Display *, int *, int *)
Definition: qt_x11_p.h:209
bool motifdnd_active
Definition: qt_x11_p.h:390
int xkb_errorbase
Definition: qt_x11_p.h:451
Q_GUI_EXPORT QX11Data * qt_x11Data
Definition: qt_x11_p.h:722
XDeviceInfo *(* PtrXListInputDevices)(Display *, int *)
Definition: qt_x11_p.h:237
void(* PtrXFixesDestroyRegion)(Display *dpy, XID region)
Definition: qt_x11_p.h:212
#define Q_GUI_EXPORT
Definition: qglobal.h:1450
qreal fc_scale
Definition: qt_x11_p.h:527
The QByteArray class provides an array of bytes.
Definition: qbytearray.h:135
int(* PtrXCloseDevice)(Display *, XDevice *)
Definition: qt_x11_p.h:236
QHash< int, int > bppForDepth
Definition: qt_x11_p.h:474
PtrXFixesSetCursorName ptrXFixesSetCursorName
Definition: qt_x11_p.h:423
Time time
Definition: qt_x11_p.h:476
The QWidget class is the base class of all user interface objects.
Definition: qwidget.h:150
PtrXRRSelectInput ptrXRRSelectInput
Definition: qt_x11_p.h:715
bool use_xfixes
Definition: qt_x11_p.h:415
PtrXListInputDevices ptrXListInputDevices
Definition: qt_x11_p.h:429
int(* PtrXRRUpdateConfiguration)(XEvent *)
Definition: qt_x11_p.h:230
bool use_mitshm_pixmaps
Definition: qt_x11_p.h:438
long ASN1_INTEGER_get ASN1_INTEGER * a
int fc_hint_style
Definition: qt_x11_p.h:529
Atom * net_supported_list
Definition: qt_x11_p.h:463
int xkb_major
Definition: qt_x11_p.h:449
The QString class provides a Unicode character string.
Definition: qstring.h:83
int xkb_eventbase
Definition: qt_x11_p.h:450
bool use_xrandr
Definition: qt_x11_p.h:404
int xinput_major
Definition: qt_x11_p.h:443
XRenderColor bg_color
Definition: qt_x11_p.h:516
char * displayName
Definition: qt_x11_p.h:393
int xrandr_major
Definition: qt_x11_p.h:405
static bool badwindow()
Definition: qt_x11_p.h:488
bool has_fontconfig
Definition: qt_x11_p.h:526
PtrXineramaQueryExtension ptrXineramaQueryExtension
Definition: qt_x11_p.h:709
static Qt::KeyboardModifiers translateModifiers(int s)
XRenderColor color
Definition: qt_x11_p.h:515
union _XEvent XEvent
Definition: qwindowdefs.h:116
bool compositingManagerRunning
Definition: qt_x11_p.h:702
int xrender_major
Definition: qt_x11_p.h:411
NSWindow * window
int color_count
Definition: qt_x11_p.h:499
QWidget * embedding_widget
Definition: qt_x11_p.h:331
QWidget * targetWidget
Definition: qt_x11_p.h:330
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition: qglobal.h:89
#define XSetIMValues
Definition: qt_x11_p.h:69
Window wm_client_leader
Definition: qt_x11_p.h:467
void(* PtrXFreeDeviceList)(XDeviceInfo *)
Definition: qt_x11_p.h:239
bool use_xkb
Definition: qt_x11_p.h:448
const char * name
bool use_xinput
Definition: qt_x11_p.h:442
Bool(* PtrXFixesQueryExtension)(Display *, int *, int *)
Definition: qt_x11_p.h:208
static void ignoreBadwindow()
Definition: qt_x11_p.h:482
The QStringList class provides a list of strings.
Definition: qstringlist.h:66
PtrXOpenDevice ptrXOpenDevice
Definition: qt_x11_p.h:430
bool use_xrender
Definition: qt_x11_p.h:410
QList< QWidget * > deferred_map
Definition: qt_x11_p.h:453
int xfixes_major
Definition: qt_x11_p.h:416
static const char * data(const QByteArray &arr)
unsigned int uint
Definition: qglobal.h:996
long sip_serial
Definition: qt_x11_p.h:459
PtrXRRRootToScreen ptrXRRRootToScreen
Definition: qt_x11_p.h:717
Type
This enum type defines the types of variable that a QVariant can contain.
Definition: qvariant.h:95
PtrXineramaIsActive ptrXineramaIsActive
Definition: qt_x11_p.h:710
int xrandr_errorbase
Definition: qt_x11_p.h:407
XineramaScreenInfo *(* PtrXineramaQueryScreens)(Display *dpy, int *number)
Definition: qt_x11_p.h:225
Time userTime
Definition: qt_x11_p.h:477
QList< QXdndDropTransaction > dndDropTransactions
Definition: qt_x11_p.h:383
The QMimeData class provides a container for data that records information about its MIME type...
Definition: qmimedata.h:57
PtrXFixesQueryVersion ptrXFixesQueryVersion
Definition: qt_x11_p.h:422
bool foreignDisplay
Definition: qt_x11_p.h:394
Visual * visual
Definition: qt_x11_p.h:318
#define None
int(* PtrXSelectExtensionEvent)(Display *, Window, XEventClass *, int)
Definition: qt_x11_p.h:240
PtrXRRQueryExtension ptrXRRQueryExtension
Definition: qt_x11_p.h:718
XID(* PtrXFixesCreateRegionFromWindow)(Display *dpy, Window window, int kind)
Definition: qt_x11_p.h:213
char * XPointer
Definition: qt_x11_p.h:180
Bool(* PtrXineramaIsActive)(Display *dpy)
Definition: qt_x11_p.h:224
XRenderColor color
Definition: qt_x11_p.h:509
PtrXFixesSelectSelectionInput ptrXFixesSelectSelectionInput
Definition: qt_x11_p.h:424
int(* PtrXRRRootToScreen)(Display *, Window)
Definition: qt_x11_p.h:231
unsigned long Picture
int visual_class
Definition: qt_x11_p.h:497
uint desktopVersion
Definition: qt_x11_p.h:534
struct _XDisplay Display
Definition: qwindowdefs.h:115
int xinput_eventbase
Definition: qt_x11_p.h:444
PtrXFixesQueryExtension ptrXFixesQueryExtension
Definition: qt_x11_p.h:421
void(* PtrXFixesSelectSelectionInput)(Display *dpy, Window win, Atom selection, unsigned long eventMask)
Definition: qt_x11_p.h:211
int xrandr_eventbase
Definition: qt_x11_p.h:406
Display * display
Definition: qt_x11_p.h:392
Colormap colormap
Definition: qt_x11_p.h:317
CursorShape
Definition: qnamespace.h:1262
PtrXineramaQueryScreens ptrXineramaQueryScreens
Definition: qt_x11_p.h:711
DesktopEnvironment
Definition: qt_x11_p.h:340
const char * property
Definition: qwizard.cpp:138
#define XUnregisterIMInstantiateCallback
Definition: qt_x11_p.h:68
void(* PtrXFixesSetCursorName)(Display *dpy, Cursor cursor, const char *name)
Definition: qt_x11_p.h:210
Bool(* PtrXRRQueryExtension)(Display *, int *, int *)
Definition: qt_x11_p.h:232
Colormap * argbColormaps
Definition: qt_x11_p.h:471
int screenCount
Definition: qt_x11_p.h:472
int visual_id
Definition: qt_x11_p.h:498
int xfixes_errorbase
Definition: qt_x11_p.h:418
bool defaultColormap
Definition: qt_x11_p.h:319
PtrXSelectExtensionEvent ptrXSelectExtensionEvent
Definition: qt_x11_p.h:432
int xfixes_eventbase
Definition: qt_x11_p.h:417
bool custom_cmap
Definition: qt_x11_p.h:500
int subpixel
Definition: qt_x11_p.h:321
QString default_im
Definition: qt_x11_p.h:479
#define XRegisterIMInstantiateCallback
Definition: qt_x11_p.h:67
int mitshm_major
Definition: qt_x11_p.h:439
PtrXFreeDeviceList ptrXFreeDeviceList
Definition: qt_x11_p.h:431
#define Status
Definition: qcursor_x11.cpp:59
void(* PtrXRRSelectInput)(Display *, Window, int)
Definition: qt_x11_p.h:229
QX11InfoData * screens
Definition: qt_x11_p.h:469
Colormap colormap
Definition: qt_x11_p.h:504
unsigned long XID
Definition: qgtkstyle_p.h:71
char * startupId
Definition: qt_x11_p.h:531
Visual ** argbVisuals
Definition: qt_x11_p.h:470
int defaultScreen
Definition: qt_x11_p.h:473
Q_DECLARE_TYPEINFO(XPoint, Q_PRIMITIVE_TYPE)
PtrXcursorLibraryLoadCursor ptrXcursorLibraryLoadCursor
Definition: qt_x11_p.h:705
bool fc_antialias
Definition: qt_x11_p.h:528
Cursor(* PtrXcursorLibraryLoadCursor)(Display *, const char *)
Definition: qt_x11_p.h:219
bool defaultVisual
Definition: qt_x11_p.h:320
QList< ScrollInProgress > sip_list
Definition: qt_x11_p.h:460
The QList class is a template class that provides lists.
Definition: qdatastream.h:62
Visual * visual
Definition: qt_x11_p.h:503
PtrXRRUpdateConfiguration ptrXRRUpdateConfiguration
Definition: qt_x11_p.h:716
XDevice *(* PtrXOpenDevice)(Display *, XID)
Definition: qt_x11_p.h:238
bool ignore_badwindow
Definition: qt_x11_p.h:493