home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC Interdit
/
pc-interdit.iso
/
graph
/
gif.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1994-10-05
|
2KB
|
48 lines
unit gif; {en-tête pour gif.asm}
Interface
uses modexlib; {à cause de SetPal}
var
vram_pos, {position courante dans la RAM VGA}
rest, numerr:word; {autres octets en mémoire centrale et n° d'erreur }
gifname:String; {Nom avec #0}
Procedure LoadGif(GName:String);
{charge le fichier Gig "GName.gif" dans vscreen}
Procedure LoadGif_Pos(GName:String;Posit:Word);
{charge le fichier Gif à l'offset d'écran Posit}
Implementation
Procedure ReadGif;external; {chargeur de Gif, compl. en Asm}
{$l c:\edition\prog\fr\asm\gif} {indiquer le chemin d'accès du fichier gif.obj}
Procedure LoadGif;
{charge le fichier "GName.gif" dans vscreen}
Begin
If pos('.',gname) = 0 then {ajoute si nécessaire l'extension ".gif" }
gname:=gname+'.gif';
Gifname:=GName+#0;; {crée une chaîne ASCIIZ }
vram_pos:=0; {commence à l'offset 0 dans la mémoire VGA }
ReadGif; {charge l'image }
If Numerr <> 0 Then {s'arrête en cas d'erreur }
Halt(Numerr);
SetPal; {fixe la palette chargée }
End;
Procedure LoadGif_pos;
{charge le fichier Gif à l'offset d'écran Posit}
Begin
If pos('.',gname) = 0 then {ajoute si nécessaire l'extension ".gif" }
gname:=gname+'.gif';
Gifname:=GName+#0; {crée une chaîne ASCIIZ }
vram_pos:=posit; {commence en mémoire VGA à la position indiquée }
ReadGif; {charge l'image }
If Numerr <> 0 Then {s'arrête en cas d'erreur }
Halt(Numerr);
SetPal; {fixe la palette chargée }
End;
Begin
numerr:=0; {normalement pas d'erreur }
GetMem(VScreen,64000); {alloue un écran virtuel }
End.