Mercurial > sdl-ios-xcode
view docs/html/sdlmousebuttonevent.html @ 2860:6ce28e5287e9
Date: Sun, 07 Dec 2008 13:35:23 +0100
From: Couriersud
Subject: SDL: Mouse last_x, last_y into SDL_Mouse
the attached diff moves the static vars last_x and last_y into
SDL_Mouse. These, as far as I understand it, should be tied to the
individual mouse.
The patch also makes the code check for out of window conditions of
mouse->x,y when relative movements are passed to MouseSendMotion.
Also attached is the latest DirectFB code (dfb20081208) supporting
multiple mice and keyboards. This works quite well with sdlmame now. It
however needs more testing with different directfb configurations.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 08 Dec 2008 00:52:12 +0000 |
parents | 355632dca928 |
children |
line wrap: on
line source
<HTML ><HEAD ><TITLE >SDL_MouseButtonEvent</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="SDL Event Structures." HREF="eventstructures.html"><LINK REL="PREVIOUS" TITLE="SDL_MouseMotionEvent" HREF="sdlmousemotionevent.html"><LINK REL="NEXT" TITLE="SDL_JoyAxisEvent" HREF="sdljoyaxisevent.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="sdlmousemotionevent.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="sdljoyaxisevent.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="SDLMOUSEBUTTONEVENT" ></A >SDL_MouseButtonEvent</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN4144" ></A ><H2 >Name</H2 >SDL_MouseButtonEvent -- Mouse button event structure</DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN4147" ></A ><H2 >Structure Definition</H2 ><PRE CLASS="PROGRAMLISTING" >typedef struct{ Uint8 type; Uint8 button; Uint8 state; Uint16 x, y; } SDL_MouseButtonEvent;</PRE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN4150" ></A ><H2 >Structure Data</H2 ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN4152" ></A ><P ></P ><TABLE BORDER="0" CLASS="CALSTABLE" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >type</I ></TT ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="LITERAL" >SDL_MOUSEBUTTONDOWN</TT > or <TT CLASS="LITERAL" >SDL_MOUSEBUTTONUP</TT ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >button</I ></TT ></TD ><TD ALIGN="LEFT" VALIGN="TOP" >The mouse button index (SDL_BUTTON_LEFT, SDL_BUTTON_MIDDLE, SDL_BUTTON_RIGHT)</TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >state</I ></TT ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="LITERAL" >SDL_PRESSED</TT > or <TT CLASS="LITERAL" >SDL_RELEASED</TT ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >x</I ></TT >, <TT CLASS="STRUCTFIELD" ><I >y</I ></TT ></TD ><TD ALIGN="LEFT" VALIGN="TOP" >The X/Y coordinates of the mouse at press/release time</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN4176" ></A ><H2 >Description</H2 ><P ><SPAN CLASS="STRUCTNAME" >SDL_MouseButtonEvent</SPAN > is a member of the <A HREF="sdlevent.html" ><SPAN CLASS="STRUCTNAME" >SDL_Event</SPAN ></A > union and is used when an event of type <TT CLASS="LITERAL" >SDL_MOUSEBUTTONDOWN</TT > or <TT CLASS="LITERAL" >SDL_MOUSEBUTTONUP</TT > is reported.</P ><P >When a mouse button press or release is detected then number of the button pressed (from 1 to 255, with 1 usually being the left button and 2 the right) is placed into <TT CLASS="STRUCTFIELD" ><I >button</I ></TT >, the position of the mouse when this event occured is stored in the <TT CLASS="STRUCTFIELD" ><I >x</I ></TT > and the <TT CLASS="STRUCTFIELD" ><I >y</I ></TT > fields. Like <A HREF="sdlkeyboardevent.html" ><SPAN CLASS="STRUCTNAME" >SDL_KeyboardEvent</SPAN ></A >, information on whether the event was a press or a release event is stored in both the <TT CLASS="STRUCTFIELD" ><I >type</I ></TT > and <TT CLASS="STRUCTFIELD" ><I >state</I ></TT > fields, but this should be obvious.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN4192" ></A ><H2 >See Also</H2 ><P ><A HREF="sdlevent.html" ><SPAN CLASS="STRUCTNAME" >SDL_Event</SPAN ></A >, <A HREF="sdlmousemotionevent.html" ><SPAN CLASS="STRUCTNAME" >SDL_MouseMotionEvent</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="sdlmousemotionevent.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="sdljoyaxisevent.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >SDL_MouseMotionEvent</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="eventstructures.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >SDL_JoyAxisEvent</TD ></TR ></TABLE ></DIV ></BODY ></HTML >