summaryrefslogtreecommitdiff
path: root/src/vga.h
blob: 50cf1e65c21559454dc7b0b10758832d12d5ad8a (plain)
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

#ifndef __VGA_H
#define __VGA_H

#include <stddef.h>
#include <stdint.h>

enum vga_color {
	vga_black,
	vga_blue,
	vga_green,
	vga_cyan,
	vga_red,
	vga_magenta,
	vga_brown,
	vga_lgray,
	vga_dgray,
	vga_lblue,
	vga_lgreen,
	vga_lcyan,
	vga_lred,
	vga_lmagenta,
	vga_lbrown,
	vga_white
};

uint8_t vga_color(enum vga_color fg, enum vga_color bg);
uint16_t vga_entry(unsigned char uc, uint8_t color);

static const size_t VGA_WIDTH = 80;
static const size_t VGA_HEIGHT = 25;

size_t terminal_row;
size_t terminal_column;
uint8_t terminal_color;
uint16_t* terminal_buffer;

void vclear(void);

void vsetcolor(uint8_t color);

void vsetchar(char c, uint8_t color, size_t x, size_t y);

void vputchar(char c);

void vprint(const char* str);

void vlocate(size_t column, size_t row);

#endif