source: OGRE/trunk/ogrenew/Docs/api/html/OgreSDLInput_8h-source.html @ 657

Revision 657, 14.9 KB checked in by mattausch, 18 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1<html>
2<head>
3<title>OgreSDLInput.h Source File - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4<link type="text/css" rel="stylesheet" href="style.css">
5</head>
6
7<body>
8<!-- Generated by Doxygen 1.3.6 -->
9<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
10<h1>OgreSDLInput.h</h1><a href="OgreSDLInput_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
1100002 <span class="comment">-----------------------------------------------------------------------------</span>
1200003 <span class="comment">This source file is part of OGRE</span>
1300004 <span class="comment">    (Object-oriented Graphics Rendering Engine)</span>
1400005 <span class="comment">For the latest info, see http://www.ogre3d.org/</span>
1500006 <span class="comment"></span>
1600007 <span class="comment">Copyright (c) 2000-2005 The OGRE Team</span>
1700008 <span class="comment">Also see acknowledgements in Readme.html</span>
1800009 <span class="comment"></span>
1900010 <span class="comment">This program is free software; you can redistribute it and/or modify it under</span>
2000011 <span class="comment">the terms of the GNU Lesser General Public License as published by the Free Software</span>
2100012 <span class="comment">Foundation; either version 2 of the License, or (at your option) any later</span>
2200013 <span class="comment">version.</span>
2300014 <span class="comment"></span>
2400015 <span class="comment">This program is distributed in the hope that it will be useful, but WITHOUT</span>
2500016 <span class="comment">ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</span>
2600017 <span class="comment">FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</span>
2700018 <span class="comment"></span>
2800019 <span class="comment">You should have received a copy of the GNU Lesser General Public License along with</span>
2900020 <span class="comment">this program; if not, write to the Free Software Foundation, Inc., 59 Temple</span>
3000021 <span class="comment">Place - Suite 330, Boston, MA 02111-1307, USA, or go to</span>
3100022 <span class="comment">http://www.gnu.org/copyleft/lesser.txt.</span>
3200023 <span class="comment">-----------------------------------------------------------------------------</span>
3300024 <span class="comment">*/</span>
3400025
3500026
3600027 <span class="preprocessor">#ifndef __SDLInputReader_H__</span>
3700028 <span class="preprocessor"></span><span class="preprocessor">#define __SDLInputReader_H__</span>
3800029 <span class="preprocessor"></span>
3900030 <span class="preprocessor">#include "<a class="code" href="OgreInput_8h.html">OgreInput.h</a>"</span>
4000031 <span class="preprocessor">#include "<a class="code" href="OgreInputEvent_8h.html">OgreInputEvent.h</a>"</span>
4100032 <span class="preprocessor">#include "<a class="code" href="OgreRenderWindow_8h.html">OgreRenderWindow.h</a>"</span>
4200033
4300034 <span class="preprocessor">#include &lt;map&gt;</span>
4400035
4500036 <span class="preprocessor">#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE</span>
4600037 <span class="preprocessor"></span><span class="preprocessor">#   include &lt;SDL/sdl.h&gt;</span>
4700038 <span class="preprocessor">#else</span>
4800039 <span class="preprocessor"></span><span class="preprocessor">#   include &lt;SDL.h&gt;</span>
4900040 <span class="preprocessor">#endif</span>
5000041 <span class="preprocessor"></span>
5100042 <span class="keyword">namespace </span>Ogre {
52<a name="l00043"></a><a class="code" href="namespaceOgre.html#a683">00043</a>     <span class="keyword">enum</span> <a class="code" href="namespaceOgre.html#a683">GrabMode</a>
5300044     {
5400045         <a class="code" href="namespaceOgre.html#a683a554">GRAB_NONE</a>,
5500046         <a class="code" href="namespaceOgre.html#a683a555">GRAB_MOUSE_OVER</a>,
5600047         <a class="code" href="namespaceOgre.html#a683a556">GRAB_MOUSE_CLICK</a>   <span class="comment">// this is the default</span>
5700048     };
5800049
59<a name="l00050"></a><a class="code" href="classOgre_1_1SDLInput.html">00050</a>     <span class="keyword">class </span><a class="code" href="classOgre_1_1SDLInput.html">SDLInput</a> : <span class="keyword">public</span> <a class="code" href="classOgre_1_1InputReader.html">InputReader</a>
6000051     {
6100052     <span class="keyword">public</span>:
6200053         <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa0">SDLInput</a>();
6300054         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa1">~SDLInput</a>();
6400055
6500056         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa2">initialise</a>( <a class="code" href="classOgre_1_1RenderWindow.html">RenderWindow</a>* pWindow, <span class="keywordtype">bool</span> useKeyboard = <span class="keyword">true</span>, <span class="keywordtype">bool</span> useMouse = <span class="keyword">true</span>, <span class="keywordtype">bool</span> useGameController = <span class="keyword">false</span> );
6600057         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa3">capture</a>();
6700058
68<a name="l00064"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa4">00064</a>         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa4">setGrabMode</a>( GrabMode mode ) { <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr14">mGrabMode</a> = mode; }
6900065
7000066         <span class="comment">/*</span>
7100067 <span class="comment">         * Mouse getters</span>
7200068 <span class="comment">         */</span>
7300069         <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa5">getMouseRelX</a>() <span class="keyword">const</span>;
7400070         <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa6">getMouseRelY</a>() <span class="keyword">const</span>;
7500071         <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa7">getMouseRelZ</a>() <span class="keyword">const</span>;
7600072
7700073         <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa8">getMouseAbsX</a>() <span class="keyword">const</span>;
7800074         <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa9">getMouseAbsY</a>() <span class="keyword">const</span>;
7900075         <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa10">getMouseAbsZ</a>() <span class="keyword">const</span>;
8000076
8100077         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa11">getMouseState</a>( <a class="code" href="structOgre_1_1MouseState.html">MouseState</a>&amp; state ) <span class="keyword">const</span>;
8200078
8300079         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputa12">getMouseButton</a>( <a class="code" href="namespaceOgre.html#a421">uchar</a> button ) <span class="keyword">const</span>;
8400080
8500081     <span class="keyword">private</span>:
8600082         <span class="comment">// State at last 'capture' call</span>
87<a name="l00083"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr0">00083</a>         Uint8* <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr0">mKeyboardBuffer</a>;
88<a name="l00084"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr1">00084</a>         <span class="keywordtype">int</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr1">mMaxKey</a>;
89<a name="l00085"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr3">00085</a>         <span class="keywordtype">int</span> mMouseX, mMouseY;
90<a name="l00086"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr6">00086</a>         <span class="keywordtype">int</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr4">mMouseRelativeX</a>, <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr5">mMouseRelativeY</a>, <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr6">mMouseRelativeZ</a>;
91<a name="l00087"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr7">00087</a>         <a class="code" href="namespaceOgre.html#a420">Real</a> mScale;
92<a name="l00088"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr8">00088</a>         Uint8 <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr8">mMouseKeys</a>;
93<a name="l00089"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr9">00089</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr9">_visible</a>;
9400090         
95<a name="l00091"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr10">00091</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr10">mMouseGrabbed</a>;  <span class="comment">// true if Ogre has control over the mouse input</span>
96<a name="l00092"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr11">00092</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr11">mUseMouse</a>;   <span class="comment">// true if initialise() is called with useMouse == true</span>
97<a name="l00093"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr12">00093</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr12">mGrabMouse</a>;  <span class="comment">// grab the mouse input if the situation specified by mGrabMode arises</span>
98<a name="l00094"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr13">00094</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr13">mMouseLeft</a>;  <span class="comment">// true if the mouse pointer has left the window after calling releaseMouse(). Needed for</span>
9900095                           <span class="comment">// mGrabMode == GRAB_MOUSE_BUTTON.</span>
100<a name="l00096"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr14">00096</a>         <span class="keywordtype">int</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr14">mGrabMode</a>;    <span class="comment">// when/how to grab the mouse</span>
10100097
102<a name="l00098"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputy0">00098</a>         <span class="keyword">typedef</span> std::map&lt;SDLKey, KeyCode&gt; InputKeyMap;
103<a name="l00099"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr15">00099</a>         InputKeyMap _key_map;
104<a name="l00100"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputr16">00100</a>         <span class="keywordtype">bool</span> warpMouse;
10500101
10600102         <span class="comment">// the value that is added to mMouseRelativeZ when the wheel</span>
10700103         <span class="comment">// is moved one step (this value is actually added</span>
10800104         <span class="comment">// twice per movement since a wheel movement triggers a</span>
10900105         <span class="comment">// MOUSEBUTTONUP and a MOUSEBUTTONDOWN event).</span>
11000106         <span class="comment">// The value is chosen according to the windoze value.</span>
111<a name="l00107"></a><a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputv0">00107</a>         <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mWheelStep = 60;
11200108
11300109         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputd0">processBufferedKeyboard</a>();
11400110         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputd1">processBufferedMouse</a>();
11500111
11600112         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputd2">_grabMouse</a>();
11700113         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputd3">_releaseMouse</a>();
11800114         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1SDLInput.html#Ogre_1_1SDLInputd4">isKeyDownImmediate</a>( KeyCode kc ) <span class="keyword">const</span>;
11900115     };
12000116 }
12100117
12200118 <span class="preprocessor">#endif</span>
12300119 <span class="preprocessor"></span>
124</pre></div><hr>
125<p>
126Copyright &copy; 2000-2005 by The OGRE Team<br />
127<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>
128This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>.<br/>
129                <!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
130                <Work rdf:about="">
131                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
132        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
133                </Work>
134                <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
135
136Last modified Sun Feb 12 12:59:52 2006
137</p>
138</body>
139</html>
Note: See TracBrowser for help on using the repository browser.