Projet Boîte à Outils Graphique et d'InteractionL'objectif de ce projet est de mettre en oeuvre les concepts nécessaires à la création de boîtes à outils logicielles graphiques et d'interaction. Ce qui est demandéUne boîte à outils graphiqueVous devez réaliser une boîte à outils graphique qui utilise la bibliothèque Ada/SDL et qui offre au minimum les services spécifiés dans le fichier "gr_shapes.ads" de cette bibliothèque (i.e. vous devez fournir la réalisation gr_shapes.adb, et tout package dont dépendra cette réalisation). Ces services incluent :
Vous devez également fournir un service de picking qui sera défini en cours et qui n'est pas spécifié dans "gr_shapes.ads". Vous pouvez bien sûr étendre les services offerts au delà de ce qui est proposé dans gr_shapes.ads, mais sans modifier gr_shapes.ads: toute extension doit se faire dans vos propres packages. Les seuls fichiers de la bibliothèque Ada/SDL que vous pouvez modifier sont les makefiles (et le projet XCode), et le fichier ada_sdl_main.adb. Un interacteur : une ToolglassVous devez réaliser une Toolglass ("widget", en anglais). Les terminaux de l'école n'étant pas équipés de souris USB, il n'est pas possible de gérer plusieurs souris. Le contrôle de la position de Toolglass par la main non dominante doit donc être émulé de deux façons différentes :
Vous pouvez utiliser les services offerts par "ada_manymouse.ads" pour gérer plusieurs souris sur les ordinateurs équipés de souris USB. Une application de dessin utilisant la ToolglassVous devez réaliser une application permettant le dessin "vectoriel", cette application doit offrir les services suivants :
OrganisationLe projet se fait par groupe de 3 étudiants. La gestion des groupes et des délivrables se fait avec l'application TEIDE. Un planning indicatif vous est donné pour vous aider à gérer votre temps. Chaque groupe doit fournir, avant la date limite (définie dans TEIDE) :
Le code doit être uniquement en langage Ada. En particulier, il n'est pas autorisé à faire appel à d'autres fonctions de SDL ou de toute autre bibliothèque, hormis les fonctions proposées par Ada/SDL. ÉvaluationLe projet est évalué selon les critères suivants (par ordre d'importance décroissante) :
|