Xlib: Introduction


Généralités :

La Xlib réalise l'interfaçage entre le protocole X et les applications X.

Le protocole X est le seul langage compréhensible par le serveur X.

Exemples de tâches réalisées par des fonctions de la Xlib :

Vocabulaire incontournable :

Quand on développe sous Xlib, la documentation fait très souvent référence aux objets suivants :

Display
Cette structure est utilisée par (presque) toutes les fonctions de la Xlib, en premier paramètre. Elle contient les informations concernant le serveur et ses différents écrans.

Drawable
On appelle Drawable un objet Xlib dans lequel on peut dessiner. En d'autres termes, un Drawable est un identificateur vers une structure qui va contenir des graphiques :
Window
Une partie de l'écran.
Pixmap
Une zone de stockage de graphiques en mémoire.
Screen
Informations concernant un écran du Display. Le plus souvent, un Display possède un seul écran, la Root Window. Mais on peut configurer le serveur pour gérer plusieurs écrans.

Graphic Context (GC)
Pour dessiner il est nécessaire de spécifier des choses telles que la largeur du trait, si l'on veut tracer des lignes en trait plein ou en pointillés, la couleur, les patterns pour le remplissage des formes géométriques, etc... Avec la Xlib, on passe ces informations aux fonctions de dessin grace à une structure de type GC. Une telle structure doir être crée et initialisée avant l'appel des fonctions de dessin. Plusieurs structures de ce type peuvent être crées, rendant le dessin dans différents styles simple à réaliser.

Depth
Nombre de bits par pixels. Si Depth=8, alors on peut dessiner en 256 couleurs (2 puissance 8)

Visual
Cette structure détermine la manière dont un Display gère les sorties sur écran, en particulier la couleur. Elle dépend du nombre de bits par pixels (Depth).

Conventions concernant les fonctions Xlib :

Les fichiers à inclure :

Les programmes utilisant les fonctions de la Xlib doivent inclure :

#include <X11/Xlib.h>
#include <X11/Xutil.h>

Compiler un programme qui utilise lles fonctions de la Xlib :


michel.buffa@essi.fr