gada-advanced_graphics.ads

with Gada.Gr_Core ;

package GAda.Advanced_Graphics is

   --
   -- Cet acteur n'est pas destiné aux TPs de première année.
   --

   ---------------------
   --     IMAGES
   ---------------------

   -- Le type des images est simplement "Image"
   subtype Image is GAda.Gr_Core.Image ;

   -- Charge une image depuis un fichier (png, jpg, etc.)
   function Load_Image (Filename : String) return Image ;

   -- Dessine une image à l'endroit indiqué
   procedure Put_Image (X, Y : Integer ; Img : Image) ;

   -- Obtient les dimensions de l'image
   function Hauteur_Image(Img : Image) return Integer ;
   function Largeur_Image(Img : Image) return Integer ;


   ---------------------
   --     EVENEMENTS
   ---------------------
   type T_Event_Type is (Button_Press, Key_Press) ;

   type T_Event is record
      -- Vaut FALSE si aucun evenement n'est disponible maintenant
      Trouve : Boolean ;

      -- Type de l'evenement
      Etype : T_Event_Type ;

      -- Age en millisecondes de cet évènement
      Age : Integer ;

      -- Coordonnées de la souris
      X, Y : Integer ;

      -- Touche appuyée (si Key_Press)
      Key : Character ;

      -- Code de la touche appuyée
      Key_Code : Integer ;
   end record ;

   -- Renvoie les évènements dans l'ordre chronologique.
   -- Si aucun évènement n'est disponible, l'attribut Trouve vaut False.
   function Next_Event return T_Event ;



   ---------------------
   --     TEXTE
   ---------------------
   procedure Put_Text (X, Y : Integer ; Msg : String ; Size : Integer := 0) ;


end GAda.Advanced_Graphics ;