Bonjour
J'ai un petit problème avec une fonction d'OpenGL (de la librairie GLUT plus précisement). Il s'agit de la fonction glutMouseFunc() qui permet de spécifier en paramètre la fonction à appeller lorsqu'un bouton de la souris est pressé ou relaché.
Le prototype de la fonction est le suivant :
1 2
|
void glutMouseFunc(void (*func)(int button, int state, int x, int y)); |
Elle prend donc en argument un pointeur vers une fonction.
J'aimerais par exemple que lorsque qu'un bouton de la souris est pressé, la fonction move() d'une classe Interaction soit appellée.
Si ma méthode move() est une méthode statique, je n'ai pas de problème, il me suffit de faire :
glutMouseFunc(Interaction::mouse);
et cela marche. Mais je n'aimerais pas que ma fonction mouse soit statique et dans ce cas je ne vois pas trop comment faire pour que cela marche. Faut-il utiliser un pointeur de fonction ? Quelqu'un aurait une idée comment faire et aussi m'expliquer pourquoi cela marche en statique mais pas autrement.
Merci d'avance de votre aide.
Partager