Page d'accueil | Description du projet |
Quand j'ai commencé à développer, j'utilisais TurboPascal. J'avais donc à ma disposition de superbes capacités graphiques : 640x480 et 16 couleurs. Plus tard, j'ai découvert CAML, avec sa fenêtre graphique sous Windows. Alors quand j'ai eu le travail sur les matrices QR à réaliser en Ada, j'ai cherché ce qui existait pour faire quelques affichages simples sous UNIX et pour Ada. Le but n'était pas (et n'est toujours pas) de gérer des boutons, des files d'événements, etc... (pour ça, il y a gtk, motif...) mais de pouvoir afficher des cercles et des points sans me prendre la tête. Mais comme je n'ai rien trouvé, j'ai développé quelque chose qui réponde à mes besoins. C'est cet ensemble de bibliothèques. Les "*.h" sont abondamment commentés : l'utilisation ne devrait pas poser de problème.
J'ai donc choisi d'utiliser directement X11 pour gérer une seule fenêtre et fournir des primitives simples (sans contexte graphique...). Ceci ne pouvait être fait qu'en C. Il en résulte donc la version C de la bibliothèque. Je l'ai ensuite interfacée avec Ada (--> Version Ada). Et puis je me suis dit qu'on pouvait garder le même concept de simplicité et gérer plusieurs fenêtres en C++. D'où la version C++.
Les fonctions ont le même nom et le même fonctionnement dans les trois bibliothèques. Cependant, sur la version C++, toutes les actions de dessins se font en mémoire et ne sont affichées qu'après l'appel à "DisplayDrawingScreen".
Le redimensionnement des fenêtres n'est pas géré. Ça ne plante pas mais la fenêtre initiale est reproduite de façon à remplir la fenêtre étendue.
Je peux difficilement illustrer le fonctionnement de cette bibliothèque sur une page web. La meilleur façon de le faire est sans doute de télécharger les sources et de lancer le "make test". Cependant, voici deux images que j'obtiens sur ma machine avec la bibliothèque C++ (Affichage de données laser).
> tar zxf <Nom Archive>.tgz > cd <Nom Archive> > make > make test