/* createw.c */ /* XCreateWindow et autre cursor */ #include <stdio.h> #include <X11/Xlib.h> #include <X11/Xutil.h> #include <X11/cursorfont.h> GC gc; Display *display; int screen; Window win, root; unsigned long white_pixel, black_pixel; XSetWindowAttributes attributs; unsigned long masque_valeur; main() { if ((display = XOpenDisplay ("")) == NULL) { fprintf (stderr, "Can't open Display\n"); exit (1); } gc = DefaultGC (display, screen); screen = DefaultScreen (display); root = RootWindow (display, screen); white_pixel = WhitePixel (display, screen); black_pixel = BlackPixel (display, screen); masque_valeur = 0; attributs.background_pixel = black_pixel; masque_valeur |= CWBackPixel; attributs.border_pixel = white_pixel; masque_valeur |= CWBorderPixel; attributs.cursor = XCreateFontCursor(display, XC_gumby); masque_valeur |= CWCursor; win = XCreateWindow (display, root, 200, 300, 200, 200, 10, CopyFromParent, InputOutput, CopyFromParent, masque_valeur, &attributs); XStoreName(display, win, "createw"); XSelectInput (display, win, ExposureMask); XMapWindow (display, win); for (;;) { XEvent ev; XNextEvent (display, &ev); switch (ev.type) { case Expose : break; default : break; } } }
Regardez le curseur dans et hors de la fenêtre.
X11/cursorfont.h : les curseurs standards
XC_X_cursor le fameux X
XC_arrow la flèche "normale" qui pointe en haut
à droite
XC_gumby le petit bonhomme
XCreateFontCursor crée un curseur en utilisant les caractéristiques codées dans cursorfont.h.
XCreateWindow fonctionne comme XCreateSimpleWindow, mais en précisant plus d'attributs dans la structure XsetWindowAttributes.
Ce programme change de curseur selon que vous cliquez dans la moitié haute ou basse de sa fenêtre. Utilisez pour ce faire XDefineCursor qui permet de changer de curseur courant pour une fenêtre.
programme suivant | index général | fonctions de la XLib | événements | types dans XLib |