107 lines
2.9 KiB
C
107 lines
2.9 KiB
C
#ifndef MYWIN_MSG_H__
|
||
#define MYWIN_MSG_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, u32 type, u32 data);
|
||
|
||
// 清空消息队列
|
||
void WIN_ClearMsgQueue(WIN_WindowStruct *win);
|
||
|
||
// 查找指定类型的消息,返回消息所在指针
|
||
WIN_MsgStruct *WIN_CheckMsg(WIN_WindowStruct *win, u32 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
|