<HTML
><HEAD
><TITLE
>SDL_GetEventFilter</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="SDL Library Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="Event Functions."
HREF="eventfunctions.html"><LINK
REL="PREVIOUS"
TITLE="SDL_SetEventFilter"
HREF="sdlseteventfilter.html"><LINK
REL="NEXT"
TITLE="SDL_EventState"
HREF="sdleventstate.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFF8DC"
TEXT="#000000"
LINK="#0000ee"
VLINK="#551a8b"
ALINK="#ff0000"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation 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="sdlseteventfilter.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="sdleventstate.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="SDLGETEVENTFILTER"
></A
>SDL_GetEventFilter</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN5615"
></A
><H2
>Name</H2
>SDL_GetEventFilter&nbsp;--&nbsp;Retrieves a pointer to he event filter</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN5618"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN5619"
></A
><P
></P
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include "SDL.h"</PRE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>SDL_EventFilter <B
CLASS="FSFUNC"
>SDL_GetEventFilter</B
></CODE
>(void);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5625"
></A
><H2
>Description</H2
><P
>This function retrieces a pointer to the event filter that was previously set using <A
HREF="sdlseteventfilter.html"
><TT
CLASS="FUNCTION"
>SDL_SetEventFilter</TT
></A
>. An SDL_EventFilter function is defined as:
<PRE
CLASS="PROGRAMLISTING"
>typedef int (*SDL_EventFilter)(const SDL_Event *event);</PRE
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5631"
></A
><H2
>Return Value</H2
><P
>Returns a pointer to the event filter or <TT
CLASS="LITERAL"
>NULL</TT
> if no filter has been set.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5635"
></A
><H2
>See Also</H2
><P
><A
HREF="sdlevent.html"
><SPAN
CLASS="STRUCTNAME"
>SDL_Event</SPAN
></A
>,
<A
HREF="sdlseteventfilter.html"
><TT
CLASS="FUNCTION"
>SDL_SetEventFilter</TT
></A
></P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="sdlseteventfilter.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="sdleventstate.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>SDL_SetEventFilter</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="eventfunctions.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>SDL_EventState</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>