<html> <head> <title>OgreInput.h Source File - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link type="text/css" rel="stylesheet" href="style.css"> </head> <body> <!-- Generated by Doxygen 1.3.6 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <h1>OgreInput.h</h1><a href="OgreInput_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span> 00002 <span class="comment">-----------------------------------------------------------------------------</span> 00003 <span class="comment">This source file is part of OGRE</span> 00004 <span class="comment"> (Object-oriented Graphics Rendering Engine)</span> 00005 <span class="comment">For the latest info, see http://www.ogre3d.org/</span> 00006 <span class="comment"></span> 00007 <span class="comment">Copyright (c) 2000-2005 The OGRE Team</span> 00008 <span class="comment">Also see acknowledgements in Readme.html</span> 00009 <span class="comment"></span> 00010 <span class="comment">This program is free software; you can redistribute it and/or modify it under</span> 00011 <span class="comment">the terms of the GNU Lesser General Public License as published by the Free Software</span> 00012 <span class="comment">Foundation; either version 2 of the License, or (at your option) any later</span> 00013 <span class="comment">version.</span> 00014 <span class="comment"></span> 00015 <span class="comment">This program is distributed in the hope that it will be useful, but WITHOUT</span> 00016 <span class="comment">ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</span> 00017 <span class="comment">FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</span> 00018 <span class="comment"></span> 00019 <span class="comment">You should have received a copy of the GNU Lesser General Public License along with</span> 00020 <span class="comment">this program; if not, write to the Free Software Foundation, Inc., 59 Temple</span> 00021 <span class="comment">Place - Suite 330, Boston, MA 02111-1307, USA, or go to</span> 00022 <span class="comment">http://www.gnu.org/copyleft/lesser.txt.</span> 00023 <span class="comment">-----------------------------------------------------------------------------</span> 00024 <span class="comment">*/</span> 00025 <span class="preprocessor">#ifndef __Input_H__</span> 00026 <span class="preprocessor"></span><span class="preprocessor">#define __Input_H__</span> 00027 <span class="preprocessor"></span> 00028 <span class="preprocessor">#include "<a class="code" href="OgrePrerequisites_8h.html">OgrePrerequisites.h</a>"</span> 00029 00030 <span class="keyword">namespace </span>Ogre { 00031 <a name="l00034"></a><a class="code" href="namespaceOgre.html#a657">00034</a> <span class="keyword">enum</span> <a class="code" href="namespaceOgre.html#a657">KeyCode</a> 00035 { 00036 <a class="code" href="namespaceOgre.html#a657a164">KC_ESCAPE</a> =0x01, 00037 <a class="code" href="namespaceOgre.html#a657a165">KC_1</a> =0x02, 00038 <a class="code" href="namespaceOgre.html#a657a166">KC_2</a> =0x03, 00039 <a class="code" href="namespaceOgre.html#a657a167">KC_3</a> =0x04, 00040 <a class="code" href="namespaceOgre.html#a657a168">KC_4</a> =0x05, 00041 <a class="code" href="namespaceOgre.html#a657a169">KC_5</a> =0x06, 00042 <a class="code" href="namespaceOgre.html#a657a170">KC_6</a> =0x07, 00043 <a class="code" href="namespaceOgre.html#a657a171">KC_7</a> =0x08, 00044 <a class="code" href="namespaceOgre.html#a657a172">KC_8</a> =0x09, 00045 <a class="code" href="namespaceOgre.html#a657a173">KC_9</a> =0x0A, 00046 <a class="code" href="namespaceOgre.html#a657a174">KC_0</a> =0x0B, 00047 <a class="code" href="namespaceOgre.html#a657a175">KC_MINUS</a> =0x0C, <span class="comment">/* - on main keyboard */</span> 00048 <a class="code" href="namespaceOgre.html#a657a176">KC_EQUALS</a> =0x0D, 00049 <a class="code" href="namespaceOgre.html#a657a177">KC_BACK</a> =0x0E, <span class="comment">/* backspace */</span> 00050 <a class="code" href="namespaceOgre.html#a657a178">KC_TAB</a> =0x0F, 00051 <a class="code" href="namespaceOgre.html#a657a179">KC_Q</a> =0x10, 00052 <a class="code" href="namespaceOgre.html#a657a180">KC_W</a> =0x11, 00053 <a class="code" href="namespaceOgre.html#a657a181">KC_E</a> =0x12, 00054 <a class="code" href="namespaceOgre.html#a657a182">KC_R</a> =0x13, 00055 <a class="code" href="namespaceOgre.html#a657a183">KC_T</a> =0x14, 00056 <a class="code" href="namespaceOgre.html#a657a184">KC_Y</a> =0x15, 00057 <a class="code" href="namespaceOgre.html#a657a185">KC_U</a> =0x16, 00058 <a class="code" href="namespaceOgre.html#a657a186">KC_I</a> =0x17, 00059 <a class="code" href="namespaceOgre.html#a657a187">KC_O</a> =0x18, 00060 <a class="code" href="namespaceOgre.html#a657a188">KC_P</a> =0x19, 00061 <a class="code" href="namespaceOgre.html#a657a189">KC_LBRACKET</a> =0x1A, 00062 <a class="code" href="namespaceOgre.html#a657a190">KC_RBRACKET</a> =0x1B, 00063 <a class="code" href="namespaceOgre.html#a657a191">KC_RETURN</a> =0x1C, <span class="comment">/* Enter on main keyboard */</span> 00064 <a class="code" href="namespaceOgre.html#a657a192">KC_LCONTROL</a> =0x1D, 00065 <a class="code" href="namespaceOgre.html#a657a193">KC_A</a> =0x1E, 00066 <a class="code" href="namespaceOgre.html#a657a194">KC_S</a> =0x1F, 00067 <a class="code" href="namespaceOgre.html#a657a195">KC_D</a> =0x20, 00068 <a class="code" href="namespaceOgre.html#a657a196">KC_F</a> =0x21, 00069 <a class="code" href="namespaceOgre.html#a657a197">KC_G</a> =0x22, 00070 <a class="code" href="namespaceOgre.html#a657a198">KC_H</a> =0x23, 00071 <a class="code" href="namespaceOgre.html#a657a199">KC_J</a> =0x24, 00072 <a class="code" href="namespaceOgre.html#a657a200">KC_K</a> =0x25, 00073 <a class="code" href="namespaceOgre.html#a657a201">KC_L</a> =0x26, 00074 <a class="code" href="namespaceOgre.html#a657a202">KC_SEMICOLON</a> =0x27, 00075 <a class="code" href="namespaceOgre.html#a657a203">KC_APOSTROPHE</a> =0x28, 00076 <a class="code" href="namespaceOgre.html#a657a204">KC_GRAVE</a> =0x29, <span class="comment">/* accent grave */</span> 00077 <a class="code" href="namespaceOgre.html#a657a205">KC_LSHIFT</a> =0x2A, 00078 <a class="code" href="namespaceOgre.html#a657a206">KC_BACKSLASH</a> =0x2B, 00079 <a class="code" href="namespaceOgre.html#a657a207">KC_Z</a> =0x2C, 00080 <a class="code" href="namespaceOgre.html#a657a208">KC_X</a> =0x2D, 00081 <a class="code" href="namespaceOgre.html#a657a209">KC_C</a> =0x2E, 00082 <a class="code" href="namespaceOgre.html#a657a210">KC_V</a> =0x2F, 00083 <a class="code" href="namespaceOgre.html#a657a211">KC_B</a> =0x30, 00084 <a class="code" href="namespaceOgre.html#a657a212">KC_N</a> =0x31, 00085 <a class="code" href="namespaceOgre.html#a657a213">KC_M</a> =0x32, 00086 <a class="code" href="namespaceOgre.html#a657a214">KC_COMMA</a> =0x33, 00087 <a class="code" href="namespaceOgre.html#a657a215">KC_PERIOD</a> =0x34, <span class="comment">/* . on main keyboard */</span> 00088 <a class="code" href="namespaceOgre.html#a657a216">KC_SLASH</a> =0x35, <span class="comment">/* '/' on main keyboard */</span> 00089 <a class="code" href="namespaceOgre.html#a657a217">KC_RSHIFT</a> =0x36, 00090 <a class="code" href="namespaceOgre.html#a657a218">KC_MULTIPLY</a> =0x37, <span class="comment">/* * on numeric keypad */</span> 00091 <a class="code" href="namespaceOgre.html#a657a219">KC_LMENU</a> =0x38, <span class="comment">/* left Alt */</span> 00092 <a class="code" href="namespaceOgre.html#a657a220">KC_SPACE</a> =0x39, 00093 <a class="code" href="namespaceOgre.html#a657a221">KC_CAPITAL</a> =0x3A, 00094 <a class="code" href="namespaceOgre.html#a657a222">KC_F1</a> =0x3B, 00095 <a class="code" href="namespaceOgre.html#a657a223">KC_F2</a> =0x3C, 00096 <a class="code" href="namespaceOgre.html#a657a224">KC_F3</a> =0x3D, 00097 <a class="code" href="namespaceOgre.html#a657a225">KC_F4</a> =0x3E, 00098 <a class="code" href="namespaceOgre.html#a657a226">KC_F5</a> =0x3F, 00099 <a class="code" href="namespaceOgre.html#a657a227">KC_F6</a> =0x40, 00100 <a class="code" href="namespaceOgre.html#a657a228">KC_F7</a> =0x41, 00101 <a class="code" href="namespaceOgre.html#a657a229">KC_F8</a> =0x42, 00102 <a class="code" href="namespaceOgre.html#a657a230">KC_F9</a> =0x43, 00103 <a class="code" href="namespaceOgre.html#a657a231">KC_F10</a> =0x44, 00104 <a class="code" href="namespaceOgre.html#a657a232">KC_NUMLOCK</a> =0x45, 00105 <a class="code" href="namespaceOgre.html#a657a233">KC_SCROLL</a> =0x46, <span class="comment">/* Scroll Lock */</span> 00106 <a class="code" href="namespaceOgre.html#a657a234">KC_NUMPAD7</a> =0x47, 00107 <a class="code" href="namespaceOgre.html#a657a235">KC_NUMPAD8</a> =0x48, 00108 <a class="code" href="namespaceOgre.html#a657a236">KC_NUMPAD9</a> =0x49, 00109 <a class="code" href="namespaceOgre.html#a657a237">KC_SUBTRACT</a> =0x4A, <span class="comment">/* - on numeric keypad */</span> 00110 <a class="code" href="namespaceOgre.html#a657a238">KC_NUMPAD4</a> =0x4B, 00111 <a class="code" href="namespaceOgre.html#a657a239">KC_NUMPAD5</a> =0x4C, 00112 <a class="code" href="namespaceOgre.html#a657a240">KC_NUMPAD6</a> =0x4D, 00113 <a class="code" href="namespaceOgre.html#a657a241">KC_ADD</a> =0x4E, <span class="comment">/* + on numeric keypad */</span> 00114 <a class="code" href="namespaceOgre.html#a657a242">KC_NUMPAD1</a> =0x4F, 00115 <a class="code" href="namespaceOgre.html#a657a243">KC_NUMPAD2</a> =0x50, 00116 <a class="code" href="namespaceOgre.html#a657a244">KC_NUMPAD3</a> =0x51, 00117 <a class="code" href="namespaceOgre.html#a657a245">KC_NUMPAD0</a> =0x52, 00118 <a class="code" href="namespaceOgre.html#a657a246">KC_DECIMAL</a> =0x53, <span class="comment">/* . on numeric keypad */</span> 00119 <a class="code" href="namespaceOgre.html#a657a247">KC_OEM_102</a> =0x56, <span class="comment">/* < > | on UK/Germany keyboards */</span> 00120 <a class="code" href="namespaceOgre.html#a657a248">KC_F11</a> =0x57, 00121 <a class="code" href="namespaceOgre.html#a657a249">KC_F12</a> =0x58, 00122 <a class="code" href="namespaceOgre.html#a657a250">KC_F13</a> =0x64, <span class="comment">/* (NEC PC98) */</span> 00123 <a class="code" href="namespaceOgre.html#a657a251">KC_F14</a> =0x65, <span class="comment">/* (NEC PC98) */</span> 00124 <a class="code" href="namespaceOgre.html#a657a252">KC_F15</a> =0x66, <span class="comment">/* (NEC PC98) */</span> 00125 <a class="code" href="namespaceOgre.html#a657a253">KC_KANA</a> =0x70, <span class="comment">/* (Japanese keyboard) */</span> 00126 <a class="code" href="namespaceOgre.html#a657a254">KC_ABNT_C1</a> =0x73, <span class="comment">/* / ? on Portugese (Brazilian) keyboards */</span> 00127 <a class="code" href="namespaceOgre.html#a657a255">KC_CONVERT</a> =0x79, <span class="comment">/* (Japanese keyboard) */</span> 00128 <a class="code" href="namespaceOgre.html#a657a256">KC_NOCONVERT</a> =0x7B, <span class="comment">/* (Japanese keyboard) */</span> 00129 <a class="code" href="namespaceOgre.html#a657a257">KC_YEN</a> =0x7D, <span class="comment">/* (Japanese keyboard) */</span> 00130 <a class="code" href="namespaceOgre.html#a657a258">KC_ABNT_C2</a> =0x7E, <span class="comment">/* Numpad . on Portugese (Brazilian) keyboards */</span> 00131 <a class="code" href="namespaceOgre.html#a657a259">KC_NUMPADEQUALS</a> =0x8D, <span class="comment">/* = on numeric keypad (NEC PC98) */</span> 00132 <a class="code" href="namespaceOgre.html#a657a260">KC_PREVTRACK</a> =0x90, <span class="comment">/* Previous Track (KC_CIRCUMFLEX on Japanese keyboard) */</span> 00133 <a class="code" href="namespaceOgre.html#a657a261">KC_AT</a> =0x91, <span class="comment">/* (NEC PC98) */</span> 00134 <a class="code" href="namespaceOgre.html#a657a262">KC_COLON</a> =0x92, <span class="comment">/* (NEC PC98) */</span> 00135 <a class="code" href="namespaceOgre.html#a657a263">KC_UNDERLINE</a> =0x93, <span class="comment">/* (NEC PC98) */</span> 00136 <a class="code" href="namespaceOgre.html#a657a264">KC_KANJI</a> =0x94, <span class="comment">/* (Japanese keyboard) */</span> 00137 <a class="code" href="namespaceOgre.html#a657a265">KC_STOP</a> =0x95, <span class="comment">/* (NEC PC98) */</span> 00138 <a class="code" href="namespaceOgre.html#a657a266">KC_AX</a> =0x96, <span class="comment">/* (Japan AX) */</span> 00139 <a class="code" href="namespaceOgre.html#a657a267">KC_UNLABELED</a> =0x97, <span class="comment">/* (J3100) */</span> 00140 <a class="code" href="namespaceOgre.html#a657a268">KC_NEXTTRACK</a> =0x99, <span class="comment">/* Next Track */</span> 00141 <a class="code" href="namespaceOgre.html#a657a269">KC_NUMPADENTER</a> =0x9C, <span class="comment">/* Enter on numeric keypad */</span> 00142 <a class="code" href="namespaceOgre.html#a657a270">KC_RCONTROL</a> =0x9D, 00143 <a class="code" href="namespaceOgre.html#a657a271">KC_MUTE</a> =0xA0, <span class="comment">/* Mute */</span> 00144 <a class="code" href="namespaceOgre.html#a657a272">KC_CALCULATOR</a> =0xA1, <span class="comment">/* Calculator */</span> 00145 <a class="code" href="namespaceOgre.html#a657a273">KC_PLAYPAUSE</a> =0xA2, <span class="comment">/* Play / Pause */</span> 00146 <a class="code" href="namespaceOgre.html#a657a274">KC_MEDIASTOP</a> =0xA4, <span class="comment">/* Media Stop */</span> 00147 <a class="code" href="namespaceOgre.html#a657a275">KC_VOLUMEDOWN</a> =0xAE, <span class="comment">/* Volume - */</span> 00148 <a class="code" href="namespaceOgre.html#a657a276">KC_VOLUMEUP</a> =0xB0, <span class="comment">/* Volume + */</span> 00149 <a class="code" href="namespaceOgre.html#a657a277">KC_WEBHOME</a> =0xB2, <span class="comment">/* Web home */</span> 00150 <a class="code" href="namespaceOgre.html#a657a278">KC_NUMPADCOMMA</a> =0xB3, <span class="comment">/* , on numeric keypad (NEC PC98) */</span> 00151 <a class="code" href="namespaceOgre.html#a657a279">KC_DIVIDE</a> =0xB5, <span class="comment">/* / on numeric keypad */</span> 00152 <a class="code" href="namespaceOgre.html#a657a280">KC_SYSRQ</a> =0xB7, 00153 <a class="code" href="namespaceOgre.html#a657a281">KC_RMENU</a> =0xB8, <span class="comment">/* right Alt */</span> 00154 <a class="code" href="namespaceOgre.html#a657a282">KC_PAUSE</a> =0xC5, <span class="comment">/* Pause */</span> 00155 <a class="code" href="namespaceOgre.html#a657a283">KC_HOME</a> =0xC7, <span class="comment">/* Home on arrow keypad */</span> 00156 <a class="code" href="namespaceOgre.html#a657a284">KC_UP</a> =0xC8, <span class="comment">/* UpArrow on arrow keypad */</span> 00157 <a class="code" href="namespaceOgre.html#a657a285">KC_PGUP</a> =0xC9, <span class="comment">/* PgUp on arrow keypad */</span> 00158 <a class="code" href="namespaceOgre.html#a657a286">KC_LEFT</a> =0xCB, <span class="comment">/* LeftArrow on arrow keypad */</span> 00159 <a class="code" href="namespaceOgre.html#a657a287">KC_RIGHT</a> =0xCD, <span class="comment">/* RightArrow on arrow keypad */</span> 00160 <a class="code" href="namespaceOgre.html#a657a288">KC_END</a> =0xCF, <span class="comment">/* End on arrow keypad */</span> 00161 <a class="code" href="namespaceOgre.html#a657a289">KC_DOWN</a> =0xD0, <span class="comment">/* DownArrow on arrow keypad */</span> 00162 <a class="code" href="namespaceOgre.html#a657a290">KC_PGDOWN</a> =0xD1, <span class="comment">/* PgDn on arrow keypad */</span> 00163 <a class="code" href="namespaceOgre.html#a657a291">KC_INSERT</a> =0xD2, <span class="comment">/* Insert on arrow keypad */</span> 00164 <a class="code" href="namespaceOgre.html#a657a292">KC_DELETE</a> =0xD3, <span class="comment">/* Delete on arrow keypad */</span> 00165 <a class="code" href="namespaceOgre.html#a657a293">KC_LWIN</a> =0xDB, <span class="comment">/* Left Windows key */</span> 00166 <a class="code" href="namespaceOgre.html#a657a294">KC_RWIN</a> =0xDC, <span class="comment">/* Right Windows key */</span> 00167 <a class="code" href="namespaceOgre.html#a657a295">KC_APPS</a> =0xDD, <span class="comment">/* AppMenu key */</span> 00168 <a class="code" href="namespaceOgre.html#a657a296">KC_POWER</a> =0xDE, <span class="comment">/* System Power */</span> 00169 <a class="code" href="namespaceOgre.html#a657a297">KC_SLEEP</a> =0xDF, <span class="comment">/* System Sleep */</span> 00170 <a class="code" href="namespaceOgre.html#a657a298">KC_WAKE</a> =0xE3, <span class="comment">/* System Wake */</span> 00171 <a class="code" href="namespaceOgre.html#a657a299">KC_WEBSEARCH</a> =0xE5, <span class="comment">/* Web Search */</span> 00172 <a class="code" href="namespaceOgre.html#a657a300">KC_WEBFAVORITES</a> =0xE6, <span class="comment">/* Web Favorites */</span> 00173 <a class="code" href="namespaceOgre.html#a657a301">KC_WEBREFRESH</a> =0xE7, <span class="comment">/* Web Refresh */</span> 00174 <a class="code" href="namespaceOgre.html#a657a302">KC_WEBSTOP</a> =0xE8, <span class="comment">/* Web Stop */</span> 00175 <a class="code" href="namespaceOgre.html#a657a303">KC_WEBFORWARD</a> =0xE9, <span class="comment">/* Web Forward */</span> 00176 <a class="code" href="namespaceOgre.html#a657a304">KC_WEBBACK</a> =0xEA, <span class="comment">/* Web Back */</span> 00177 <a class="code" href="namespaceOgre.html#a657a305">KC_MYCOMPUTER</a> =0xEB, <span class="comment">/* My Computer */</span> 00178 <a class="code" href="namespaceOgre.html#a657a306">KC_MAIL</a> =0xEC, <span class="comment">/* Mail */</span> 00179 <a class="code" href="namespaceOgre.html#a657a307">KC_MEDIASELECT</a> =0xED <span class="comment">/* Media Select */</span> 00180 }; 00181 <a name="l00184"></a><a class="code" href="structOgre_1_1MouseState.html">00184</a> <span class="keyword">struct </span><a class="code" href="OgrePlatform_8h.html#a13">_OgreExport</a> MouseState 00185 { <a name="l00187"></a><a class="code" href="structOgre_1_1MouseState.html#Ogre_1_1MouseStateo2">00187</a> <span class="keywordtype">long</span> Xabs, Yabs, Zabs; <a name="l00189"></a><a class="code" href="structOgre_1_1MouseState.html#Ogre_1_1MouseStateo5">00189</a> <span class="keywordtype">long</span> Xrel, Yrel, Zrel; <a name="l00192"></a><a class="code" href="structOgre_1_1MouseState.html#Ogre_1_1MouseStateo6">00192</a> <span class="keywordtype">long</span> Buttons; 00193 <a name="l00195"></a><a class="code" href="structOgre_1_1MouseState.html#Ogre_1_1MouseStatea0">00195</a> <span class="keyword">inline</span> <span class="keywordtype">long</span> isButtonDown( <a class="code" href="namespaceOgre.html#a421">uchar</a> button )<span class="keyword"> const</span> 00196 <span class="keyword"> </span>{ 00197 <span class="keywordflow">return</span> Buttons & ( 1 << button ); 00198 } 00199 }; 00200 <a name="l00212"></a><a class="code" href="classOgre_1_1InputReader.html">00212</a> <span class="keyword">class </span><a class="code" href="class__OgreExport.html">_OgreExport</a> InputReader 00213 { 00214 <span class="keyword">public</span>: 00215 InputReader(); 00216 <span class="keyword">virtual</span> ~InputReader(); 00217 00224 <span class="keywordtype">void</span> useBufferedInput(<a class="code" href="classOgre_1_1EventQueue.html">EventQueue</a>* pEventQueue, <span class="keywordtype">bool</span> keys = <span class="keyword">true</span>, <span class="keywordtype">bool</span> mouse = <span class="keyword">true</span>) ; 00225 00226 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setBufferedInput(<span class="keywordtype">bool</span> keys, <span class="keywordtype">bool</span> mouse) ; 00227 00228 00241 <span class="keyword">virtual</span> <span class="keywordtype">void</span> initialise( 00242 <a class="code" href="classOgre_1_1RenderWindow.html">RenderWindow</a>* pWindow, 00243 <span class="keywordtype">bool</span> useKeyboard = <span class="keyword">true</span>, 00244 <span class="keywordtype">bool</span> useMouse = <span class="keyword">true</span>, 00245 <span class="keywordtype">bool</span> useGameController = <span class="keyword">false</span> ) = 0; 00246 00256 <span class="keyword">virtual</span> <span class="keywordtype">void</span> capture() = 0; 00257 00262 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isKeyDown( <a class="code" href="namespaceOgre.html#a657">KeyCode</a> kc ) <span class="keyword">const</span>; 00263 <a name="l00266"></a><a class="code" href="classOgre_1_1InputReader.html#Ogre_1_1Win32Input8a16">00266</a> <span class="keyword">virtual</span> <span class="keywordtype">long</span> getMouseRelativeX()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> getMouseRelX(); } 00267 <a name="l00270"></a><a class="code" href="classOgre_1_1InputReader.html#Ogre_1_1Win32Input8a17">00270</a> <span class="keyword">virtual</span> <span class="keywordtype">long</span> getMouseRelativeY()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> getMouseRelY(); } 00271 <a name="l00274"></a><a class="code" href="classOgre_1_1InputReader.html#Ogre_1_1Win32Input8a18">00274</a> <span class="keyword">virtual</span> <span class="keywordtype">long</span> getMouseRelativeZ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> getMouseRelZ(); } 00275 00278 <span class="keyword">virtual</span> <span class="keywordtype">long</span> getMouseRelX() <span class="keyword">const</span> = 0; 00279 00282 <span class="keyword">virtual</span> <span class="keywordtype">long</span> getMouseRelY() <span class="keyword">const</span> = 0; 00283 00286 <span class="keyword">virtual</span> <span class="keywordtype">long</span> getMouseRelZ() <span class="keyword">const</span> = 0; 00287 00289 <span class="keyword">virtual</span> <span class="keywordtype">long</span> getMouseAbsX() <span class="keyword">const</span> = 0; 00291 <span class="keyword">virtual</span> <span class="keywordtype">long</span> getMouseAbsY() <span class="keyword">const</span> = 0; 00293 <span class="keyword">virtual</span> <span class="keywordtype">long</span> getMouseAbsZ() <span class="keyword">const</span> = 0; 00294 00296 <span class="keyword">virtual</span> <span class="keywordtype">void</span> getMouseState( MouseState& state ) <span class="keyword">const</span> = 0; 00297 00299 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getMouseButton( <a class="code" href="namespaceOgre.html#a421">uchar</a> button ) <span class="keyword">const</span> = 0; 00300 00303 <span class="keywordtype">void</span> addCursorMoveListener( <a class="code" href="classOgre_1_1MouseMotionListener.html">MouseMotionListener</a>* c ); 00304 00307 <span class="keywordtype">void</span> removeCursorMoveListener( <a class="code" href="classOgre_1_1MouseMotionListener.html">MouseMotionListener</a>* c ); 00308 <span class="keyword">static</span> <span class="keywordtype">char</span> getKeyChar(<span class="keywordtype">int</span> keyCode, <span class="keywordtype">long</span> modifiers = 0); 00309 00310 00311 <span class="keyword">protected</span>: 00312 <a name="l00315"></a><a class="code" href="classOgre_1_1InputReader.html#Ogre_1_1Win32Input8p0">00315</a> <span class="keywordtype">long</span> mModifiers; 00316 <a name="l00323"></a><a class="code" href="classOgre_1_1InputReader.html#Ogre_1_1Win32Input8p1">00323</a> <a class="code" href="classOgre_1_1Cursor.html">Cursor</a>* mCursor; 00324 <a name="l00326"></a><a class="code" href="classOgre_1_1InputReader.html#Ogre_1_1Win32Input8p2">00326</a> <a class="code" href="classOgre_1_1EventQueue.html">EventQueue</a>* mEventQueue; 00327 <a name="l00331"></a><a class="code" href="classOgre_1_1InputReader.html#Ogre_1_1Win32Input8p4">00331</a> <span class="keywordtype">bool</span> mUseBufferedKeys, mUseBufferedMouse; 00332 <a name="l00334"></a><a class="code" href="classOgre_1_1InputReader.html#Ogre_1_1Win32Input8p5">00334</a> MouseState mMouseState; 00335 <a name="l00337"></a><a class="code" href="classOgre_1_1InputReader.html#Ogre_1_1Win32Input8x0">00337</a> <span class="keyword">typedef</span> std::set<KeyCode> <a class="code" href="classOgre_1_1InputReader.html#Ogre_1_1Win32Input8x0">BufferedKeysDownSet</a>; <a name="l00338"></a><a class="code" href="classOgre_1_1InputReader.html#Ogre_1_1Win32Input8p6">00338</a> <a class="code" href="classOgre_1_1InputReader.html#Ogre_1_1Win32Input8x0">BufferedKeysDownSet</a> mBufferedKeysDown; 00339 00341 <span class="keywordtype">void</span> mouseMoved(); 00342 00345 <span class="keywordtype">void</span> createMouseEvent(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> button); 00346 00348 <span class="keywordtype">void</span> triggerMouseButton(<span class="keywordtype">int</span> nMouseCode, <span class="keywordtype">bool</span> mousePressed); 00349 00350 <span class="keywordtype">void</span> createKeyEvent(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> key); 00351 <span class="keywordtype">void</span> keyChanged(<span class="keywordtype">int</span> key, <span class="keywordtype">bool</span> down); 00352 00354 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isKeyDownImmediate( KeyCode kc ) <span class="keyword">const</span> = 0; 00355 }; 00356 00357 <a name="l00365"></a><a class="code" href="namespaceOgre.html#a163">00365</a> <span class="keyword">typedef</span> <a class="code" href="OgreGLPrerequisites_8h.html#a82">void</a> (*<a class="code" href="namespaceOgre.html#a163">DLL_CREATEINPUTREADER</a>)(InputReader** ppReader); 00366 00367 } 00368 00369 <span class="preprocessor">#endif</span> </pre></div><p> Copyright © 2000-2005 by The OGRE Team<br /> Last modified Wed Feb 23 00:19:08 2005 </p> </body> </html>