www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

vgaTexte.c (1727B)


      1 #include <module.h>
      2 #include <types.h>
      3 #include <interfaceUtilisateur/console/console.h>
      4 #include <pc/vgaTexte/vgaTexte.h>
      5 
      6 MODULE(VgaTexte);
      7 
      8 DEPENDANCE_MODULE(VgaTexte, Console);
      9 
     10 CouleurVgaTexte CouleursVersCouleurVgaTexte(Couleur couleurAv, Couleur couleurAr) {
     11 	CouleurComposantes composantesAv = CAST_INT_TO_STRUCT(couleurAv, CouleurComposantes);
     12 	CouleurComposantes composantesAr = CAST_INT_TO_STRUCT(couleurAr, CouleurComposantes);
     13 	
     14 	CouleurVgaTexte couleurVgaTexte;
     15 	
     16 	couleurVgaTexte.avClair = ((composantesAv.rouge + composantesAv.vert + composantesAv.bleu) > 3*128);
     17 	couleurVgaTexte.avRouge = (composantesAv.rouge > 128);
     18 	couleurVgaTexte.avVert = (composantesAv.vert > 128);
     19 	couleurVgaTexte.avBleu = (composantesAv.bleu > 128);
     20 	
     21 	couleurVgaTexte._reserve = 0;
     22 	couleurVgaTexte.arRouge = (composantesAr.rouge > 128);
     23 	couleurVgaTexte.arVert = (composantesAr.vert > 128);
     24 	couleurVgaTexte.arBleu = (composantesAr.bleu > 128);
     25 	
     26 	return couleurVgaTexte;
     27 }
     28 
     29 void vgaTexteAfficherCaractereCouleurPosition(char caractere, uint32 couleurAv, uint32 couleurAr, uint32 x, uint32 y) {
     30 	etatVgaTexte->memoireVideo[x + y * etatVgaTexte->console.largeur] = (CaractereVgaTexte) {
     31 		.caractere = caractere,
     32 		.couleur   = CouleursVersCouleurVgaTexte(couleurAv, couleurAr)
     33 	};
     34 }
     35 
     36 void initVgaTexte (void** etat) {
     37 	*etat = etatVgaTexte;
     38 	
     39 	etatVgaTexte->memoireVideo = (CaractereVgaTexte*)0xb8000;
     40 	
     41 	etatVgaTexte->console.x = 0;
     42 	etatVgaTexte->console.y = 0;
     43 	etatVgaTexte->console.largeur = 80;
     44 	etatVgaTexte->console.hauteur = 25;
     45 	etatVgaTexte->console.fonctionAffichage = vgaTexteAfficherCaractereCouleurPosition;
     46 	
     47 	// definirConsoleActive(&etatVgaTexte->console);
     48 }
     49 
     50 void deinitVgaTexte (void** etat) {
     51 	*etat = NULL;
     52 }