#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; // 文字尺寸 uint32_t color_light; uint32_t 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