29namespace X11SymbolHelpers
32template <
typename FuncPtr>
39template <
typename FuncPtr>
42 return { func, name };
45template <
typename FuncPtr>
48 if (
auto* func =
lib.getFunction (
binding.name))
57template <
typename FuncPtr,
typename... Args>
63template <
typename FuncPtr,
typename... Args>
66 return loadSymbols (
lib,
binding) && loadSymbols (
lib, args...);
69template <
typename FuncPtr,
typename... Args>
78bool X11Symbols::loadAllSymbols()
80 using namespace X11SymbolHelpers;
82 if (! loadSymbols (xLib, xextLib,
83 makeSymbolBinding (xAllocClassHint,
"XAllocClassHint"),
84 makeSymbolBinding (xAllocSizeHints,
"XAllocSizeHints"),
85 makeSymbolBinding (xAllocWMHints,
"XAllocWMHints"),
86 makeSymbolBinding (xBitmapBitOrder,
"XBitmapBitOrder"),
87 makeSymbolBinding (xBitmapUnit,
"XBitmapUnit"),
88 makeSymbolBinding (xChangeActivePointerGrab,
"XChangeActivePointerGrab"),
89 makeSymbolBinding (xChangeProperty,
"XChangeProperty"),
90 makeSymbolBinding (xCheckTypedWindowEvent,
"XCheckTypedWindowEvent"),
91 makeSymbolBinding (xCheckWindowEvent,
"XCheckWindowEvent"),
92 makeSymbolBinding (xClearArea,
"XClearArea"),
93 makeSymbolBinding (xCloseDisplay,
"XCloseDisplay"),
94 makeSymbolBinding (xConnectionNumber,
"XConnectionNumber"),
95 makeSymbolBinding (xConvertSelection,
"XConvertSelection"),
96 makeSymbolBinding (xCreateColormap,
"XCreateColormap"),
97 makeSymbolBinding (xCreateFontCursor,
"XCreateFontCursor"),
98 makeSymbolBinding (xCreateGC,
"XCreateGC"),
99 makeSymbolBinding (xCreateImage,
"XCreateImage"),
100 makeSymbolBinding (xCreatePixmap,
"XCreatePixmap"),
101 makeSymbolBinding (xCreatePixmapCursor,
"XCreatePixmapCursor"),
102 makeSymbolBinding (xCreatePixmapFromBitmapData,
"XCreatePixmapFromBitmapData"),
103 makeSymbolBinding (xCreateWindow,
"XCreateWindow"),
104 makeSymbolBinding (xDefaultRootWindow,
"XDefaultRootWindow"),
105 makeSymbolBinding (xDefaultScreen,
"XDefaultScreen"),
106 makeSymbolBinding (xDefaultScreenOfDisplay,
"XDefaultScreenOfDisplay"),
107 makeSymbolBinding (xDefaultVisual,
"XDefaultVisual"),
108 makeSymbolBinding (xDefineCursor,
"XDefineCursor"),
109 makeSymbolBinding (xDeleteContext,
"XDeleteContext"),
110 makeSymbolBinding (xDeleteProperty,
"XDeleteProperty"),
111 makeSymbolBinding (xDestroyImage,
"XDestroyImage"),
112 makeSymbolBinding (xDestroyWindow,
"XDestroyWindow"),
113 makeSymbolBinding (xDisplayHeight,
"XDisplayHeight"),
114 makeSymbolBinding (xDisplayHeightMM,
"XDisplayHeightMM"),
115 makeSymbolBinding (xDisplayWidth,
"XDisplayWidth"),
116 makeSymbolBinding (xDisplayWidthMM,
"XDisplayWidthMM"),
117 makeSymbolBinding (xEventsQueued,
"XEventsQueued"),
118 makeSymbolBinding (xFindContext,
"XFindContext"),
119 makeSymbolBinding (xFlush,
"XFlush"),
120 makeSymbolBinding (xFree,
"XFree"),
121 makeSymbolBinding (xFreeCursor,
"XFreeCursor"),
122 makeSymbolBinding (xFreeColormap,
"XFreeColormap"),
123 makeSymbolBinding (xFreeGC,
"XFreeGC"),
124 makeSymbolBinding (xFreeModifiermap,
"XFreeModifiermap"),
125 makeSymbolBinding (xFreePixmap,
"XFreePixmap"),
126 makeSymbolBinding (xGetAtomName,
"XGetAtomName"),
127 makeSymbolBinding (xGetErrorDatabaseText,
"XGetErrorDatabaseText"),
128 makeSymbolBinding (xGetErrorText,
"XGetErrorText"),
129 makeSymbolBinding (xGetGeometry,
"XGetGeometry"),
130 makeSymbolBinding (xGetImage,
"XGetImage"),
131 makeSymbolBinding (xGetInputFocus,
"XGetInputFocus"),
132 makeSymbolBinding (xGetModifierMapping,
"XGetModifierMapping"),
133 makeSymbolBinding (xGetPointerMapping,
"XGetPointerMapping"),
134 makeSymbolBinding (xGetSelectionOwner,
"XGetSelectionOwner"),
135 makeSymbolBinding (xGetVisualInfo,
"XGetVisualInfo"),
136 makeSymbolBinding (xGetWMHints,
"XGetWMHints"),
137 makeSymbolBinding (xGetWindowAttributes,
"XGetWindowAttributes"),
138 makeSymbolBinding (xGetWindowProperty,
"XGetWindowProperty"),
139 makeSymbolBinding (xGrabPointer,
"XGrabPointer"),
140 makeSymbolBinding (xGrabServer,
"XGrabServer"),
141 makeSymbolBinding (xImageByteOrder,
"XImageByteOrder"),
142 makeSymbolBinding (xInitImage,
"XInitImage"),
143 makeSymbolBinding (xInitThreads,
"XInitThreads"),
144 makeSymbolBinding (xInstallColormap,
"XInstallColormap"),
145 makeSymbolBinding (xInternAtom,
"XInternAtom"),
146 makeSymbolBinding (xkbKeycodeToKeysym,
"XkbKeycodeToKeysym"),
147 makeSymbolBinding (xKeysymToKeycode,
"XKeysymToKeycode"),
148 makeSymbolBinding (xListProperties,
"XListProperties"),
149 makeSymbolBinding (xLockDisplay,
"XLockDisplay"),
150 makeSymbolBinding (xLookupString,
"XLookupString"),
151 makeSymbolBinding (xMapRaised,
"XMapRaised"),
152 makeSymbolBinding (xMapWindow,
"XMapWindow"),
153 makeSymbolBinding (xMoveResizeWindow,
"XMoveResizeWindow"),
154 makeSymbolBinding (xNextEvent,
"XNextEvent"),
155 makeSymbolBinding (xOpenDisplay,
"XOpenDisplay"),
156 makeSymbolBinding (xPeekEvent,
"XPeekEvent"),
157 makeSymbolBinding (xPending,
"XPending"),
158 makeSymbolBinding (xPutImage,
"XPutImage"),
159 makeSymbolBinding (xPutPixel,
"XPutPixel"),
160 makeSymbolBinding (xQueryBestCursor,
"XQueryBestCursor"),
161 makeSymbolBinding (xQueryExtension,
"XQueryExtension"),
162 makeSymbolBinding (xQueryPointer,
"XQueryPointer"),
163 makeSymbolBinding (xQueryTree,
"XQueryTree"),
164 makeSymbolBinding (xRefreshKeyboardMapping,
"XRefreshKeyboardMapping"),
165 makeSymbolBinding (xReparentWindow,
"XReparentWindow"),
166 makeSymbolBinding (xResizeWindow,
"XResizeWindow"),
167 makeSymbolBinding (xRestackWindows,
"XRestackWindows"),
168 makeSymbolBinding (xRootWindow,
"XRootWindow"),
169 makeSymbolBinding (xSaveContext,
"XSaveContext"),
170 makeSymbolBinding (xScreenCount,
"XScreenCount"),
171 makeSymbolBinding (xScreenNumberOfScreen,
"XScreenNumberOfScreen"),
172 makeSymbolBinding (xSelectInput,
"XSelectInput"),
173 makeSymbolBinding (xSendEvent,
"XSendEvent"),
174 makeSymbolBinding (xSetClassHint,
"XSetClassHint"),
175 makeSymbolBinding (xSetErrorHandler,
"XSetErrorHandler"),
176 makeSymbolBinding (xSetIOErrorHandler,
"XSetIOErrorHandler"),
177 makeSymbolBinding (xSetInputFocus,
"XSetInputFocus"),
178 makeSymbolBinding (xSetSelectionOwner,
"XSetSelectionOwner"),
179 makeSymbolBinding (xSetWMHints,
"XSetWMHints"),
180 makeSymbolBinding (xSetWMIconName,
"XSetWMIconName"),
181 makeSymbolBinding (xSetWMName,
"XSetWMName"),
182 makeSymbolBinding (xSetWMNormalHints,
"XSetWMNormalHints"),
183 makeSymbolBinding (xStringListToTextProperty,
"XStringListToTextProperty"),
184 makeSymbolBinding (xSync,
"XSync"),
185 makeSymbolBinding (xSynchronize,
"XSynchronize"),
186 makeSymbolBinding (xTranslateCoordinates,
"XTranslateCoordinates"),
187 makeSymbolBinding (xrmUniqueQuark,
"XrmUniqueQuark"),
188 makeSymbolBinding (xUngrabPointer,
"XUngrabPointer"),
189 makeSymbolBinding (xUngrabServer,
"XUngrabServer"),
190 makeSymbolBinding (xUnlockDisplay,
"XUnlockDisplay"),
191 makeSymbolBinding (xUnmapWindow,
"XUnmapWindow"),
192 makeSymbolBinding (xutf8TextListToTextProperty,
"Xutf8TextListToTextProperty"),
193 makeSymbolBinding (xWarpPointer,
"XWarpPointer")))
202 #if JUCE_USE_XINERAMA
225 loadSymbols (xLib, xextLib,
#define JUCE_IMPLEMENT_SINGLETON(Classname)
This is a counterpart to the JUCE_DECLARE_SINGLETON macros.
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...