------------------------------------------------------------------------------
--                                                                          --
--  Nom du fichier    : Spider-User.adb                                            --
--                                                                          --
--  Auteur(s)         : SALAMIN Michel / Assistant HEV                      --
--                      Ecole d'ingenieurs du canton de Vaud (EIVD)         --
--                                                                          --
--  Date de creation  : 20 avril 2000                                       --
--                                                                          --
--  But               : Mettre a disposition les fonctions permettant de:   --
--                      - gerer la souris dans la fenetre graphique         --
--                      - gerer le clavier lorsque la fenetre graphique     --
--                        est active                                        --
--                                                                          --
--  Date de modif.    :                                                     --
--  Raison            :                                                     --
--                                                                          --
--  Modules appeles   :                                                     --
--  Mat. particulier  : Graphmin.dll                                        --
--                                                                          --
--  Compilateur       :  ADA GNAT                                                   --
--                                                                          --
------------------------------------------------------------------------------



package body Spider.User is



  procedure ADA_Delay_Time(Delay_Time : in Integer);
  
  pragma import(C,ADA_Delay_Time,"ADA_delay");
  
  procedure Sleep(Delay_Time : in Integer) is
  begin
    ADA_Delay_Time(Delay_Time);
  end Sleep;



  procedure ADA_keyPressed(Key  : out Integer;
                           Item : out Character;
                           Err  : out Natural);

  pragma import(C,ADA_keyPressed,"ADA_keyPressed");

  procedure key_Pressed(Item : out Character;
                        Key  : out Boolean) is
      ADA_Key : Integer;
      Err     : Integer;
  begin
    ADA_keyPressed(ADA_Key,Item,Err);
    
    if Err /= 0 then
      Traiter_Erreur(Err);
    end if;
    
    if ADA_Key = 0 then
      Key := false;
    else
      Key := true;
    end if;
  end key_Pressed;




  procedure ADA_beep;

  pragma import(C,ADA_beep,"ADA_beep");

  procedure Beep is
  begin
    ADA_beep;
  end Beep;



  procedure ADA_leftClic(Clic : out Integer;
                         X1   : out Natural;
                         Y1   : out Natural;
                         Err  : out Natural);

  pragma import(C,ADA_leftClic,"ADA_leftClic");
  
  procedure Left_Clic(X1   : out Natural;
                      Y1   : out Natural;
                      Clic : out Boolean) is
    ADA_Clic : Integer;
    Err      : Natural;
  begin
    ADA_leftClic(ADA_Clic,X1,Y1,Err);
    
    if Err /= 0 then
      Traiter_Erreur(Err);
    end if;
    
    if ADA_Clic = 0 then
      Clic := false;
    else
      Clic := true;
    end if;
  end Left_Clic;



  procedure ADA_Right_Clic(Clic : out Integer;
                           X1   : out Natural;
                           Y1   : out Natural;
                           Err  : out Natural);

  pragma import(C,ADA_Right_Clic,"ADA_rightClic");
  
  procedure Right_Clic(X1   : out Natural;
                       Y1   : out Natural;
                       Clic : out Boolean) is
    ADA_Clic : Integer;
    Err      : Integer;
  begin
    ADA_Right_Clic(ADA_Clic,X1,Y1,Err);
    
    if Err /= 0 then
      Traiter_Erreur(Err);
    end if;

    if ADA_Clic = 0 then
      Clic := false;
    else
      Clic := true;
    end if;
  end Right_Clic;



  procedure ADA_mouse(X1  : out Natural;
                      Y1  : out Natural ;
                      Err : out Natural);
                      
  pragma import(C,ADA_mouse,"ADA_mouse");
  
  procedure Mouse(X1 : out Natural;
                  Y1 : out Natural) is
    Err : Integer;
  begin
    ADA_mouse(X1,Y1,Err);
    if Err /= 0 then
      Traiter_Erreur(Err);
    end if;
  end Mouse;



end Spider.User;
