#ifndef MYWIN_MSG_H__ #define MYWIN_MSG_H__ #include "mywin_type.h" /*****************************窗口消息处理******************************************/ // 存储触摸信息,0,成功,非0,失败 int WIN_StorTouchStruct(WIN_TouchStruct *t); // 存储按键信息,返回0,成功,非0,失败 int WIN_StorKeyStruct(WIN_KeyStruct *k); // 清空按键队列 void WIN_ClearKeyQueue(void); // 清空触摸队列 void WIN_ClearTouchQueue(void); // 屏蔽按键和触屏 void WIN_KeyShieldOn(void); // 不屏蔽按键和触屏 void WIN_KeyShieldOff(void); // 窗口默认消息循环 void WIN_DefaultMsgLoop(WIN_WindowStruct *win, WIN_MsgStruct *msg); // 设备窗口的消息循环 void *WIN_SetMsgCallBack(WIN_WindowStruct *win, void (*msgLoop)(struct _WIN_WindowStruct *win, WIN_MsgStruct *msg)); // 设置窗口消息循环 void *WIN_SetMsgLoopCallBack(WIN_WindowStruct *win, void (*msgLoop)(struct _WIN_WindowStruct *win, WIN_MsgStruct *msg)); // 窗口运行 int WIN_Working(WIN_WindowStruct *win); // 以非阻塞方式运行所有窗口 void WIN_Delay(int ms); // 以阻塞方式运行指定窗口 int WIN_RunBlock(WIN_WindowStruct *win); // 发送消息到指定窗口 int WIN_SendMsg(WIN_WindowStruct *win, WIN_WindowStruct *dscWin, WIN_MsgStruct *msg); // 发送消息到父窗口 int WIN_SendMsgToPrent(WIN_WindowStruct *win, uint32_t type, uint32_t data); // 清空消息队列 void WIN_ClearMsgQueue(WIN_WindowStruct *win); // 查找指定类型的消息,返回消息所在指针 WIN_MsgStruct *WIN_CheckMsg(WIN_WindowStruct *win, uint32_t msgType); // 发送触摸消息,同时发送给窗口所在的父窗口 void WIN_SendTouchMsg(WIN_WindowStruct *win, int lcd_x, int lcd_y); // 发送滑动信息,同时发送给父窗口 void WIN_SendTouchMove(WIN_WindowStruct *win, int move_x, int move_y); // 发送按键消息,同时发送给父窗口 void WIN_SendKeyMsg(WIN_WindowStruct *win, WIN_KeyStruct *k); // 广播触屏消息 int WIN_TouchMsgBroad(WIN_WindowStruct *base); // 广播按键消息 int WIN_KeyMsgBroad(WIN_WindowStruct *base); // 广播按键和触屏消息,处理过消息,返回1,否则返回0 int WIN_MsgBroad(WIN_WindowStruct *base); // 把窗口设置为无效 void WIN_SetInvalid(WIN_WindowStruct *win); // 当窗口是最顶窗口时,设置为无效 void WIN_SetInvalidWhenTop(WIN_WindowStruct *win); // 把窗口指定区域设置为无效 void WIN_SetInvalidRect(WIN_WindowStruct *win, int x, int y, int x_size, int y_size); // 当窗口是最顶窗口时,设置为无效 void WIN_SetInvalidRectWhenTop(WIN_WindowStruct *win, int x, int y, int x_size, int y_size); // 存储外部消息到活动窗口返回0,成功,非0,失败 int WIN_StorExtMsg(void *msgData, int size); // 发送外部信息到指定窗口 int WIN_WinStorExtMsg(WIN_WindowStruct *win, void *msgData, int size); // 窗口移动 void WIN_Move(WIN_WindowStruct *win, int x_move, int y_move); // 设置窗口坐标 void WIN_SetPos(WIN_WindowStruct *win, int x, int y); // 设置窗口尺寸 void WIN_SetSize(WIN_WindowStruct *win, int x_size, int y_size); #endif