Project

General

Profile

Statistics
| Revision:

root / lab5 / graphics.h @ 123

History | View | Annotate | Download (1.44 KB)

1 95 up20180655
#ifndef GRAPHICS_H_INCLUDED
2
#define GRAPHICS_H_INCLUDED
3
4 99 up20180655
#include <lcom/lcf.h>
5 95 up20180655
#include <stdint.h>
6
7 122 up20180655
#define GET_RED(n)          (0xFF & ((n) >> 16))
8
#define GET_GRE(n)          (0xFF & ((n) >>  8))
9
#define GET_BLU(n)          (0xFF & (n      ))
10
#define SET_RED(n)          (((n)&0xFF) << 16)
11
#define SET_GRE(n)          (((n)&0xFF) <<  8)
12
#define SET_BLU(n)          (((n)&0xFF)      )
13
#define SET_COLOR(r,g,b)    (SET_RED(r) | SET_GRE(g) | SET_BLU(b))
14
#define FAR2PHYS(n)         ((((n)>>12) & 0xFFFFFFF0) + ((n) & 0x0000FFFF))
15
#define PHYS2VIRT(n)
16 113 up20180642
17 99 up20180655
int (get_permission)(unsigned int base_addr, unsigned int size);
18
19 121 up20180642
//int (get_permissions_first_mbyte)(void);
20 99 up20180655
21 103 up20180655
int (vbe_get_mode_information)(uint16_t mode);
22 99 up20180655
23 103 up20180655
phys_bytes get_phys_addr(void);
24 99 up20180655
25 103 up20180655
unsigned int get_vram_size(void);
26
27
uint16_t get_XRes(void);
28
29
uint16_t get_YRes(void);
30
31
uint16_t get_bits_pixel(void);
32
33 105 up20180655
uint16_t get_bytes_pixel(void);
34
35 111 up20180642
uint16_t get_RedMaskSize(void);
36
37
uint16_t get_GreenMaskSize(void);
38
39
uint16_t get_BlueMaskSize(void);
40
41 103 up20180655
int (map_vram)(void);
42
43 99 up20180655
int (free_memory)(void);
44
45 105 up20180655
int (set_pixel)(uint16_t row, uint16_t col, uint32_t color);
46
47 95 up20180655
/**
48
 * @brief
49
 * @param mode
50
 * @return
51
 */
52
int (set_graphics_mode)(uint16_t mode);
53
54 120 up20180642
int (draw_hline)(uint16_t x, uint16_t y, uint16_t len, uint32_t color);
55 118 up20180642
56 119 up20180642
int (draw_rectangle)(uint16_t x, uint16_t y,uint16_t width, uint16_t height, uint32_t color);
57 117 up20180642
58 95 up20180655
#endif /* end of include guard: GRAPHICS_H_INCLUDED */