Rappel sur la boucle des événements : Gestion des événements clavier et souris

(Extrait du cours de Chrstian Jacquemin (http://www.limsi.fr/Individu/jacquemi/)

Le programme opengl-boucle-evt1.cpp fournit des sorties dans le cas de la réception des événemts suivants :

Exemple d´exécution

On exécute le programme opengl-boucle-evt1.cpp On effectue ensuite les actions suivantes :

Analyse du code

Le programme principal contient la boucle prinicipale de gestion des événements utilisateur (librairie GLUT).

glutMainLoop();

Définition de trois fonctions de call-back

Trois fonctions de call-back sont enregistrées pour capturer et traiter ces événements :

Exemple de fonction de call-back : gestion d´une touche ordinaire

Un choix selon la valeur de la touche pressée.
Voir le fichier glut.h pour la liste des codes de touches spéciales et de leurs modifieurs éventuels (à éviter ...).

GLvoid window_key(unsigned char key, int x, int y) {
switch (key) {
case KEY_ESC:
exit(1);
break;
case 'a': case 'A':
printf ("Touche 'a'\n");
break;
default: printf ("La touche %d n'est pas active.\n", key);
break;
}
}