1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| #include <stdio.h>
#include <stdlib.h>
#include <vga.h>
int choix_mode(void)
{
int m;
m=vga_getdefaultmode(); //retourne la valeur de la variable d'environnement
// SVGALIB_DEFAULT_MODE, -1 si inconnue
return 4; //4 marche presque toujours.
}
void tracecadre(void)
{
int x,y,coul,i;
x=vga_getxdim(); //récup résolution actuelle
y=vga_getydim();
// coul=vga_getcolors(); //récup nb de couleurs dans le mode actu
coul=vga_white(); //récup n° de couleur du blanc dans le mode actu
vga_drawline(0,0,x-1,0);
vga_drawline(x-1,0,x-1,y-1);
vga_drawline(x-1,y-1,0,y-1);
vga_drawline(0,y-1,0,0);
}
int main(void)
{
int i,mode;
mode=choix_mode();
vga_init();
// vga_setmode(G320x200x256); //à l'IPST, 207 et pat, ok jusqu'à 12
vga_setmode(mode);
tracecadre();
vga_setcolor(14);
/***********************
ces couleurs sont celles définies en VGA standard,
0 - black.
1 - blue.
2 - green.
3 - cyan.
4 - red.
5 - magenta.
6 - brown.
7 - grey.
8 - dark grey (light black).
9 - light blue.
10 - light green.
11 - light cyan.
12 - light red.
13 - light magenta.
14 - yellow (light brown).
15 - white (light grey).
******************************/
for(i=0;i<vga_getydim();i++) vga_drawpixel(i,i); //0,0=coin sup gauche
fprintf(stderr,"appuyez une touche pour quitter"); //on ne peut pas écrire dans le graphique mais dans la console ayant lancé le prog
vga_getch(); //attend un touche, retroune la touche appuyée (si nécessaire)
//vga_getkey() lit mais n'attend pas (retourne 0 si rien d'appuyé)
// sleep(20); //attendre, quand vga_getch ne marchait pas
vga_setmode(TEXT); //retourner au mode texte (important)
printf("fini\n"); //les printf se font sur la console où on a lancé la commande (ou dans CTRL ALT 8 suivant les cas)
return EXIT_SUCCESS;
} |
Partager