docs/man3/SDL_SetEventFilter.3
changeset 3352 6dc250ebdd80
parent 3351 8e0182c236d8
child 3353 6b14223dd5c7
equal deleted inserted replaced
3351:8e0182c236d8 3352:6dc250ebdd80
     1 .TH "SDL_SetEventFilter" "3" "Tue 11 Sep 2001, 22:59" "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, Tue 11 Sep 2001, 22:59