Mercurial > sdl-ios-xcode
diff docs/html/sdlseteventfilter.html @ 0:74212992fb08
Initial revision
author | Sam Lantinga <slouken@lokigames.com> |
---|---|
date | Thu, 26 Apr 2001 16:45:43 +0000 |
parents | |
children | 55f1f1b3e27d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/html/sdlseteventfilter.html Thu Apr 26 16:45:43 2001 +0000 @@ -0,0 +1,273 @@ +<HTML +><HEAD +><TITLE +>SDL_SetEventFilter</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.61 +"><LINK +REL="HOME" +TITLE="SDL Library Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Event Functions." +HREF="eventfunctions.html"><LINK +REL="PREVIOUS" +TITLE="SDL_PushEvent" +HREF="sdlpushevent.html"><LINK +REL="NEXT" +TITLE="SDL_GetEventFilter" +HREF="sdlgeteventfilter.html"></HEAD +><BODY +CLASS="REFENTRY" +BGCOLOR="#FFF8DC" +TEXT="#000000" +LINK="#0000ee" +VLINK="#551a8b" +ALINK="#ff0000" +><DIV +CLASS="NAVHEADER" +><TABLE +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="3" +ALIGN="center" +>SDL Library Documentation</TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="bottom" +><A +HREF="sdlpushevent.html" +>Prev</A +></TD +><TD +WIDTH="80%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="10%" +ALIGN="right" +VALIGN="bottom" +><A +HREF="sdlgeteventfilter.html" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SDLSETEVENTFILTER" +>SDL_SetEventFilter</A +></H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4957" +></A +><H2 +>Name</H2 +>SDL_SetEventFilter -- Sets up a filter to process all events before they are posted +to the event queue.</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4960" +></A +><H2 +>Synopsis</H2 +><DIV +CLASS="FUNCSYNOPSIS" +><A +NAME="AEN4961" +></A +><P +></P +><PRE +CLASS="FUNCSYNOPSISINFO" +>#include "SDL.h"</PRE +><P +><CODE +><CODE +CLASS="FUNCDEF" +>void <B +CLASS="FSFUNC" +>SDL_SetEventFilter</B +></CODE +>(SDL_EventFilter filter);</CODE +></P +><P +></P +></DIV +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4967" +></A +><H2 +>Description</H2 +><P +>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: +<PRE +CLASS="PROGRAMLISTING" +>typedef int (*SDL_EventFilter)(const SDL_Event *event);</PRE +> +If the filter returns <SPAN +CLASS="RETURNVALUE" +>1</SPAN +>, then the event will be +added to the internal queue. If it returns <SPAN +CLASS="RETURNVALUE" +>0</SPAN +>, +then the event will be dropped from the queue. This allows selective +filtering of dynamically.</P +><P +>There is one caveat when dealing with the <TT +CLASS="LITERAL" +>SDL_QUITEVENT</TT +> 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.</P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +>Events pushed onto the queue with <A +HREF="sdlpushevent.html" +><TT +CLASS="FUNCTION" +>SDL_PushEvent</TT +></A +> or <A +HREF="sdlpeepevents.html" +><TT +CLASS="FUNCTION" +>SDL_PeepEvents</TT +></A +> do not get passed through the event filter.</P +></BLOCKQUOTE +></DIV +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +><I +CLASS="EMPHASIS" +>Be Careful!</I +> The event filter function may run in a different thread so be careful what you do within it.</P +></BLOCKQUOTE +></DIV +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4984" +></A +><H2 +>See Also</H2 +><P +><A +HREF="sdlevent.html" +><SPAN +CLASS="STRUCTNAME" +>SDL_Event</SPAN +></A +>, +<A +HREF="sdlgeteventfilter.html" +><TT +CLASS="FUNCTION" +>SDL_GetEventFilter</TT +></A +>, +<A +HREF="sdlpushevent.html" +><TT +CLASS="FUNCTION" +>SDL_PushEvent</TT +></A +></P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sdlpushevent.html" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sdlgeteventfilter.html" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>SDL_PushEvent</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="eventfunctions.html" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>SDL_GetEventFilter</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file