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
 |