home *** CD-ROM | disk | FTP | other *** search
/ PC Interdit / pc-interdit.iso / graph / gif.pas < prev    next >
Pascal/Delphi Source File  |  1994-10-05  |  2KB  |  48 lines

  1. unit gif;                       {en-tête pour gif.asm}
  2.  
  3. Interface
  4. uses modexlib;                  {à cause de SetPal}
  5.   var
  6.   vram_pos, {position courante dans la RAM VGA}
  7.   rest, numerr:word; {autres octets en mémoire centrale et n° d'erreur }
  8.  
  9.   gifname:String; {Nom avec #0}
  10.   Procedure LoadGif(GName:String);
  11.                                 {charge le fichier Gig "GName.gif" dans vscreen}
  12.   Procedure LoadGif_Pos(GName:String;Posit:Word);
  13.                  {charge le fichier Gif à l'offset d'écran Posit}
  14.  
  15. Implementation
  16.   Procedure ReadGif;external; {chargeur de Gif, compl. en Asm}
  17.   {$l c:\edition\prog\fr\asm\gif} {indiquer le chemin d'accès du fichier gif.obj}
  18.  
  19.   Procedure LoadGif;
  20.   {charge le fichier "GName.gif" dans vscreen}
  21.   Begin
  22.     If pos('.',gname) = 0 then  {ajoute si nécessaire l'extension ".gif" }
  23.       gname:=gname+'.gif';
  24.     Gifname:=GName+#0;;  {crée une chaîne ASCIIZ }
  25.     vram_pos:=0; {commence à l'offset 0 dans la mémoire VGA }
  26.     ReadGif; {charge l'image }
  27.     If Numerr <> 0 Then  {s'arrête en cas d'erreur }
  28.       Halt(Numerr);
  29.     SetPal; {fixe la palette chargée }
  30.   End;
  31.  
  32.   Procedure LoadGif_pos;
  33.   {charge le fichier Gif à l'offset d'écran Posit}
  34.   Begin
  35.     If pos('.',gname) = 0 then  {ajoute si nécessaire l'extension ".gif" }
  36.       gname:=gname+'.gif';
  37.     Gifname:=GName+#0; {crée une chaîne ASCIIZ }
  38.     vram_pos:=posit; {commence en mémoire VGA à la position indiquée }
  39.     ReadGif; {charge l'image }
  40.     If Numerr <> 0 Then    {s'arrête en cas d'erreur }
  41.       Halt(Numerr);
  42.     SetPal; {fixe la palette chargée }
  43.   End;
  44. Begin
  45.   numerr:=0;                   {normalement pas d'erreur }
  46.   GetMem(VScreen,64000); {alloue un écran virtuel }
  47. End.
  48.