この関数はイベントキューに入る前にすべてのイベントを処理するフィルターを設定します。 これはパワフルで柔軟な機能です。 フィルターは次のようにプロトタイプ宣言されています。
typedef int (*SDL_EventFilter)(const SDL_Event *event);フィルターが 1 を返すと、 イベントは内部のキューに追加されます。 0 を返すと、 イベントはキューから落とされます。 これにより動的な選択式フィルタリングが可能になります。
SDL_QUIT(訳註: 原文ではSDL_QUITEVENTになっています) イベント型を扱う時は警告すべき事があります。 イベントフィルターはウィンドウマネージャが アプリケーションウィンドウを閉じたい時にだけ呼ばれます。 イベントフィルターが 1 を返すと、ウィンドウは閉じられますが、 そうでない場合は、可能であればウィンドウは開き続けます。 終了イベントが割り込みシグナルによって生成されている時は、 内部キューを迂回し、次のイベントポーリングの時にアプリケーションに 渡されます。
Note: SDL_PushEvent か SDL_PeepEvents によってキューにプッシュされたイベントは、 イベントフィルターに通されません。
Note: 注意! イベントフィルターは別のスレッドで実行されるかも知れないため、 その中で行う処理に注意して下さい。