vtkX11Functions.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
3 #ifndef vtkX11Functions_h
4 #define vtkX11Functions_h
5 
40 #include "vtkABINamespace.h" // For VTK_ABI_NAMESPACE_BEGIN/END
41 #include "vtkx11Module.h" // For export macro
42 
43 #define VTK_USE_X
44 #define VTK_HAVE_XCURSOR 1
45 #if defined(VTK_USE_X)
46 #include <X11/X.h>
47 #include <X11/Xatom.h>
48 #include <X11/Xlib.h>
49 #include <X11/Xutil.h>
50 #include <X11/cursorfont.h>
51 #if VTK_HAVE_XCURSOR
52 #include <X11/Xcursor/Xcursor.h>
53 #endif
54 
55 #define vtkXInternAtom VTK_ABI_NAMESPACE_MANGLE(vtkXInternAtom)
56 #define vtkXQueryPointer VTK_ABI_NAMESPACE_MANGLE(vtkXQueryPointer)
57 #define vtkXTranslateCoordinates VTK_ABI_NAMESPACE_MANGLE(vtkXTranslateCoordinates)
58 #define vtkXKeysymToString VTK_ABI_NAMESPACE_MANGLE(vtkXKeysymToString)
59 #define vtkXListExtensions VTK_ABI_NAMESPACE_MANGLE(vtkXListExtensions)
60 #define vtkXCreateColormap VTK_ABI_NAMESPACE_MANGLE(vtkXCreateColormap)
61 #define vtkXCreateFontCursor VTK_ABI_NAMESPACE_MANGLE(vtkXCreateFontCursor)
62 #define vtkXCreatePixmapCursor VTK_ABI_NAMESPACE_MANGLE(vtkXCreatePixmapCursor)
63 #define vtkXOpenDisplay VTK_ABI_NAMESPACE_MANGLE(vtkXOpenDisplay)
64 #define vtkXCreateGC VTK_ABI_NAMESPACE_MANGLE(vtkXCreateGC)
65 #define vtkXDefaultScreenOfDisplay VTK_ABI_NAMESPACE_MANGLE(vtkXDefaultScreenOfDisplay)
66 #define vtkXChangeProperty VTK_ABI_NAMESPACE_MANGLE(vtkXChangeProperty)
67 #define vtkXChangeWindowAttributes VTK_ABI_NAMESPACE_MANGLE(vtkXChangeWindowAttributes)
68 #define vtkXCheckIfEvent VTK_ABI_NAMESPACE_MANGLE(vtkXCheckIfEvent)
69 #define vtkXCheckTypedWindowEvent VTK_ABI_NAMESPACE_MANGLE(vtkXCheckTypedWindowEvent)
70 #define vtkXCloseDisplay VTK_ABI_NAMESPACE_MANGLE(vtkXCloseDisplay)
71 #define vtkXConvertSelection VTK_ABI_NAMESPACE_MANGLE(vtkXConvertSelection)
72 #define vtkXDefaultScreen VTK_ABI_NAMESPACE_MANGLE(vtkXDefaultScreen)
73 #define vtkXDefineCursor VTK_ABI_NAMESPACE_MANGLE(vtkXDefineCursor)
74 #define vtkXDestroyWindow VTK_ABI_NAMESPACE_MANGLE(vtkXDestroyWindow)
75 #define vtkXDisplayHeight VTK_ABI_NAMESPACE_MANGLE(vtkXDisplayHeight)
76 #define vtkXDisplayWidth VTK_ABI_NAMESPACE_MANGLE(vtkXDisplayWidth)
77 #define vtkXFlush VTK_ABI_NAMESPACE_MANGLE(vtkXFlush)
78 #define vtkXFreeCursor VTK_ABI_NAMESPACE_MANGLE(vtkXFreeCursor)
79 #define vtkXFreeExtensionList VTK_ABI_NAMESPACE_MANGLE(vtkXFreeExtensionList)
80 #define vtkXFreePixmap VTK_ABI_NAMESPACE_MANGLE(vtkXFreePixmap)
81 #define vtkXFree VTK_ABI_NAMESPACE_MANGLE(vtkXFree)
82 #define vtkXGetWindowAttributes VTK_ABI_NAMESPACE_MANGLE(vtkXGetWindowAttributes)
83 #define vtkXGetWindowProperty VTK_ABI_NAMESPACE_MANGLE(vtkXGetWindowProperty)
84 #define vtkXGrabKeyboard VTK_ABI_NAMESPACE_MANGLE(vtkXGrabKeyboard)
85 #define vtkXIfEvent VTK_ABI_NAMESPACE_MANGLE(vtkXIfEvent)
86 #define vtkXLookupString VTK_ABI_NAMESPACE_MANGLE(vtkXLookupString)
87 #define vtkXMapWindow VTK_ABI_NAMESPACE_MANGLE(vtkXMapWindow)
88 #define vtkXMoveWindow VTK_ABI_NAMESPACE_MANGLE(vtkXMoveWindow)
89 #define vtkXNextEvent VTK_ABI_NAMESPACE_MANGLE(vtkXNextEvent)
90 #define vtkXPending VTK_ABI_NAMESPACE_MANGLE(vtkXPending)
91 #define vtkXPutBackEvent VTK_ABI_NAMESPACE_MANGLE(vtkXPutBackEvent)
92 #define vtkXResizeWindow VTK_ABI_NAMESPACE_MANGLE(vtkXResizeWindow)
93 #define vtkXScreenNumberOfScreen VTK_ABI_NAMESPACE_MANGLE(vtkXScreenNumberOfScreen)
94 #define vtkXSelectInput VTK_ABI_NAMESPACE_MANGLE(vtkXSelectInput)
95 #define vtkXSendEvent VTK_ABI_NAMESPACE_MANGLE(vtkXSendEvent)
96 #define vtkXSetClassHint VTK_ABI_NAMESPACE_MANGLE(vtkXSetClassHint)
97 #define vtkXSetErrorHandler VTK_ABI_NAMESPACE_MANGLE(vtkXSetErrorHandler)
98 #define vtkXSetInputFocus VTK_ABI_NAMESPACE_MANGLE(vtkXSetInputFocus)
99 #define vtkXSetNormalHints VTK_ABI_NAMESPACE_MANGLE(vtkXSetNormalHints)
100 #define vtkXSetWMIconName VTK_ABI_NAMESPACE_MANGLE(vtkXSetWMIconName)
101 #define vtkXSetWMName VTK_ABI_NAMESPACE_MANGLE(vtkXSetWMName)
102 #define vtkXSetWMProtocols VTK_ABI_NAMESPACE_MANGLE(vtkXSetWMProtocols)
103 #define vtkXStoreName VTK_ABI_NAMESPACE_MANGLE(vtkXStoreName)
104 #define vtkXStringListToTextProperty VTK_ABI_NAMESPACE_MANGLE(vtkXStringListToTextProperty)
105 #define vtkXSync VTK_ABI_NAMESPACE_MANGLE(vtkXSync)
106 #define vtkXUndefineCursor VTK_ABI_NAMESPACE_MANGLE(vtkXUndefineCursor)
107 #define vtkXUnmapWindow VTK_ABI_NAMESPACE_MANGLE(vtkXUnmapWindow)
108 #define vtkXCreateBitmapFromData VTK_ABI_NAMESPACE_MANGLE(vtkXCreateBitmapFromData)
109 #define vtkXScreenOfDisplay VTK_ABI_NAMESPACE_MANGLE(vtkXScreenOfDisplay)
110 #define vtkXVisualIDFromVisual VTK_ABI_NAMESPACE_MANGLE(vtkXVisualIDFromVisual)
111 #define vtkXCreateWindow VTK_ABI_NAMESPACE_MANGLE(vtkXCreateWindow)
112 #define vtkXRootWindowOfScreen VTK_ABI_NAMESPACE_MANGLE(vtkXRootWindowOfScreen)
113 #define vtkXRootWindow VTK_ABI_NAMESPACE_MANGLE(vtkXRootWindow)
114 #define vtkXGetVisualInfo VTK_ABI_NAMESPACE_MANGLE(vtkXGetVisualInfo)
115 
116 #if VTK_HAVE_XCURSOR
117 #define vtkXcursorFilenameLoadCursor VTK_ABI_NAMESPACE_MANGLE(vtkXcursorFilenameLoadCursor)
118 #endif // VTK_HAVE_XCURSOR
119 #endif // defined(VTK_USE_X)
120 
121 #define vtkX11FunctionsInitialize VTK_ABI_NAMESPACE_MANGLE(vtkX11FunctionsInitialize)
122 #define vtkX11FunctionsFinalize VTK_ABI_NAMESPACE_MANGLE(vtkX11FunctionsFinalize)
123 
124 // this header is designed to be includable from C or C++
125 // we require C compatibility because this file is included in ThirdParty/glad/src/glx.c
126 // which is compiled as C, not C++
127 #ifdef __cplusplus
128 extern "C"
129 {
130 #endif // __cplusplus
131 #if defined(VTK_USE_X)
132  typedef Atom (*vtkXInternAtomType)(Display*, const char*, Bool);
133  typedef Bool (*vtkXQueryPointerType)(
134  Display*, Window, Window*, Window*, int*, int*, int*, int*, unsigned int*);
136  Display*, Window, Window, int, int, int*, int*, Window*);
137  typedef char* (*vtkXKeysymToStringType)(KeySym);
138  typedef char** (*vtkXListExtensionsType)(Display*, int*);
139  typedef Colormap (*vtkXCreateColormapType)(Display*, Window, Visual*, int);
140  typedef Cursor (*vtkXCreateFontCursorType)(Display*, unsigned int);
141  typedef Cursor (*vtkXCreatePixmapCursorType)(
142  Display*, Pixmap, Pixmap, XColor*, XColor*, unsigned int, unsigned int);
143  typedef Display* (*vtkXOpenDisplayType)(const char*);
144  typedef GC (*vtkXCreateGCType)(Display*, Drawable, unsigned long, XGCValues*);
145  typedef Screen* (*vtkXDefaultScreenOfDisplayType)(Display*);
146  typedef int (*vtkXChangePropertyType)(
147  Display*, Window, Atom, Atom, int, int, const unsigned char*, int);
149  Display*, Window, unsigned long, XSetWindowAttributes*);
150  typedef int (*vtkXCheckIfEventType)(
151  Display*, XEvent*, Bool (*)(Display*, XEvent*, XPointer), XPointer);
152  typedef int (*vtkXCheckTypedWindowEventType)(Display*, Window, int, XEvent*);
153  typedef int (*vtkXCloseDisplayType)(Display*);
154  typedef int (*vtkXConvertSelectionType)(Display*, Atom, Atom, Atom, Window, Time);
155  typedef int (*vtkXDefaultScreenType)(Display*);
156  typedef int (*vtkXDefineCursorType)(Display*, Window, Cursor);
157  typedef int (*vtkXDestroyWindowType)(Display*, Window);
158  typedef int (*vtkXDisplayHeightType)(Display*, int);
159  typedef int (*vtkXDisplayWidthType)(Display*, int);
160  typedef int (*vtkXFlushType)(Display*);
161  typedef int (*vtkXFreeCursorType)(Display*, Cursor);
162  typedef int (*vtkXFreeExtensionListType)(char**);
163  typedef int (*vtkXFreePixmapType)(Display*, Pixmap);
164  typedef int (*vtkXFreeType)(void*);
165  typedef int (*vtkXGetWindowAttributesType)(Display*, Window, XWindowAttributes*);
166  typedef int (*vtkXGetWindowPropertyType)(Display*, Window, Atom, long, long, Bool, Atom, Atom*,
167  int*, unsigned long*, unsigned long*, unsigned char**);
168  typedef int (*vtkXGrabKeyboardType)(Display*, Window, Bool, int, int, Time);
169  typedef int (*vtkXIfEventType)(
170  Display*, XEvent*, Bool (*)(Display*, XEvent*, XPointer), XPointer);
171  typedef int (*vtkXLookupStringType)(XKeyEvent*, char*, int, KeySym*, XComposeStatus*);
172  typedef int (*vtkXMapWindowType)(Display*, Window);
173  typedef int (*vtkXMoveWindowType)(Display*, Window, int, int);
174  typedef int (*vtkXNextEventType)(Display*, XEvent*);
175  typedef int (*vtkXPendingType)(Display*);
176  typedef int (*vtkXPutBackEventType)(Display*, XEvent*);
177  typedef int (*vtkXResizeWindowType)(Display*, Window, unsigned int, unsigned int);
178  typedef int (*vtkXScreenNumberOfScreenType)(Screen*);
179  typedef int (*vtkXSelectInputType)(Display*, Window, long);
180  typedef int (*vtkXSendEventType)(Display*, Window, Bool, long, XEvent*);
181  typedef int (*vtkXSetClassHintType)(Display*, Window, XClassHint*);
182  typedef XErrorHandler (*vtkXSetErrorHandlerType)(XErrorHandler);
183  typedef int (*vtkXSetInputFocusType)(Display*, Window, int, Time);
184  typedef int (*vtkXSetNormalHintsType)(Display*, Window, XSizeHints*);
185  typedef int (*vtkXSetWMIconNameType)(Display*, Window, XTextProperty*);
186  typedef int (*vtkXSetWMNameType)(Display*, Window, XTextProperty*);
187  typedef int (*vtkXSetWMProtocolsType)(Display*, Window, Atom*, int);
188  typedef int (*vtkXStoreNameType)(Display*, Window, const char*);
189  typedef int (*vtkXStringListToTextPropertyType)(char**, int, XTextProperty*);
190  typedef int (*vtkXSyncType)(Display*, Bool);
191  typedef int (*vtkXUndefineCursorType)(Display*, Window);
192  typedef int (*vtkXUnmapWindowType)(Display*, Window);
193  typedef Pixmap (*vtkXCreateBitmapFromDataType)(
194  Display*, Drawable, const char*, unsigned int, unsigned int);
195  typedef Screen* (*vtkXScreenOfDisplayType)(Display*, int);
196  typedef VisualID (*vtkXVisualIDFromVisualType)(Visual*);
197  typedef Window (*vtkXCreateWindowType)(Display*, Window, int, int, unsigned int, unsigned int,
198  unsigned int, int, unsigned int, Visual*, unsigned long, XSetWindowAttributes*);
199  typedef Window (*vtkXRootWindowOfScreenType)(Screen*);
200  typedef Window (*vtkXRootWindowType)(Display*, int);
201  typedef XVisualInfo* (*vtkXGetVisualInfoType)(Display*, long, XVisualInfo*, int*);
202  // Xcursor API
203 #if VTK_HAVE_XCURSOR
204  typedef Cursor (*vtkXcursorFilenameLoadCursorType)(Display*, const char*);
205 #endif
267  // Xcursor API
268 #if VTK_HAVE_XCURSOR
270 #endif
271 #endif // defined(VTK_USE_X)
272 
289 #ifdef __cplusplus
290 }
291 #endif // __cplusplus
292 #endif // vtkX11Functions_h
293 // VTK-HeaderTest-Exclude: vtkX11Functions.h
#define vtkXVisualIDFromVisual
int(* vtkXDefineCursorType)(Display *, Window, Cursor)
int(* vtkXSetClassHintType)(Display *, Window, XClassHint *)
Cursor(* vtkXCreateFontCursorType)(Display *, unsigned int)
#define vtkXUndefineCursor
int(* vtkXDefaultScreenType)(Display *)
int(* vtkXScreenNumberOfScreenType)(Screen *)
int(* vtkXLookupStringType)(XKeyEvent *, char *, int, KeySym *, XComposeStatus *)
#define vtkXCheckIfEvent
#define vtkXInternAtom
int(* vtkXNextEventType)(Display *, XEvent *)
GC(* vtkXCreateGCType)(Display *, Drawable, unsigned long, XGCValues *)
#define vtkXChangeProperty
int(* vtkXFlushType)(Display *)
#define vtkXMoveWindow
#define vtkXSelectInput
int(* vtkXChangeWindowAttributesType)(Display *, Window, unsigned long, XSetWindowAttributes *)
int(* vtkXFreePixmapType)(Display *, Pixmap)
#define vtkX11FunctionsInitialize
int(* vtkXPutBackEventType)(Display *, XEvent *)
#define vtkXSetInputFocus
int(* vtkXIfEventType)(Display *, XEvent *, Bool(*)(Display *, XEvent *, XPointer), XPointer)
XVisualInfo *(* vtkXGetVisualInfoType)(Display *, long, XVisualInfo *, int *)
Colormap(* vtkXCreateColormapType)(Display *, Window, Visual *, int)
#define vtkXFree
#define vtkXCreateColormap
#define vtkXCreateBitmapFromData
XErrorHandler(* vtkXSetErrorHandlerType)(XErrorHandler)
#define vtkXSetWMIconName
#define vtkXSync
Screen *(* vtkXScreenOfDisplayType)(Display *, int)
int(* vtkXChangePropertyType)(Display *, Window, Atom, Atom, int, int, const unsigned char *, int)
#define vtkXChangeWindowAttributes
int(* vtkXSetNormalHintsType)(Display *, Window, XSizeHints *)
Screen *(* vtkXDefaultScreenOfDisplayType)(Display *)
#define vtkXPending
Window(* vtkXCreateWindowType)(Display *, Window, int, int, unsigned int, unsigned int, unsigned int, int, unsigned int, Visual *, unsigned long, XSetWindowAttributes *)
#define vtkXDefaultScreenOfDisplay
#define vtkXPutBackEvent
#define vtkXScreenNumberOfScreen
int(* vtkXDestroyWindowType)(Display *, Window)
#define vtkXCreateGC
#define vtkXFreeCursor
#define vtkXListExtensions
#define vtkXUnmapWindow
int(* vtkXSetWMIconNameType)(Display *, Window, XTextProperty *)
#define vtkX11FunctionsFinalize
#define vtkXConvertSelection
#define vtkXDisplayHeight
int(* vtkXUndefineCursorType)(Display *, Window)
int(* vtkXDisplayWidthType)(Display *, int)
#define vtkXStringListToTextProperty
int(* vtkXStringListToTextPropertyType)(char **, int, XTextProperty *)
int(* vtkXGetWindowAttributesType)(Display *, Window, XWindowAttributes *)
#define vtkXCreateWindow
Pixmap(* vtkXCreateBitmapFromDataType)(Display *, Drawable, const char *, unsigned int, unsigned int)
#define vtkXFreePixmap
VisualID(* vtkXVisualIDFromVisualType)(Visual *)
#define vtkXStoreName
#define vtkXSetWMProtocols
#define vtkXNextEvent
int(* vtkXMapWindowType)(Display *, Window)
#define vtkXResizeWindow
#define vtkXcursorFilenameLoadCursor
char *(* vtkXKeysymToStringType)(KeySym)
#define vtkXCreatePixmapCursor
#define vtkXDefaultScreen
#define vtkXRootWindow
int(* vtkXMoveWindowType)(Display *, Window, int, int)
#define vtkXSetErrorHandler
int(* vtkXResizeWindowType)(Display *, Window, unsigned int, unsigned int)
#define vtkXFreeExtensionList
Display *(* vtkXOpenDisplayType)(const char *)
Window(* vtkXRootWindowOfScreenType)(Screen *)
int(* vtkXGetWindowPropertyType)(Display *, Window, Atom, long, long, Bool, Atom, Atom *, int *, unsigned long *, unsigned long *, unsigned char **)
#define vtkXGetWindowAttributes
#define VTKX11_EXPORT
Definition: vtkx11Module.h:15
Bool(* vtkXTranslateCoordinatesType)(Display *, Window, Window, int, int, int *, int *, Window *)
Bool(* vtkXQueryPointerType)(Display *, Window, Window *, Window *, int *, int *, int *, int *, unsigned int *)
#define vtkXMapWindow
int(* vtkXCloseDisplayType)(Display *)
int(* vtkXCheckTypedWindowEventType)(Display *, Window, int, XEvent *)
int(* vtkXFreeCursorType)(Display *, Cursor)
int(* vtkXSendEventType)(Display *, Window, Bool, long, XEvent *)
#define vtkXRootWindowOfScreen
#define vtkXCheckTypedWindowEvent
#define vtkXGetWindowProperty
int(* vtkXPendingType)(Display *)
#define vtkXCreateFontCursor
#define vtkXTranslateCoordinates
int(* vtkXSetInputFocusType)(Display *, Window, int, Time)
#define vtkXDisplayWidth
Cursor(* vtkXcursorFilenameLoadCursorType)(Display *, const char *)
int(* vtkXFreeType)(void *)
#define vtkXSetWMName
Cursor(* vtkXCreatePixmapCursorType)(Display *, Pixmap, Pixmap, XColor *, XColor *, unsigned int, unsigned int)
#define vtkXCloseDisplay
Window(* vtkXRootWindowType)(Display *, int)
#define vtkXSendEvent
#define vtkXDefineCursor
#define vtkXSetClassHint
int(* vtkXUnmapWindowType)(Display *, Window)
#define vtkXGrabKeyboard
Atom(* vtkXInternAtomType)(Display *, const char *, Bool)
int(* vtkXFreeExtensionListType)(char **)
#define vtkXQueryPointer
int(* vtkXGrabKeyboardType)(Display *, Window, Bool, int, int, Time)
int(* vtkXSetWMNameType)(Display *, Window, XTextProperty *)
#define vtkXOpenDisplay
#define vtkXSetNormalHints
#define vtkXDestroyWindow
#define vtkXIfEvent
int(* vtkXDisplayHeightType)(Display *, int)
#define vtkXKeysymToString
int(* vtkXCheckIfEventType)(Display *, XEvent *, Bool(*)(Display *, XEvent *, XPointer), XPointer)
int(* vtkXSelectInputType)(Display *, Window, long)
char **(* vtkXListExtensionsType)(Display *, int *)
int(* vtkXSyncType)(Display *, Bool)
int(* vtkXStoreNameType)(Display *, Window, const char *)
int(* vtkXSetWMProtocolsType)(Display *, Window, Atom *, int)
#define vtkXLookupString
#define vtkXGetVisualInfo
#define vtkXScreenOfDisplay
#define vtkXFlush
int(* vtkXConvertSelectionType)(Display *, Atom, Atom, Atom, Window, Time)