-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgraphic.h
160 lines (144 loc) · 4.72 KB
/
graphic.h
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
/***************************************************************************************
* File Name : graphic.h
* CopyRight : 1.0
* ModuleName : graphic management module
*
* Create Data : 2016/01/06
* Author/Corportation : ZhuoJianhuan
*
* Abstract Description : 图形管理接口文件
*
*--------------------------------Revision History--------------------------------------
* No version Data Revised By Item Description
* 1 v1.0 2016/01/06 ZhuoJianhuan Create this file
*
***************************************************************************************/
/**************************************************************
* Multi-Include-Prevent Section
**************************************************************/
#ifndef __GRAPHIC_H
#define __GRAPHIC_H
/**************************************************************
* Debug switch Section
**************************************************************/
/**************************************************************
* Include File Section
**************************************************************/
/**************************************************************
* Macro Define Section
**************************************************************/
#define COL8_000000 0
#define COL8_FF0000 1
#define COL8_00FF00 2
#define COL8_FFFF00 3
#define COL8_0000FF 4
#define COL8_FF00FF 5
#define COL8_00FFFF 6
#define COL8_FFFFFF 7
#define COL8_C6C6C6 8
#define COL8_840000 9
#define COL8_008400 10
#define COL8_848400 11
#define COL8_000084 12
#define COL8_840084 13
#define COL8_008484 14
#define COL8_848484 15
/**************************************************************
* Struct Define Section
**************************************************************/
/**************************************************************
* Global Variable Declare Section
**************************************************************/
extern char *debugStr[300];
extern int debugLine;
/**************************************************************
* Prototype Declare Section
**************************************************************/
/**
* @description 初始化调色板
*/
void init_palette(void);
/**
* @description 获得调色板的色块
*/
unsigned char getColor(unsigned char r, unsigned char g, unsigned char b);
/**
* @description 设置调色板
* @param start:设置起始标号
* end:设置终止标号
* rgb:调色板颜色
*/
void set_palette(int start, int end, unsigned char *rgb);
/**
* @description 渲染一个矩形
* @param vram:VRAM起始地址
* xsize:屏幕宽度
* c:渲染颜色
* x0、y0:起始坐标
* x1、y1:结束坐标
* @notice 此处的屏幕宽度参数存在问题,应该由函数自行读取,而非用户指定
*/
void boxfill8(unsigned char *vram, int xsize, unsigned char c, int x0, int y0, int x1, int y1);
/**
* @description 初始化屏幕
* @param vram:VRAM起始地址
* x:屏幕宽度
* y:屏幕高度
*/
void init_screen8(char *vram, int x, int y);
/**
* @description 渲染出一个字符
* @param vram:VRAM起始地址
* xsize:屏幕宽度
* x、y:字符所在坐标
* c:字符颜色
* font:字符点阵
*/
void putfont8(char *vram, int xsize, int x, int y, char c, char *font);
/**
* @description 渲染出一串字符串
* @param vram:VRAM起始地址
* xsize:屏幕宽度
* x、y:字符串所在起始坐标
* c:字符串颜色
* s:欲渲染字符串
*/
void putfonts8_asc(char *vram, int xsize, int x, int y, char c, unsigned char *s);
/**
* @description 初始化鼠标图形
* @param mouse:存放鼠标图形的目标地址
* bc:背景颜色
*/
void init_mouse_cursor8(char *mouse, char bc);
/**
* @description 绘制指定矩形的图形
* @param vram:VRAM起始地址
* vxsize:屏幕宽度
* pxsize、pysize:图形宽高
* px0、py0:绘制起始坐标
* buf:存放有图形的缓冲区
* bxsize:buf的宽度
*/
void putblock8_8(char *vram, int vxsize, int pxsize,int pysize, int px0, int py0, char *buf, int bxsize);
/**
* @description DEBUG指定行输出调试信息
*/
void debug(int line, char *str);
/**
* @description 初始化图标
* @param mouse:存放鼠标图形的目标地址
* bc:背景颜色
*/
void init_icon(char *mouse, char bc);
/**
* @description 显示任务栏
* @param vram:VRAM起始地址
* x:屏幕宽度
* y:屏幕高度
*/
void taskLine(char *vram, int x, int y);
void init_login(void);
/**************************************************************
* End-Multi-Include-Prevent Section
**************************************************************/
#endif