#ifndef _GRAPH_
#define _GRAPH_
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<stdbool.h>
/*NSI控制码(高亮,下划线,闪烁,光标位置,清屏等)
给printf的输出加上些特效比如颜色,可以让打印信息更鲜明,在debug的时候特别有用。
颜色:
*/
#define NONE " 33[m"
#define RED " 33[0;32;31m"
#define LIGHT_RED " 33[1;31m"
#define GREEN " 33[0;32;32m"
#define LIGHT_GREEN " 33[1;32m"
#define BLUE " 33[0;32;34m"
#define LIGHT_BLUE " 33[1;34m"
#define DARY_GRAY " 33[1;30m"
#define CYAN " 33[0;36m"
#define LIGHT_CYAN " 33[1;36m"
#define PURPLE " 33[0;35m"
#define LIGHT_PURPLE " 33[1;35m"
#define BROWN " 33[0;33m"
#define YELLOW " 33[1;33m"
#define LIGHT_GRAY " 33[0;37m"
#define WHITE " 33[1;37m"
/*
比如:
printf(" 33[31m ####----->> 33[32m" "hello " " 33[m")
int main()
{
printf( CYAN "current function is %s " GREEN " file line is %d " NONE,
__FUNCTION__, __LINE__ );
fprintf(stderr, RED "current function is %s " BLUE " file line is %d " NONE,
__FUNCTION__, __LINE__ );
return 0;
}
*/
/*颜色分为背景色和字体色,30~39用来设置字体色,40~49设置背景:
背景色 字体色
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色
记得在打印完之后,把颜色恢复成NONE,不然再后面的打印都会跟着变色。
*/
//另外,还可以加一些ANSI控制码。加颜色只是以下控制码中的一种:
#define CLOSE " 33[0m" //关闭所有属性
#define HIGH " 33[1m" //设置高亮度
#define LINE " 33[4m" //下划线
#define LIGHT " 33[5m" //闪烁
#define F1 " 33[7m" //反显
#define F2 " 33[8m" //消隐
#define fore1 " 33[30m"
#define fore2 " 33[31m"
#define fore3 " 33[32m"
#define fore4 " 33[33m"
#define fore5 " 33[34m"
#define fore6 " 33[35m"
#define fore7 " 33[36m"
#define fore8 " 33[37m"
#define bw " 33[0;30;47"
//数据显示
#define m1 " 33[1;37;46m"//主标题显示
#define m2 " 33[1;30;43m"//横项目栏
#define m3 " 33[1;30;46m"//纵项目栏
#define m4 " 33[0;36;47m"//内容显示
#define m5 " 33[0;30;47m"//买票信息字体
//主界面
#define s1 " 33[1;37;46m"//主界面主标题
#define s2 " 33[1;30;42m"//主界面通知栏主字体
#define s3 " 33[0;31;43m"//主界面通知栏副字体
#define s4 " 33[0;36;47m"//引导栏
#define s5 " 33[1;31;47m"//引导栏警告
// 33[30m -- 33[37m 设置前景色
// 33[40m -- 33[47m 设置背景色
#define U " 33[1A" //光标上移n行
#define D " 33[1B" //光标下移n行
#define R " 33[1C" //光标右移n行
#define L " 33[3D" //光标左移n行
#define L1 " 33[1D" //光标左移n行
#define F3 " 33[0;0H" //设置光标位置
#define CLEAR " 33[2J" //清屏
#define CLEAN " 33[K" //清除从光标到行尾的内容
#define F4 " 33[s" //保存光标位置
#define F5 " 33[u" //恢复光标位置
#define F6 " 33[?25l" //隐藏光标
#define F7 " 33[?25h" //显示光标
//界面函数申明
extern int start_plantform(void);
extern void passenger_insert_print(passenger_p *new);
extern void view(passenger_p *box);
extern void out(void);
extern void help(void);
void g_number(char *str);
void g_name(char *str);
void g_staddr(char *str);
void g_arraddr(char *str);
void g_date(char *str);
void g_type(char *str);
void g_seat(char *str);
void g_mark(char mark);
void g_statime(char *str);
void g_arrtime(char *str);
void g_value(char *str);
#endif