Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 3286

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crystal Space 1.2.1: iMouseDriver Struct Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>iMouseDriver Struct Reference<br>
<small>
[<a class="el" href="group__event__handling.html">Event handling</a>]</small>
</h1><!-- doxytag: class="iMouseDriver" --><!-- doxytag: inherits="iBase" -->Generic Mouse Driver.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="iutil_2csinput_8h-source.html">iutil/csinput.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for iMouseDriver:</div>
<div class="dynsection">
<p><center><img src="structiMouseDriver__inherit__graph.png" border="0" usemap="#iMouseDriver__inherit__map" alt="Inheritance graph"></center>
<map name="iMouseDriver__inherit__map">
<area shape="rect" href="classscfImplementation2.html" title="scfImplementation2\&lt; csMouseDriver, iMouseDriver, iEventHandler \&gt;" alt="" coords="5,161,475,188"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="212,7,268,33"><area shape="rect" href="classcsMouseDriver.html" title="Generic Mouse Driver." alt="" coords="181,239,299,265"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiMouseDriver-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiMouseDriver.html#7709a95847f74182af8d1118418305c8">DoButton</a> (<a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> number, int button, bool down, const <a class="el" href="group__util.html#g56f1a81c92849566ae864511088eb7e8">int32</a> *axes, <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> numAxes)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call this to add a 'mouse button down/up' event to queue.  <a href="#7709a95847f74182af8d1118418305c8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiMouseDriver.html#f858039a038f284e39c878b094364a88">DoMotion</a> (<a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> number, const <a class="el" href="group__util.html#g56f1a81c92849566ae864511088eb7e8">int32</a> *axes, <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> numAxes)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call this to add a 'mouse moved' event to queue.  <a href="#f858039a038f284e39c878b094364a88"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="group__util.html#g56f1a81c92849566ae864511088eb7e8">int32</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiMouseDriver.html#0c1cffacf437a8699a3e9dbaf027a799">GetLast</a> (<a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> n) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query last mouse position for mouse n.  <a href="#0c1cffacf437a8699a3e9dbaf027a799"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiMouseDriver.html#902cb49fe6ab8f174cc19c5766617db7">GetLast</a> (<a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> n, <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> a) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query last mouse position for mouse n on axis a.  <a href="#902cb49fe6ab8f174cc19c5766617db7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiMouseDriver.html#9b18ec2cf21cd6abe65c94744ae06547">GetLastButton</a> (<a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> number, int button) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the last known mouse button state. Button numbers start at 0.  <a href="#9b18ec2cf21cd6abe65c94744ae06547"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiMouseDriver.html#1d6bac7e97138e635a08b6498b6c8868">GetLastX</a> (<a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> number=0) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query last mouse X position for mouse number (0, 1, ...).  <a href="#1d6bac7e97138e635a08b6498b6c8868"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiMouseDriver.html#2de40d848450e8f843fb0847e55664d0">GetLastY</a> (<a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> number=0) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query last mouse Y position.  <a href="#2de40d848450e8f843fb0847e55664d0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiMouseDriver.html#aafa0493f1993238b4cf41be0fd81c80">Reset</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call to release all mouse buttons * (when focus switches from application window, for example).  <a href="#aafa0493f1993238b4cf41be0fd81c80"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiMouseDriver.html#0f530f89136dc254d6f9d5231ac7ff4f">SetDoubleClickTime</a> (int iTime, size_t iDist)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set double-click mouse parameters.  <a href="#0f530f89136dc254d6f9d5231ac7ff4f"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Generic Mouse Driver. 
<p>
The mouse driver listens for mouse-related events from the event queue and records state information about recent events. It is responsible for synthesizing double-click events when it detects that two mouse-down events have occurred for the same mouse button within a short interval. Mouse button numbers start at 0. The left mouse button is 0, the right is 1, the middle 2, and so on. Typically, one instance of this object is available from the shared-object registry (<a class="el" href="structiObjectRegistry.html" title="This interface serves as a registry of other objects.">iObjectRegistry</a>) under the name "crystalspace.driver.input.generic.mouse".<p>
Main creators of instances implementing this interface:<ul>
<li><a class="el" href="classcsInitializer.html#61494a85e1807c790070d36f5a055f10" title="Create everything needed to get a CS application operational.">csInitializer::CreateEnvironment()</a></li><li><a class="el" href="classcsInitializer.html#3c3ab90760545b22e27b3d04d0c229dd" title="This function will create the three common input drivers (csKeyboardDriver, csMouseDriver...">csInitializer::CreateInputDrivers()</a></li></ul>
<p>
Main ways to get pointers to this interface:<ul>
<li><a class="el" href="iutil_2objreg_8h.html#2a09063f1dabdde133a6269016f6a3da">CS_QUERY_REGISTRY()</a> </li></ul>

<p>Definition at line <a class="el" href="iutil_2csinput_8h-source.html#l00179">179</a> of file <a class="el" href="iutil_2csinput_8h-source.html">csinput.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="7709a95847f74182af8d1118418305c8"></a><!-- doxytag: member="iMouseDriver::DoButton" ref="7709a95847f74182af8d1118418305c8" args="(uint number, int button, bool down, const int32 *axes, uint numAxes)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iMouseDriver::DoButton           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>button</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>down</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__util.html#g56f1a81c92849566ae864511088eb7e8">int32</a> *&nbsp;</td>
          <td class="paramname"> <em>axes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>numAxes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Call this to add a 'mouse button down/up' event to queue. 
<p>
Button numbers start at zero. 
<p>Implemented in <a class="el" href="classcsMouseDriver.html#66f5a281c11579f362d6d88a8101dc87">csMouseDriver</a>.</p>

</div>
</div><p>
<a class="anchor" name="f858039a038f284e39c878b094364a88"></a><!-- doxytag: member="iMouseDriver::DoMotion" ref="f858039a038f284e39c878b094364a88" args="(uint number, const int32 *axes, uint numAxes)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iMouseDriver::DoMotion           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__util.html#g56f1a81c92849566ae864511088eb7e8">int32</a> *&nbsp;</td>
          <td class="paramname"> <em>axes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>numAxes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Call this to add a 'mouse moved' event to queue. 
<p>

<p>Implemented in <a class="el" href="classcsMouseDriver.html#24682475cbefe8b9c0374362a6a4a52a">csMouseDriver</a>.</p>

</div>
</div><p>
<a class="anchor" name="0c1cffacf437a8699a3e9dbaf027a799"></a><!-- doxytag: member="iMouseDriver::GetLast" ref="0c1cffacf437a8699a3e9dbaf027a799" args="(uint n) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="group__util.html#g56f1a81c92849566ae864511088eb7e8">int32</a>* iMouseDriver::GetLast           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Query last mouse position for mouse n. 
<p>

<p>Implemented in <a class="el" href="classcsMouseDriver.html#4b36ef2a6ec3b9de07c977cbf916aa0d">csMouseDriver</a>.</p>

</div>
</div><p>
<a class="anchor" name="902cb49fe6ab8f174cc19c5766617db7"></a><!-- doxytag: member="iMouseDriver::GetLast" ref="902cb49fe6ab8f174cc19c5766617db7" args="(uint n, uint a) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iMouseDriver::GetLast           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Query last mouse position for mouse n on axis a. 
<p>

<p>Implemented in <a class="el" href="classcsMouseDriver.html#b7a7990e0d0feb07c3d22b3b30162136">csMouseDriver</a>.</p>

</div>
</div><p>
<a class="anchor" name="9b18ec2cf21cd6abe65c94744ae06547"></a><!-- doxytag: member="iMouseDriver::GetLastButton" ref="9b18ec2cf21cd6abe65c94744ae06547" args="(uint number, int button) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iMouseDriver::GetLastButton           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>button</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Query the last known mouse button state. Button numbers start at 0. 
<p>

<p>Implemented in <a class="el" href="classcsMouseDriver.html#da153062da1fba28b3c5851ec134d402">csMouseDriver</a>.</p>

</div>
</div><p>
<a class="anchor" name="1d6bac7e97138e635a08b6498b6c8868"></a><!-- doxytag: member="iMouseDriver::GetLastX" ref="1d6bac7e97138e635a08b6498b6c8868" args="(uint number=0) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iMouseDriver::GetLastX           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>number</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Query last mouse X position for mouse number (0, 1, ...). 
<p>

<p>Implemented in <a class="el" href="classcsMouseDriver.html#cf5d06a12fdfe50d517098beefafbcbb">csMouseDriver</a>.</p>

</div>
</div><p>
<a class="anchor" name="2de40d848450e8f843fb0847e55664d0"></a><!-- doxytag: member="iMouseDriver::GetLastY" ref="2de40d848450e8f843fb0847e55664d0" args="(uint number=0) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iMouseDriver::GetLastY           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>number</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Query last mouse Y position. 
<p>

<p>Implemented in <a class="el" href="classcsMouseDriver.html#9c53aaaeadaa2de9b248e72c8d285ecf">csMouseDriver</a>.</p>

</div>
</div><p>
<a class="anchor" name="aafa0493f1993238b4cf41be0fd81c80"></a><!-- doxytag: member="iMouseDriver::Reset" ref="aafa0493f1993238b4cf41be0fd81c80" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iMouseDriver::Reset           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Call to release all mouse buttons * (when focus switches from application window, for example). 
<p>

<p>Implemented in <a class="el" href="classcsMouseDriver.html#78941293f6b97ed734aa46a356dc9e60">csMouseDriver</a>.</p>

</div>
</div><p>
<a class="anchor" name="0f530f89136dc254d6f9d5231ac7ff4f"></a><!-- doxytag: member="iMouseDriver::SetDoubleClickTime" ref="0f530f89136dc254d6f9d5231ac7ff4f" args="(int iTime, size_t iDist)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iMouseDriver::SetDoubleClickTime           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iTime</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>iDist</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set double-click mouse parameters. 
<p>

<p>Implemented in <a class="el" href="classcsMouseDriver.html#2c86dcbe08fa9a842f2933ded857c6a4">csMouseDriver</a>.</p>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>iutil/<a class="el" href="iutil_2csinput_8h-source.html">csinput.h</a></ul>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>