home *** CD-ROM | disk | FTP | other *** search
- UNIT MyGUI;{Mini MyGUI v1.0ß: le 28/04/94}
-
-
- INTERFACE
-
-
- USES Y360x480;
-
-
- TYPE
- TypeCarac =ARRAY[0..255,0..13] OF BYTE;
- TypePolice=^TypeCarac;
-
-
- VAR
- PoliceActive :TypePolice;
- BeigeXClair,
- BeigeClair,
- BeigeMoyen,
- BeigeFonce,
- BeigeXFonce,
- GrisClair,
- GrisFonce :BYTE;
- CouleurPolice,
- CouleurArriere:BYTE;
- Transparence :BOOLEAN;
-
-
- PROCEDURE InitialisationsCouleurs;
- PROCEDURE PanneauCcv(x1,y1,x2,y2:WORD;couleur:BYTE);
- PROCEDURE PanneauCvx(x1,y1,x2,y2:WORD;couleur:BYTE);
- PROCEDURE Cadre(x1,y1,x2,y2:WORD;couleur:BYTE);
- FUNCTION ChargePolice(VAR Police:TypePolice;NomFichier:STRING):INTEGER;
- FUNCTION DechargePolice(VAR Police:TypePolice):INTEGER;
- PROCEDURE ParametresPolice(CoulPolice,CoulArriere:BYTE;Masque:BOOLEAN);
- PROCEDURE TexteNormal(x,y:WORD;espaces:BYTE;texte:STRING);
- PROCEDURE TexteCreux(x,y:WORD;coulpolice,espaces:BYTE;texte:STRING);
- PROCEDURE TexteRelief(x,y:WORD;coulpolice,espaces:BYTE;texte:STRING);
- PROCEDURE TexteGras(x,y:WORD;espaces:BYTE;texte:STRING);
- PROCEDURE TexteOmbre(x,y:WORD;coulpolice,espaces:BYTE;texte:STRING);
-
-
- IMPLEMENTATION
-
-
- VAR
- i:WORD;
-
-
- PROCEDURE InitialisationsCouleurs;
- BEGIN
- BeigeXClair:=248;
- BeigeClair :=249;
- BeigeMoyen :=250;
- BeigeFonce :=251;
- BeigeXFonce:=252;
- GrisClair :=253;
- GrisFonce :=254;
- YEcritCouleur(BeigeXClair,44,40,33);
- YEcritCouleur(BeigeClair ,38,34,27);
- YEcritCouleur(BeigeMoyen ,32,28,21);
- YEcritCouleur(BeigeFonce ,26,22,15);
- YEcritCouleur(BeigeXFonce,20,16,09);
- YEcritCouleur(GrisClair ,45,45,45);
- YEcritCouleur(GrisFonce ,18,18,18);
- END;
-
-
- PROCEDURE PanneauCcv(x1,y1,x2,y2:WORD;couleur:BYTE);
- BEGIN
- FOR i:=y1+2 TO y2-2 DO
- YLigneH(x1,i,x2,couleur);
- YLigneH(x1,y1,x2,GrisClair);
- YLigneH(x1,y1+1,x2,GrisClair);
- YLigneH(x1,y2,x2-1,GrisFonce);
- YLigneH(x1,y2-1,x2-1,GrisFonce);
- YLigneV(x1,y1+2,y2,GrisFonce);
- YLigneV(x2,y1,y2,GrisClair);
- END;
-
-
- PROCEDURE PanneauCvx(x1,y1,x2,y2:WORD;couleur:BYTE);
- BEGIN
- FOR i:=y1+2 TO y2-2 DO
- YLigneH(x1,i,x2,couleur);
- YLigneH(x1,y1,x2,GrisFonce);
- YLigneH(x1,y1+1,x2,GrisFonce);
- YLigneH(x1,y2,x2-1,GrisClair);
- YLigneH(x1,y2-1,x2-1,GrisClair);
- YLigneV(x1,y1+2,y2,GrisClair);
- YLigneV(x2,y1,y2,GrisFonce);
- END;
-
-
- PROCEDURE Cadre(x1,y1,x2,y2:WORD;couleur:BYTE);
- BEGIN
- PanneauCcv(x1,y1,x2,y2,couleur);
- YLigneH(x1+2,y1+4,x2-2,GrisFonce);
- YLigneH(x1+2,y1+5,x2-2,GrisFonce);
- YLigneH(x1+2,y2-4,x2-2,GrisClair);
- YLigneH(x1+2,y2-5,x2-2,GrisClair);
- YLigneV(x1+2,y1+4,y2-4,GrisClair);
- YLigneV(x2-2,y1+6,y2-6,GrisFonce);
- END;
-
-
- FUNCTION ChargePolice(VAR Police:TypePolice;NomFichier:STRING):INTEGER;
- VAR
- Fichier:FILE;
- BEGIN
- ChargePolice:=0;
- {$I-}
- ASSIGN(Fichier,NomFichier+'.F14');
- Reset(Fichier,1);
- GetMem(Police,3584);
- BlockRead(Fichier,Police^,3584);
- Close(Fichier);
- {$I+}
- IF IOResult<>0 THEN
- ChargePolice:=-1;
- END;
-
-
- FUNCTION DechargePolice(VAR Police:TypePolice):INTEGER;
- BEGIN
- DechargePolice:=0;
- {$I-}
- FreeMem(Police,3584);
- {$I+}
- IF IOResult<>0 THEN
- DechargePolice:=-1;
- END;
-
-
- PROCEDURE ParametresPolice(CoulPolice,CoulArriere:BYTE;Masque:BOOLEAN);
- BEGIN
- CouleurPolice :=CoulPolice;
- CouleurArriere:=CoulArriere;
- Transparence :=Masque;
- END;
-
-
- PROCEDURE TexteNormal(x,y:WORD;espaces:BYTE;texte:STRING);
- VAR
- i,j,k,l,m,symbole:BYTE;
- BEGIN
- FOR i:=1 TO length(texte) DO
- BEGIN
- symbole:=Ord(texte[i]);
- m:=1;
- FOR j:=0 TO 7 DO {LARGEUR}
- BEGIN
- l:=128 DIV m;
- m:=m SHL 1;
- FOR k:=0 TO 13 DO {HAUTEUR}
- BEGIN
- IF (PoliceActive^[symbole][k] AND l)=l
- THEN YEcritPoint(x+j,y+k,CouleurPolice)
- ELSE IF NOT Transparence
- THEN YEcritPoint(x+j,y+k,CouleurArriere);
- END;
- END;
- IF espaces<>0 THEN
- BEGIN
- FOR l:=1 TO espaces DO
- BEGIN
- FOR k:=0 TO 13 DO
- IF NOT Transparence
- THEN YEcritPoint(x+7+1+l,y+k,CouleurArriere);
- END;
- END;
- x:=x+7+1+espaces; {LARGEUR=7+1+?}
- END;
- END;
-
-
- PROCEDURE TexteCreux(x,y:WORD;coulpolice,espaces:BYTE;texte:STRING);
- BEGIN
- ParametresPolice(GrisClair,0,True);
- TexteNormal(x,y+2,espaces,texte);
- ParametresPolice(GrisFonce,0,True);
- TexteNormal(x+2,y,espaces,texte);
- ParametresPolice(coulpolice,0,True);
- TexteNormal(x+1,y+1,espaces,texte);
- END;
-
-
- PROCEDURE TexteRelief(x,y:WORD;coulpolice,espaces:BYTE;texte:STRING);
- BEGIN
- ParametresPolice(GrisFonce,0,True);
- TexteNormal(x,y+2,espaces,texte);
- ParametresPolice(GrisClair,0,True);
- TexteNormal(x+2,y,espaces,texte);
- ParametresPolice(coulpolice,0,True);
- TexteNormal(x+1,y+1,espaces,texte);
- END;
-
-
- PROCEDURE TexteGras(x,y:WORD;espaces:BYTE;texte:STRING);
- BEGIN
- TexteNormal(x ,y,espaces,texte);
- TexteNormal(x+1,y,espaces,texte);
- END;
-
-
- PROCEDURE TexteOmbre(x,y:WORD;coulpolice,espaces:BYTE;texte:STRING);
- BEGIN
- ParametresPolice(0,0,True);
- TexteNormal(x ,y+2,espaces,texte);
- ParametresPolice(coulpolice,0,True);
- TexteNormal(x+1,y,espaces,texte);
- END;
-
-
- END.
-