:: Enseignements :: Ressources Communes :: LibMlV ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | 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
- 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.
- 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.
- 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.
- 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
- 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
- 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.
© Université de Marne-la-Vallée