ARVMouse

De Ensiwiki
Aller à : navigation, rechercher

Principe

Le but de cette classe est de faciliter la récupération de l'état de la souris. Elle permet donc d'obtenir la position du curseur ainsi que l'état des différents boutons (enfoncés ou relachés).

Arv-souris.jpg

Logiciel

le code qui sert à récupérer l'état de la souris se trouve dans SOURCE/LOWLEVEL/INTERFACE/MOUSE. Il s'agit de la classe ARVMouse.

Son fonctionnement pourrait etre résumé dans cette boucle:

 //création de la stucture correspondant à la souris.
 ARVMouseStruct mouse=ARVMouse_New();
 
 //initialisation de la souris.
 ARVMouse_Init(mouse);
 
 //démarrage de l'aquisition au niveau de la souris.
 ARVMouse_Start(mouse);
 
 //boucle d'aquisition.
 while(aquisition){
 
       int pos[2];
       bool button[3];
 
       //mise a jour de la structure correspondant à la souris.
       ARVMouse_Update(mouse);
 
       //les différentes possibiltés d'obtenir les différents paramètres
       //caractérisant l'état de la souris.
       //charge dans pos la position (x,y) de la souris.
       ARVMouse_GetPos(mouse,pos);
 
       //pour chaque bouton i,
       //la fonction met button[i] à 1, si le bouton est pressé,
       //0, sinon.
       ARVMouse_GetButton(mouse,button);
       
       //fait simultanément le travail des deux fonctions précédentes.
       ARVMouse_GetPosButton(mouse,pos,button);
       
       //renvoie 1 si le bouton numButton est pressé, 0 sinon.
       int buttonState = ARVMouse_GetOneButton(mouse, numButton);
       
       //renvoie true si le bouton numButton est pressé.
       bool pressed = ARVMouse_IsButtonPressed(mouse, numButton);
       
       //renvoie true si le bouton numButton est relaché.
       bool released = ARVMouse_IsButtonReleased(mouse, numButton);
       
 }
 
 //arret de l'aquisition des données.
 ARVMouse_Stop(mouse);
 
 //fermeture total de l'aquisition des données.
 ARVMouse_Close(mouse);

Exemples

Deux exemples pouvant servir de base à de futurs projets sont disponibles dans le répertoire /SOURCE/LOWLEVEL/INTERFACE/MOUSE:

  • ARVMouseTest permet de tester la connexion à la souris et d'afficher l'évolution de son état durant un certain temps.
  • ARVMouseGLTest consiste en une application utilisant un contexte OpenGl où un cube peut être déplacé à l'aide de la souris et sa couleur changée en fonction de l'utilisation des boutons.