Mercurial > sdl-ios-xcode
view docs/html/sdlpushevent.html @ 3191:91b335df6fc8
Fixed bug #750
Since many different event structures include windowID it should be placed near
the beginning of the structure (preferably right after type) so it's position
is the same between different events.
This is to avoid code like this:
if (event.type == SDL_WINDOWEVENT)
win = event.window.windowID;
else if ((SDL_EVENTMASK(event.type) & SDL_KEYEVENTMASK) != 0)
win = event.key.windowID;
else if (event.type == SDL_TEXTINPUT)
win = event.text.windowID;
else if (event.type == SDL_MOUSEMOTION)
win = event.motion.windowID;
else if ((SDL_EVENTMASK(event.type) & (SDL_MOUBUTTONDOWNMASK |
SDL_MOUBUTTONUPMASK)) != 0)
win = event.button.windowID;
else if (event.type == SDL_MOUSEWHEEL)
win = event.wheel.windowID;
...
in favor of:
win = event.window.windowID;
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 10 Jun 2009 14:00:21 +0000 |
parents | 355632dca928 |
children |
line wrap: on
line source
<HTML ><HEAD ><TITLE >SDL_PushEvent</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_WaitEvent" HREF="sdlwaitevent.html"><LINK REL="NEXT" TITLE="SDL_SetEventFilter" HREF="sdlseteventfilter.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="sdlwaitevent.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="sdlseteventfilter.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="SDLPUSHEVENT" ></A >SDL_PushEvent</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN5536" ></A ><H2 >Name</H2 >SDL_PushEvent -- Pushes an event onto the event queue</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN5539" ></A ><H2 >Synopsis</H2 ><DIV CLASS="FUNCSYNOPSIS" ><A NAME="AEN5540" ></A ><P ></P ><PRE CLASS="FUNCSYNOPSISINFO" >#include "SDL.h"</PRE ><P ><CODE ><CODE CLASS="FUNCDEF" >int <B CLASS="FSFUNC" >SDL_PushEvent</B ></CODE >(SDL_Event *event);</CODE ></P ><P ></P ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN5546" ></A ><H2 >Description</H2 ><P >The event queue can actually be used as a two way communication channel. Not only can events be read from the queue, but the user can also push their own events onto it. <TT CLASS="PARAMETER" ><I >event</I ></TT > is a pointer to the event structure you wish to push onto the queue.</P ><DIV CLASS="NOTE" ><BLOCKQUOTE CLASS="NOTE" ><P ><B >Note: </B >Pushing device input events onto the queue doesn't modify the state of the device within SDL.</P ></BLOCKQUOTE ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN5552" ></A ><H2 >Return Value</H2 ><P >Returns <SPAN CLASS="RETURNVALUE" >0</SPAN > on success or <SPAN CLASS="RETURNVALUE" >-1</SPAN > if the event couldn't be pushed.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN5557" ></A ><H2 >Examples</H2 ><P >See <A HREF="sdlevent.html" ><SPAN CLASS="STRUCTNAME" >SDL_Event</SPAN ></A >.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN5562" ></A ><H2 >See Also</H2 ><P ><A HREF="sdlpollevent.html" ><TT CLASS="FUNCTION" >SDL_PollEvent</TT ></A >, <A HREF="sdlpeepevents.html" ><TT CLASS="FUNCTION" >SDL_PeepEvents</TT ></A >, <A HREF="sdlevent.html" ><SPAN CLASS="STRUCTNAME" >SDL_Event</SPAN ></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="sdlwaitevent.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="sdlseteventfilter.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >SDL_WaitEvent</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_SetEventFilter</TD ></TR ></TABLE ></DIV ></BODY ></HTML >