structure générale d'un programme X :
1. établissement d'une connexion à un serveur X,
2. initialisation/création des fenêtres et autres ressources,
3. boucle d'attente et traitement des évènements,
4. fermeture des ressources (y'en pas dans essaiX20.c)
Fonctionnement de ce programme:
GC : graphic context, contexte graphique, "trousse pour dessiner, écrire,
..."
Display : canal d'affichage
screen : numéro d'écran
Window : type fenêtre
root : fenêtre racine
pixel : blanc/noir (sans se soucier du mode graphique)
win = XCreateSimpleWindow (display, root,
0, 0, 100, 90, 2, black_pixel, white_pixel);
crée une nouvelle fenêtre win(fille de root), mais ne l'affiche
pas !
Le coin gauche de la fenêtre win sera en coordonnées (0,0)
par rapport au coin haut-gauche de la fenêtre root.
La nouvelle fenêtre aura une largeur de 100 points et une hauteur
de 90 points, sa couleur de fond sera black_pixel. Autour d'elle, une bordure
de 2 points de large et de couleur white_pixel.
XSelectInput (display, win, ExposureMask)
sélectionne l'événement Expose pour la fenêtre
win.
ExposureMask est le masque de sélection de l'événement
Expose.
XStoreName
facultatif ! indique au gestionnaire de fenêtre le nom que l'on souhaite
donner à celle-ci.
XMapWindow
affiche la fenêtre (mais elle peut être recouverte partiellement
ou totalement par une autre). Ses caractéristiques peuvent être
modifiées par le gestionnaire de fenêtre, notamment x et y.
XNextEvent
fournit le prochain événement de la file d'attente, ou l'attend
si elle est vide.
Expose est le type d'événement signifiant que tout ou une partie de la fenêtre est visible (exposé !).
XDrawString (display, win, gc, 10, 30, "Bienvenue sous X !",
18);
dessine les 18 caractères de la chaine "Bienvenue .." selon
les caractéristiques de la ressource gc sur la ligne d'écriture
commencant en (10,30) de la fenêtre.
programme premier.c | index général | fonctions de la XLib | événements | types dans XLib |