Je dois créer une application capable de modifier le comportement de la souris sous OpenGL, pour ça j'ai utilisé la bibliothèque de GLUT qui me semblait proposer tous les outils necessaires à savoir détection d'un évenement souris (avec glutPassiveMotionFunc) et Possibilité de repositionné le pointeur. Cependant je n'avais pas pensé que glutWarpPointer une fois appliqué était lui aussi considérer comme un événement souris ... Enfin c'est ce que j'ai compris en voyant mon application en marche. Si j'ai bien compris le déroulement le fonctionnement, le programme ne fait rien tant qu'il n'y a pas d'événement, donc effectivement quand je bouge la souris il appelle la fonction que j'ai appelé Motion associé à glutPassiveMotionFunc. Le problème étant que lorsque j'utilise glutWarpPointer dans motion, eh bien je ne sais pas pourquoi mais il relance Motion éternellement ... je pense donc qu'il considère glutWarpPointer comme un évenement souris. J'aimerai un moyen de pallier à ce problème ... ou une autre méthode ... en gros ce que je veux faire : à chaque fois qu'il y a un évenement souris je veux pouvoir déplacer le curseur sans qu'il relance la fonction que j'ai appelé Motion.
PS : Je ne suis pas sur de où on a le droit de placer glutWarpPointer ... enfin voilà et vu la taille de la définition (2 lignes ... je ne sais pas trop quoi en penser)
Marsh Posté le 28-05-2008 à 12:42:17
Bonjour à tous et à toutes,
Je dois créer une application capable de modifier le comportement de la souris sous OpenGL, pour ça j'ai utilisé la bibliothèque de GLUT qui me semblait proposer tous les outils necessaires à savoir détection d'un évenement souris (avec glutPassiveMotionFunc) et Possibilité de repositionné le pointeur. Cependant je n'avais pas pensé que glutWarpPointer une fois appliqué était lui aussi considérer comme un événement souris ... Enfin c'est ce que j'ai compris en voyant mon application en marche. Si j'ai bien compris le déroulement le fonctionnement, le programme ne fait rien tant qu'il n'y a pas d'événement, donc effectivement quand je bouge la souris il appelle la fonction que j'ai appelé Motion associé à glutPassiveMotionFunc. Le problème étant que lorsque j'utilise glutWarpPointer dans motion, eh bien je ne sais pas pourquoi mais il relance Motion éternellement ... je pense donc qu'il considère glutWarpPointer comme un évenement souris. J'aimerai un moyen de pallier à ce problème ... ou une autre méthode ... en gros ce que je veux faire : à chaque fois qu'il y a un évenement souris je veux pouvoir déplacer le curseur sans qu'il relance la fonction que j'ai appelé Motion.
PS : Je ne suis pas sur de où on a le droit de placer glutWarpPointer ... enfin voilà et vu la taille de la définition (2 lignes ... je ne sais pas trop quoi en penser)