3#if defined( __linux__ )
5Cogs::X11Module& Cogs::X11Module::instance() {
6 static X11Module m = load<X11Module>(
"libX11.so");
11void Cogs::X11Module::initPtrs() {
12 getProcAddress(XInitThreads,
"XInitThreads");
14 getProcAddress(XOpenDisplayFn,
"XOpenDisplay");
15 getProcAddress(XCloseDisplayFn,
"XCloseDisplay");
17 getProcAddress(XCreateWindow,
"XCreateWindow");
18 getProcAddress(XDestroyWindow,
"XDestroyWindow");
19 getProcAddress(XMapWindow,
"XMapWindow");
20 getProcAddress(XUnmapWindow,
"XUnmapWindow");
21 getProcAddress(XIconifyWindow,
"XIconifyWindow");
22 getProcAddress(XMoveWindow,
"XMoveWindow");
23 getProcAddress(XResizeWindow,
"XResizeWindow");
24 getProcAddress(XGetWindowAttributes,
"XGetWindowAttributes");
25 getProcAddress(XGetWindowProperty,
"XGetWindowProperty");
26 getProcAddress(XQueryTree,
"XQueryTree");
28 getProcAddress(XCreateColormap,
"XCreateColormap");
29 getProcAddress(XFreeColormap,
"XFreeColormap");
31 getProcAddress(XPending,
"XPending");
32 getProcAddress(XSendEvent,
"XSendEvent");
33 getProcAddress(XNextEvent,
"XNextEvent");
34 getProcAddress(XFilterEvent,
"XFilterEvent");
36 getProcAddress(XSync,
"XSync");
37 getProcAddress(XFree,
"XFree");
39 getProcAddress(XInternAtom,
"XInternAtom");
40 getProcAddress(XStoreName,
"XStoreName");
42 getProcAddress(XScreenNumberOfScreen,
"XScreenNumberOfScreen");
44 getProcAddress(XkbKeycodeToKeysym,
"XkbKeycodeToKeysym");
45 getProcAddress(XSetWMProtocols,
"XSetWMProtocols");
46 getProcAddress(XSelectInput,
"XSelectInput");
47 getProcAddress(XRefreshKeyboardMapping,
"XRefreshKeyboardMapping");
48 getProcAddress(XOpenIM,
"XOpenIM");
49 getProcAddress(XCloseIM,
"XCloseIM");
50 getProcAddress(XGetIMValues,
"XGetIMValues");
51 getProcAddress(XCreateIC,
"XCreateIC");
52 getProcAddress(XDestroyIC,
"XDestroyIC");
53 getProcAddress(XSetICFocus,
"XSetICFocus");
54 getProcAddress(Xutf8LookupString,
"Xutf8LookupString");
55 getProcAddress(XSupportsLocale,
"XSupportsLocale");
56 getProcAddress(XSetLocaleModifiers,
"XSetLocaleModifiers");
58 getProcAddress(XSetSelectionOwner,
"XSetSelectionOwner");
59 getProcAddress(XGetSelectionOwner,
"XGetSelectionOwner");
60 getProcAddress(XConvertSelection,
"XConvertSelection");
62 getProcAddress(XChangeProperty,
"XChangeProperty");
63 getProcAddress(XDeleteProperty,
"XDeleteProperty");
66Display* Cogs::X11Module::XOpenDisplay(
const char* displayName) {
67 const char* mapName = displayName ? displayName :
"";
68 auto i = cachedDisplays.find(mapName);
70 if (i != cachedDisplays.end()) {
74 Display* display = XOpenDisplayFn(displayName);
77 cachedDisplays[mapName] = display;