44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
#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
|