0
|
1 .TH "SDL_SetEventFilter" "3" "Mon 12 Mar 2001, 01:03" "SDL" "SDL API Reference"
|
|
2 .SH "NAME"
|
|
3 SDL_SetEventFilter\- Sets up a filter to process all events before they are posted to the event queue\&.
|
|
4 .SH "SYNOPSIS"
|
|
5 .PP
|
|
6 \fB#include "SDL\&.h"
|
|
7 .sp
|
|
8 \fBvoid \fBSDL_SetEventFilter\fP\fR(\fBSDL_EventFilter filter\fR);
|
|
9 .SH "DESCRIPTION"
|
|
10 .PP
|
|
11 This function sets up a filter to process all events before they are posted to the event queue\&. This is a very powerful and flexible feature\&. The filter is prototyped as:
|
|
12 .PP
|
|
13 .nf
|
|
14 \f(CWtypedef int (*SDL_EventFilter)(const SDL_Event *event);\fR
|
|
15 .fi
|
|
16 .PP
|
|
17 If the filter returns \fB1\fR, then the event will be added to the internal queue\&. If it returns \fB0\fR, then the event will be dropped from the queue\&. This allows selective filtering of dynamically\&.
|
|
18 .PP
|
|
19 There is one caveat when dealing with the \fBSDL_QUITEVENT\fP event type\&. The event filter is only called when the window manager desires to close the application window\&. If the event filter returns 1, then the window will be closed, otherwise the window will remain open if possible\&. If the quit event is generated by an interrupt signal, it will bypass the internal queue and be delivered to the application at the next event poll\&.
|
|
20 .PP
|
|
21 .RS
|
|
22 \fBNote:
|
|
23 .PP
|
|
24 Events pushed onto the queue with \fI\fBSDL_PushEvent\fP\fR or \fI\fBSDL_PeepEvents\fP\fR do not get passed through the event filter\&.
|
|
25 .RE
|
|
26 .PP
|
|
27 .RS
|
|
28 \fBNote:
|
|
29 .PP
|
|
30 \fIBe Careful!\fP The event filter function may run in a different thread so be careful what you do within it\&.
|
|
31 .RE
|
|
32 .SH "SEE ALSO"
|
|
33 .PP
|
|
34 \fI\fBSDL_Event\fR\fR, \fI\fBSDL_GetEventFilter\fP\fR, \fI\fBSDL_PushEvent\fP\fR
|
|
35 ...\" created by instant / docbook-to-man, Mon 12 Mar 2001, 01:03
|