#ifndef MYWIN_RECORD_H__ #define MYWIN_RECORD_H__ //定义最大消息条数 #define RECORD_MAX_MSG_NUM 100 //定义每条消息的最大长度 #define RECORD_MAX_MSG_LEN 100 typedef struct { int x_size; int y_size; char msg_type; char msg[RECORD_MAX_MSG_LEN]; }Record_MsgStruct; typedef struct { WIN_WindowStruct win; Record_MsgStruct msgs[RECORD_MAX_MSG_NUM]; int msg_start; //指向顶部 int msg_end; //指向底部,新增的消息位于此 int msg_used; //使用量 int press; int y_off; //y轴的偏移 int msg_x_size; //文字显示x宽度 int font_size; //文字尺寸 u32 color_light; u32 color_dark; }WIN_RecordStruct; WIN_RecordStruct *WIN_CreatRecord (WIN_WindowStruct *base, void (*msgLoop)(struct _WIN_WindowStruct *win,WIN_MsgStruct *msg), int x,int y,int x_size,int y_size); //添加消息,msg_type='s',发送的消息,msg_type='r',接收的消息 int RECORD_AddMsg(WIN_RecordStruct *box,char msg_type,char *msg); void RECORD_DefaultMsgLoop (WIN_RecordStruct *box,WIN_MsgStruct *msg); WIN_RecordStruct *RECORD_DrawRecord (WIN_WindowStruct *base,int x,int y,int x_size,int y_size); #endif