:: Enseignements :: Ressources Communes :: LibMlV ::
[LOGO]

Utilisation de la bibliothèque graphique libMlv 1.1


Remarque: Vérifier tout d'abord que le script de compilation compi_c soit dans le répertoire où se situent les fichiers à compiler ou que son répertoire soit dans la variable d'environnement PATH (si ce n'est pas le cas, consulter la procédure d'installation de la librairie).

Le but de cette bibliothèque est de proposer une utilisation plus aisée de la Xlib, librairie C de base pour la programmation dans l'environnement graphique du serveur X. Un fichier de demonstration et de test test.c permet de verifier que le script de compilation fonctionne correctement et d'avoir un aperçu des possibilités offertes par la librairie. La suite de ce document présente les étapes de base à réaliser afin d'utiliser la librairie. La liste des fonctions disponibles avec leur prototype (type des differents arguments). On donne ici un fichier rgb.txt contenant le code RVB (Rouge Vert Bleu) des couleurs utilisables.

Inclusion des fichiers d'en-tête

Le début du fichier C doit contenir l'inclusion des headers suivants:

Remarque: même si la librairie libMlv n'est pas installée dans le répertoire /usr/local ou le répertoire par defaut des bibliothèques C, la syntaxe précédente fonctionne. En effet les chemins des répertoires où se trouvent les fichiers libMlv.a (la librairie elle-même) ainsi que les trois headers précédents sont spécifiés dans le script de compilation.

Elements de base à incorporer dans le fichier C

  1. Il faut commencer par déclarer la variable x_var de type MlvType. Le type de cette variable est une structure qui représente une fenêtre dans l'environnement graphique. Il faudra la passer par adresse dans chacune des fonctions de la librairie agissant sur cette fenêtre. Si on veut afficher deux fenêtres graphiques, il faut déclarer une autre variable du type MlvType.
  2. La création d'une fenêtre graphique s'effectue à l'aide de la fonction create_window dont l'argument de type MlvType est la variable x_var précédente.
  3. Les traçages de lignes, de rectangles, récupération du clic de la souris et autres manipulations graphiques se font à l'aide des fonctions de la librairie dont les prototypes sont donnés dans la suite de ce document.
  4. Pour afficher explicitement la fenêtre dans l'environnement graphique, il faut utiliser la fonction display_window qui prend en unique argument la variable x_var correspondant à la fenêtre à afficher.

Compilation des programmes utilisant la bibliothèque graphique

  1. Compilation d'un seul fichier toto.c: compi_c toto.c ou (./compi_c toto_c si le script de compilation est dans le répertoire de travail). Le fichier compilé aura toujours le nom a.out
  2. Compilation séparée de plusieurs fichiers toto_1.c toto_2.c ... toto_n.c : compi_c toto_1.c toto_2.c ...toto_n.c ou (./compi_c toto_1.c toto_2.c ... toto_n.c si le script de compilation est dans le répertoire de travail). De même le fichier compilé aura pour nom a.out
Il est possible de changer le nom de l'executable produit en éditant le script compi_c et en rajoutant l'option -o nom_exec (où nom_exec est le nom voulu pour l'executable) dans la commande de compilation.

Prototype des fonctions graphiques proposées dans la librairie (contenu du fichier MlvProcC.h)

Limitations de la libMlv 1.1 et bug identifiés

L'affichage dans la fenêtre graphique issue de la bibliothèque libMlv disparait définitivement lorsque une autre fenêtre la masque (même partiellement), en effet la bibliothèque ne gère pas les interruptions. Ainsi il est de même impossible de créer une animation en attendant que l'utilisateur effectue une action.