![]()
![]()
![]()
![]()
![]()
Next: Fenêtre Up: Primitives Graphiques Previous: Primitives Graphiques   Contents   Index
Introduction La bibliothèque graphique d'OpenScheme est un ensemble de fonctions primitives gérant l'affichage graphique.
Ces fonctions s'appuient sur le système graphique existant, que se soit X11 pour les systèmes Unix, Windows, BeOS ou Machintoch.
Contrairement aux autres environnements Scheme, Universitaires ou commerciaux, OpenScheme repose donc sur sa propre bibliothèque de primitives. Les autres environnements ont choisi TK (couche graphique de TCL/TK), wxWindow ou s'interfacent directement avec le système d'exploitation.
La bibliothèque de base présentée ici est conçue entièrement par Erian Concept, comme la totalité de l'environnement. Elle est écrite en C dont une partie du code est dépendante du système et l'autre non. Elle se présente sous la forme d'un module (code chargeable séparément et dynamiquement) de manière à n'utiliser la bibliothèque que lorsque cela est nécessaire.
Ce module est appelé OpenScheme toolKit ou OK. Les fonctionnalités offertes sont primitives : par exemple, OK ne permet pas de dessiner un bouton graphique. Il ne connaît que la fenêtre dans sa plus simple expression, c'est à dire un rectangle que l'on peut manipuler et auquel il est possible d'attacher des gestionnaires d'événements.
Bien que primitive, OK n'est pas en reste au niveau des performances. Il permet par exemple de définir un angle pour les fonctions de dessin. On peut ainsi écrire du texte à 45 degrés. Un moteur 3D est en cours de développement : il permettra de manipuler des formes en trois dimensions et de les animer, sans vouloir concurrencer les moteurs existants comme OpenGL. Ce moteur est déjà utilisable dans la dernière version d'OpenScheme sur le site
www.open-scheme.com. Le support des polices vectorielles est en cours et sera utilisable dans une prochaine version. La particularité des polices de caractères est quelles utiliseront une syntaxe Scheme !La couche haute de la bibliothèque graphique est un autre module appelé OOK pour Object Oriented OpenScheme ToolKit. Comme son nom l'indique, c'est une bibliothèque de classes offrant les éléments graphiques usuels, comme les boutons, les menus, les zones d'édition. La programmation de cette bibliothèque repose entièrement sur la programmation orientée objet en Scheme qui se prête particulièrement bien à ce genre d'exercice. Dans un prochain chapitre, nous concevrons un mini système d'objets graphiques en utilisant OpenScheme et OK. Le lecteur se rendra compte à quel point la programmation en Scheme est efficace, tant au niveau de la clarté du code que des performances.
L'un des avantages de la solution retenue dans OpenScheme est de permettre une programmation entièrement objet de la bibliothèque graphique de haut niveau, en utilisant des fonctionnalités initiales primitives.
De plus, seule une partie du module OK est dépendante du système d'exploitation et nécessite un portage. Le reste du code ainsi que le module OOK sont indépendants. Nous prévoyons ainsi de créer un plugin pour les navigateurs NetScape et InternetExplorer : notre effort de programmation ne va porter que sur l'interfaçage de OK avec le navigateur, car le reste du code reste complètement indépendant. Cette souplesse se retrouve dans tout l'environnement OpenScheme, conçu dès le départ pour être portable et modulaire.
Nous allons commencer la description de OK par ce qui est visible, c'est à dire la fenêtre affichable à l'écran.
![]()
![]()
![]()
![]()
![]()
Next: Fenêtre Up: Primitives Graphiques Previous: Primitives Graphiques   Contents   Index © 1993 to 2001 Erian Concept