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&nbsp;--&nbsp;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