/****************************************************************************/
/*  Nom du fichier    : SpiderUser.h                                        */
/*                                                                          */
/*  Auteur(s)         : Philippe Girardet, de l'Ecole d'ingenieurs du       */
/*                      canton de Vaud (eivd).                              */
/*                                                                          */
/*  A l'aide des                                                            */
/*  travaux de        : L.Righetti, G.Corba, P.Breguet, P.Girardet,         */
/*                      M.Salamin, A.Jossevel, H.Roethlisberger             */
/*                      de l'Ecole d'ingenieurs du canton de Vaud (eivd)    */
/*                                                                          */
/*  Version           : 3.0                                                 */
/*  Date de creation  : 31 mars 2000                                        */
/*                                                                          */
/*  But               : Outils minimum de gestion du clavier et de la       */
/*                      souris completant Spider.                           */
/*                                                                          */
/*  Date de modif.    :                                                     */
/*  Raison            :                                                     */
/*                                                                          */
/*                                                                          */
/*  Modules appeles   : Spider.h et dependant de l'implementation           */
/*  Mat. particulier  : Dependant de l'implementation                       */
/*                                                                          */
/*  Compilation       : Dependant de l'implementation                  .    */
/*  Edition de liens  : Dependant de l'implementation                       */
/*                                                                          */
/****************************************************************************/


/* ATTENTION : Pour l'implementation UNIX (XWindows) plusieurs procedures   */
/*             ou fonctions de la librairie Spider envoient des requetes    */
/*             au serveur X actif, mais leur terminaison ne signifie pas    */
/*             que la ou les requêtes ont abouti.                           */

/* Remarque: Attention la barre de titre de la fenetre fait partie de la    */
/*           zone couverte par le systeme d'axes                            */

#include "Spider.h"

namespace Spider
{
  namespace User
  {
    /*--------------------------------------------------------------------------*/
    /* Nom     : delay                                                          */
    /* But     : Suspendre le programme durant un temps determine               */
    /* Entrees : - delayTime: Duree en ms pendant laquelle il faut suspendre    */
    /*             l'execution du programme                                     */
    /* Sorties : -                                                              */
    /*--------------------------------------------------------------------------*/
    extern "C" void delay(int delayTime);

    /*--------------------------------------------------------------------------*/
    /* Nom     : keyPressed                                                     */
    /* But     : Lire un caractere au clavier.                                  */
    /* Entrees : - Item: Le caractere qui a ete lu au clavier                   */
    /* Sorties : - Vrai si un caractere a pu etre lu au clavier.                */
    /*--------------------------------------------------------------------------*/
    extern "C" bool keyPressed(char *Item);

    /*--------------------------------------------------------------------------*/
    /* Nom     : beep                                                           */
    /* But     : faire entendre un son "beep"                                   */
    /* Entrees : -                                                              */
    /* Sorties : -                                                              */
    /*--------------------------------------------------------------------------*/
    extern "C" void beep(void);

    /*--------------------------------------------------------------------------*/
    /* Nom     : leftClic                                                       */
    /* But     : verifie si le bouton de gauche de la souris est presse.        */
    /* Entrees : - x1: Position (absolue) en X du curseur associe a la souris.  */
    /*           - y1: Position (absolue) en Y du curseur associe a la souris   */
    /* Sorties : - Vrai si le bouton de gauche de la souris est presse          */
    /*--------------------------------------------------------------------------*/
    extern "C" bool leftClic(int &x1, int &y1);

    /*--------------------------------------------------------------------------*/
    /* Nom     : rightClic                                                      */
    /* But     : verifie si le bouton de droite de la souris est presse.        */
    /* Entrees : - x1: Position (absolue) en X du curseur associe a la souris.  */
    /*           - y1: Position (absolue) en Y du curseur associe a la souris   */
    /* Sorties : - Vrai si le bouton de droite de la souris est presse          */
    /*--------------------------------------------------------------------------*/
    extern "C" bool rightClic(int &x1, int &y1);

    /*--------------------------------------------------------------------------*/
    /* Nom     : mouse                                                          */
    /* But     : Lire la position de la souris                                  */
    /* Entrees : - x1: Position (absolue) en X du curseur associe a la souris.  */
    /*           - y1: Position (absolue) en Y du curseur associe a la souris.  */
    /* Sorties : -                                                              */
    /*--------------------------------------------------------------------------*/
    extern "C" void mouse(int &x1, int &y1);
  };
};

