Correction de debogue.c
/* programme synchonise pour de-boguage */
#include <stdio.h>
#include <X11/Xlib.h>
GC gc;
Display *display;
int screen;
Window win, wim, root;
unsigned long white_pixel, black_pixel;
main() {
if ((display = XOpenDisplay ("")) == NULL) {
fprintf (stderr, "Can't open Display\n");
exit (1);
}
gc = DefaultGC (display, screen);
XSynchronize (display, 1);
screen = DefaultScreen (display);
root = RootWindow (display, screen);
white_pixel = WhitePixel (display, screen);
black_pixel = BlackPixel (display, screen);
win = XCreateSimpleWindow (display, root,
0, 0, 200, 150, 2, black_pixel, white_pixel);
XSelectInput (display, win, ExposureMask | ButtonPressMask);
XStoreName (display, win, "debogue");
XMapWindow (display, win);
for (;;) {
XEvent ev;
XNextEvent (display, &ev);
switch (ev.type) {
case Expose :
XDrawString (display, win, gc, 10, 30, "coucou !", 8);
break;
case ButtonPress :
if( (ev.xbutton.x + ev.xbutton.y)%4 == 0) {
write(1, "a", 1);
XDrawString (display, win, gc, ev.xbutton.x, ev.xbutton.y, "ici", 3);
write(1, "b", 1);
XDrawString (display, win, gc, ev.xbutton.x +30, ev.xbutton.y, "la",2);
write(1, "c", 1);
} else {
write(1, "d", 1);
XDrawString (display, win, gc, ev.xbutton.x, ev.xbutton.y, "ici", 3);
write(1, "e", 1);
XDrawString (display, wim, gc, ev.xbutton.x +30, ev.xbutton.y, "la",2);
write(1, "f", 1);
};
break;
default :
break;
}
}
}