1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| #include <X11/Xlib.h> #include <iostream>
int main() { Display* dpy; dpy = XOpenDisplay(NULL); std::cout << std::endl; if (dpy == NULL) { std::cout << "Error: could not open display"; return 0; } else { std::cout << "Success!"; } int blackColor = BlackPixel(dpy, DefaultScreen(dpy)); int whiteColor = WhitePixel(dpy, DefaultScreen(dpy)); Window w = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0, 200, 100, 0, whiteColor, blackColor); XSelectInput(dpy, w, StructureNotifyMask); XMapWindow(dpy, w); GC gc = XCreateGC(dpy, w, 0, NULL); XSetForeground(dpy, gc, whiteColor); while(true) { XEvent e; XNextEvent(dpy, &e); if (e.type == MapNotify) { break; } } XDrawLine(dpy, w, gc, 10, 60, 10, 0); XFlush(dpy); while(true) { XEvent e; XNextEvent(dpy, &e); if (e.type == DestroyNotify) { break; } } std::cout << std::endl << std::endl; return 0; }
|