上一頁 | 首頁

SDL_SetEventFilter

章節:SDL API 參考 (3)
更新2001年9月11日 星期二 22:59
索引
 

名稱

SDL_SetEventFilter - 在所有事件壓入事件隊列前設置一個過濾器來處理它們。  

摘要

#include "SDL.h"

void SDL_SetEventFilter(SDL_EventFilter filter);  

描述

此函數在所有事件壓入事件隊列前設置一個過濾器來處理它們。這是一個非常強大、靈活的功能。過濾器的原型如下:

typedef int (*SDL_EventFilter)(const SDL_Event *event);

若過濾器返回1,則將事件壓入內部隊列。若它返回0,則將其從隊列中刪除。這允許有選擇性的動態過濾。

當處理SDL_QUITEVENT類型的事件時發出警告。僅當窗口管理器要關閉應用程序窗口時,才調用事件過濾器。若事件過濾器返回1,則會關閉窗口。否則,如果可以的話,就保持窗口的打開狀態。若退出事件由中斷信號產生,則它會繞過內部隊列並在下一次輪詢時傳遞給應用程序。

備注:

通過SDL_PushEventSDL_PeepEvents壓入隊列的事件不會傳遞給事件過濾器。

備注:

注意!事件過濾函數可能在不同線程間運行。因此,請謹慎而為之。

 

另見

SDL_EventSDL_GetEventFilterSDL_PushEvent  

譯者

石仔<guoshimin57@gmail.com>  

中文版主頁

http://guoshimin.users.sf.net  

中文版最後更新時間

2010年6月26日


 

索引

名稱
摘要
描述
另見
譯者
中文版主頁
中文版最後更新時間