TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
video.h
Aller à la documentation de ce fichier.
1 
29 #ifndef _VIDEO_H_
30 #define _VIDEO_H_
31 
32 #include <types.h>
33 
35 #define DEFAULT_ATTRIBUTE_VALUE 0x0F
37 #define BLACK 0x0
38 #define BLUE 0x1
39 #define GREEN 0x2
40 #define CYAN 0x3
41 #define RED 0x4
42 #define MAGENTA 0x5
43 #define BROWN 0x6
44 #define LIGHT_GRAY 0x7
45 #define DARK_GRAY 0x8
46 #define LIGHT_BLUE 0x9
47 #define LIGHT_GREEN 0xA
48 #define LIGHT_CYAN 0xB
49 #define LIGHT_RED 0xC
50 #define LIGHT_MAGENTA 0xD
51 #define YELLOW 0xE
52 #define WHITE 0xF
54 #define COLUMNS 80
55 #define LINES 25
60 typedef struct {
61  unsigned char character;
62  unsigned char attribute;
63 }__attribute__ ((packed)) x86_video_mem;
64 
68 struct vga_page_t {
69  volatile x86_video_mem* front_buffer;
70  volatile x86_video_mem* back_buffer;
71 };
72 
76 void init_video();
77 
81 void cursor_position_video(int n, int x, int y);
82 
88 void disable_cursor(int disable);
89 
95 void flip_page(int n);
96 
100 void get_char_video(int n, bool front, char *c, int x, int y, char *attr);
101 
105 void kputchar_video(int n, bool front, unsigned char c, int x, int y, char attr);
106 
112 void switch_page(int i);
113 
120 void scrollup(int n, char attr);
121 #endif
void switch_page(int i)
Change la page à afficher à l'écran.
Definition: video.c:105
Structure définissant une "page" vidéo. C'est en fait un couple de 2 pages pour gérer le double buffe...
Definition: video.h:68
unsigned char attribute
Definition: video.h:62
volatile x86_video_mem * back_buffer
Definition: video.h:70
volatile x86_video_mem * front_buffer
Definition: video.h:69
void scrollup(int n, char attr)
Scroll everything up.
Definition: video.c:174
void cursor_position_video(int n, int x, int y)
Change la position du curseur.
Definition: video.c:152
Structure définissant un "caractère" à l'écran.
Definition: video.h:60
unsigned char character
Definition: video.h:61
void flip_page(int n)
Interverti les 2 buffers d'une page.
Definition: video.c:113
void kputchar_video(int n, bool front, unsigned char c, int x, int y, char attr)
Affiche dans une page le caractère souhaité à l'endroit souhaité.
Definition: video.c:162
void init_video()
Initialise l'affichage vidéo. En particulier les 4 pages disponibles.
Definition: video.c:71
void disable_cursor(int disable)
Désactive l'affichage du curseur.
Definition: video.c:129
void get_char_video(int n, bool front, char *c, int x, int y, char *attr)
Permet de récupérer le caractère situé à une certaine position de l'écran.