#include <OgreSDLInput.h>
Inheritance diagram for Ogre::SDLInput:
Public Methods | |
SDLInput () | |
virtual | ~SDLInput () |
void | initialise (RenderWindow *pWindow, bool useKeyboard=true, bool useMouse=true, bool useGameController=false) |
Initialise the input system. | |
void | capture () |
Captures the state of all the input devices. | |
void | setGrabMode (GrabMode mode) |
Sets how to grab the mouse. | |
virtual long | getMouseRelX () const |
Retrieves the relative (compared to the last input poll) mouse movement on the X (horizontal) axis. | |
virtual long | getMouseRelY () const |
Retrieves the relative (compared to the last input poll) mouse movement on the Y (vertical) axis. | |
virtual long | getMouseRelZ () const |
Retrieves the relative (compared to the last input poll) mouse movement on the Z (mouse wheel) axis. | |
virtual long | getMouseAbsX () const |
Retrieves the absolute mouse position on the X (horizontal) axis. | |
virtual long | getMouseAbsY () const |
Retrieves the absolute mouse position on the Y (vertical) axis. | |
virtual long | getMouseAbsZ () const |
Retrieves the absolute mouse position on the Z (mouse wheel) axis. | |
virtual void | getMouseState (MouseState &state) const |
Retrieves the current state of the mouse. | |
virtual bool | getMouseButton (uchar button) const |
Retrieves the state of a mouse button. | |
void | useBufferedInput (EventQueue *pEventQueue, bool keys=true, bool mouse=true) |
Tells the reader to use buffered input and update the passed in queue. | |
virtual void | setBufferedInput (bool keys, bool mouse) |
virtual bool | isKeyDown (KeyCode kc) const |
Determines if the specified key is currently depressed. | |
virtual long | getMouseRelativeX () const |
Retrieves the relative position of the mouse when capture was called relative to the last time. | |
virtual long | getMouseRelativeY () const |
Retrieves the relative position of the mouse when capture was called relative to the last time. | |
virtual long | getMouseRelativeZ () const |
Retrieves the relative position of the mouse when capture was called relative to the last time. | |
void | addCursorMoveListener (MouseMotionListener *c) |
Adds a mouse motion listener to the cursor object. | |
void | removeCursorMoveListener (MouseMotionListener *c) |
Remove a mouse motion listener to the cursor object. | |
Static Public Methods | |
char | getKeyChar (int keyCode, long modifiers=0) |
Protected Types | |
typedef std::set< KeyCode > | BufferedKeysDownSet |
Set of all the keys currently depressed based on buffered input events. | |
Protected Methods | |
void | mouseMoved () |
Creates mouse moved or dragged events depending if any button is pressed. | |
void | createMouseEvent (int id, int button) |
Creates a MouseEvent that first gets processed by the cursor, then gets pushed on the queue. | |
void | triggerMouseButton (int nMouseCode, bool mousePressed) |
Creates mouse pressed, released, and clicked events. | |
void | createKeyEvent (int id, int key) |
void | keyChanged (int key, bool down) |
void | setupKeyChars () |
Protected Attributes | |
long | mModifiers |
The modifiers are a binary flags that represent what buttons are pressed, and what key modifiers are down (e.g. | |
Cursor * | mCursor |
Internal Cursor object. | |
EventQueue * | mEventQueue |
EventQueue is used for buffered input support. | |
bool | mUseBufferedKeys |
Wether to use buffering input support - buffering support relies on using an EventQueue. | |
bool | mUseBufferedMouse |
Wether to use buffering input support - buffering support relies on using an EventQueue. | |
MouseState | mMouseState |
The mouse state in immediate mode. | |
BufferedKeysDownSet | mBufferedKeysDown |
Static Protected Attributes | |
bool | sKeysInitialised = false |
Private Types | |
typedef std::map< SDLKey, KeyCode > | InputKeyMap |
Private Methods | |
void | processBufferedKeyboard () |
void | processBufferedMouse () |
void | _grabMouse () |
void | _releaseMouse () |
bool | isKeyDownImmediate (KeyCode kc) const |
Return whether a key is down in immediate mode. | |
Private Attributes | |
Uint8 * | mKeyboardBuffer |
int | mMaxKey |
int | mMouseX |
int | mMouseY |
int | mMouseRelativeX |
int | mMouseRelativeY |
int | mMouseRelativeZ |
Real | mScale |
Uint8 | mMouseKeys |
bool | _visible |
bool | mMouseGrabbed |
bool | mUseMouse |
bool | mGrabMouse |
bool | mMouseLeft |
int | mGrabMode |
InputKeyMap | _key_map |
bool | warpMouse |
Static Private Attributes | |
const unsigned int | mWheelStep = 60 |
|
Set of all the keys currently depressed based on buffered input events.
Definition at line 345 of file OgreInput.h. |
|
Definition at line 98 of file OgreSDLInput.h. |
|
|
Definition at line 147 of file OgreSDLInput.cpp. |
|
Definition at line 198 of file OgreSDLInput.cpp. References mGrabMouse, and mMouseGrabbed. Referenced by capture(), initialise(), and processBufferedMouse(). |
|
Definition at line 189 of file OgreSDLInput.cpp. References mGrabMouse, mMouseGrabbed, and mMouseLeft. Referenced by capture(). |
|
Adds a mouse motion listener to the cursor object. This keeps the Cursor object hidden. Definition at line 174 of file OgreInput.cpp. References Ogre::MouseMotionTarget::addMouseMotionListener(), and Ogre::InputReader::mCursor. Referenced by Ogre::EventProcessor::addCursorMoveListener(). |
|
Captures the state of all the input devices.
Implements Ogre::InputReader. Definition at line 206 of file OgreSDLInput.cpp. References _grabMouse(), _releaseMouse(), _visible, Ogre::MouseState::Buttons, Ogre::GRAB_MOUSE_CLICK, Ogre::GRAB_MOUSE_OVER, mGrabMode, mGrabMouse, mKeyboardBuffer, mMouseGrabbed, mMouseKeys, mMouseLeft, mMouseRelativeX, mMouseRelativeY, mMouseRelativeZ, Ogre::InputReader::mMouseState, mMouseX, mMouseY, mWheelStep, processBufferedKeyboard(), processBufferedMouse(), Ogre::MouseState::Xabs, Ogre::MouseState::Xrel, Ogre::MouseState::Yabs, Ogre::MouseState::Yrel, Ogre::MouseState::Zabs, and Ogre::MouseState::Zrel. |
|
Definition at line 152 of file OgreInput.cpp. References Ogre::InputReader::mEventQueue, Ogre::InputReader::mModifiers, and Ogre::EventQueue::push(). Referenced by Ogre::InputReader::keyChanged(). |
|
Creates a MouseEvent that first gets processed by the cursor, then gets pushed on the queue.
Definition at line 132 of file OgreInput.cpp. References Ogre::Cursor::getRelX(), Ogre::Cursor::getRelY(), Ogre::Cursor::getRelZ(), Ogre::Cursor::getX(), Ogre::Cursor::getY(), Ogre::Cursor::getZ(), Ogre::InputReader::mCursor, Ogre::InputReader::mEventQueue, Ogre::InputReader::mModifiers, Ogre::Cursor::processEvent(), and Ogre::EventQueue::push(). Referenced by Ogre::InputReader::mouseMoved(), and Ogre::InputReader::triggerMouseButton(). |
|
Definition at line 238 of file OgreInput.cpp. References Ogre::KEYCODE(), and Ogre::sKeyChars. |
|
Retrieves the absolute mouse position on the X (horizontal) axis.
Implements Ogre::InputReader. Definition at line 628 of file OgreSDLInput.cpp. References mMouseX. |
|
Retrieves the absolute mouse position on the Y (vertical) axis.
Implements Ogre::InputReader. Definition at line 633 of file OgreSDLInput.cpp. References mMouseY. |
|
Retrieves the absolute mouse position on the Z (mouse wheel) axis.
Implements Ogre::InputReader. Definition at line 638 of file OgreSDLInput.cpp. |
|
Retrieves the state of a mouse button.
Implements Ogre::InputReader. Definition at line 643 of file OgreSDLInput.cpp. References Ogre::MouseState::isButtonDown(), Ogre::InputReader::mMouseState, and Ogre::uchar. |
|
Retrieves the relative position of the mouse when capture was called relative to the last time.
Definition at line 272 of file OgreInput.h. |
|
Retrieves the relative position of the mouse when capture was called relative to the last time.
Definition at line 276 of file OgreInput.h. |
|
Retrieves the relative position of the mouse when capture was called relative to the last time.
Definition at line 280 of file OgreInput.h. |
|
Retrieves the relative (compared to the last input poll) mouse movement on the X (horizontal) axis.
Implements Ogre::InputReader. Definition at line 613 of file OgreSDLInput.cpp. References Ogre::InputReader::mMouseState, and Ogre::MouseState::Xrel. |
|
Retrieves the relative (compared to the last input poll) mouse movement on the Y (vertical) axis.
Implements Ogre::InputReader. Definition at line 618 of file OgreSDLInput.cpp. References Ogre::InputReader::mMouseState, and Ogre::MouseState::Yrel. |
|
Retrieves the relative (compared to the last input poll) mouse movement on the Z (mouse wheel) axis.
Implements Ogre::InputReader. Definition at line 623 of file OgreSDLInput.cpp. References Ogre::InputReader::mMouseState, and Ogre::MouseState::Zrel. |
|
Retrieves the current state of the mouse.
Implements Ogre::InputReader. Definition at line 751 of file OgreSDLInput.cpp. References Ogre::InputReader::mMouseState. |
|
Initialise the input system.
Implements Ogre::InputReader. Definition at line 156 of file OgreSDLInput.cpp. References _grabMouse(), Ogre::RenderWindow::getMetrics(), Ogre::GRAB_MOUSE_CLICK, Ogre::GRAB_NONE, mGrabMode, mGrabMouse, mMouseLeft, mMouseX, mMouseY, and mUseMouse. |
|
Determines if the specified key is currently depressed.
Definition at line 370 of file OgreInput.cpp. References Ogre::InputReader::isKeyDownImmediate(), Ogre::KeyCode, and Ogre::InputReader::mBufferedKeysDown. Referenced by Ogre::Win32Input8::getKeyModifiers(). |
|
|
Definition at line 185 of file OgreInput.cpp. References Ogre::InputReader::createKeyEvent(), Ogre::KC_LCONTROL, Ogre::KC_LMENU, Ogre::KC_LSHIFT, Ogre::KC_RCONTROL, Ogre::KC_RMENU, Ogre::KC_RSHIFT, Ogre::InputReader::mBufferedKeysDown, and Ogre::InputReader::mModifiers. Referenced by Ogre::GLXInput::capture(), processBufferedKeyboard(), and Ogre::Win32Input8::readBufferedKeyboardData(). |
|
Creates mouse moved or dragged events depending if any button is pressed.
Definition at line 161 of file OgreInput.cpp. References Ogre::InputReader::createMouseEvent(), and Ogre::InputReader::mModifiers. Referenced by Ogre::GLXInput::capture(), processBufferedMouse(), and Ogre::Win32Input8::readBufferedMouseData(). |
|
Definition at line 648 of file OgreSDLInput.cpp. References _key_map, and Ogre::InputReader::keyChanged(). Referenced by capture(). |
|
Definition at line 669 of file OgreSDLInput.cpp. References _grabMouse(), _visible, Ogre::Cursor::addToX(), Ogre::Cursor::addToY(), Ogre::GRAB_MOUSE_CLICK, Ogre::InputReader::mCursor, mGrabMode, mGrabMouse, mMouseGrabbed, Ogre::InputReader::mouseMoved(), mScale, and Ogre::InputReader::triggerMouseButton(). Referenced by capture(). |
|
Remove a mouse motion listener to the cursor object. This keeps the Cursor object hidden. Definition at line 179 of file OgreInput.cpp. References Ogre::InputReader::mCursor, and Ogre::MouseMotionTarget::removeMouseMotionListener(). Referenced by Ogre::EventProcessor::removeCursorMoveListener(). |
|
Reimplemented in Ogre::Win32Input8. Definition at line 71 of file OgreInput.cpp. References Ogre::InputReader::mUseBufferedKeys, and Ogre::InputReader::mUseBufferedMouse. |
|
Sets how to grab the mouse. Possible values for mode are GRAB_MOUSE_OVER or GRAB_MOUSE_BUTTON. The first will grab the mouse if the pointer is over the application window and the latter will wait for a mouse button click to aquire the mouse. Default is GRAB_MOUSE_CLICK. Definition at line 64 of file OgreSDLInput.h. References Ogre::GrabMode, and mGrabMode. |
|
|
Creates mouse pressed, released, and clicked events.
Definition at line 88 of file OgreInput.cpp. References Ogre::MouseState::Buttons, Ogre::InputReader::createMouseEvent(), Ogre::InputReader::mModifiers, and Ogre::InputReader::mMouseState. Referenced by Ogre::GLXInput::capture(), processBufferedMouse(), and Ogre::Win32Input8::readBufferedMouseData(). |
|
Tells the reader to use buffered input and update the passed in queue.
Definition at line 54 of file OgreInput.cpp. References Ogre::InputReader::mCursor, Ogre::InputReader::mEventQueue, Ogre::InputReader::mUseBufferedKeys, and Ogre::InputReader::mUseBufferedMouse. Referenced by Ogre::EventProcessor::initialise(). |
|
Definition at line 99 of file OgreSDLInput.h. Referenced by processBufferedKeyboard(), and SDLInput(). |
|
Definition at line 89 of file OgreSDLInput.h. Referenced by capture(), and processBufferedMouse(). |
|
Definition at line 346 of file OgreInput.h. Referenced by Ogre::InputReader::isKeyDown(), and Ogre::InputReader::keyChanged(). |
|
Internal Cursor object.
Definition at line 331 of file OgreInput.h. Referenced by Ogre::InputReader::addCursorMoveListener(), Ogre::GLXInput::capture(), Ogre::InputReader::createMouseEvent(), Ogre::InputReader::InputReader(), processBufferedMouse(), Ogre::Win32Input8::readBufferedMouseData(), Ogre::InputReader::removeCursorMoveListener(), Ogre::InputReader::useBufferedInput(), and Ogre::InputReader::~InputReader(). |
|
EventQueue is used for buffered input support.
Definition at line 334 of file OgreInput.h. Referenced by Ogre::InputReader::createKeyEvent(), Ogre::InputReader::createMouseEvent(), Ogre::GLXInput::GLXInput(), Ogre::InputReader::InputReader(), SDLInput(), Ogre::InputReader::useBufferedInput(), and Ogre::Win32Input8::Win32Input8(). |
|
Definition at line 96 of file OgreSDLInput.h. Referenced by capture(), initialise(), processBufferedMouse(), SDLInput(), and setGrabMode(). |
|
Definition at line 93 of file OgreSDLInput.h. Referenced by _grabMouse(), _releaseMouse(), capture(), initialise(), processBufferedMouse(), and SDLInput(). |
|
Definition at line 83 of file OgreSDLInput.h. Referenced by capture(), and isKeyDownImmediate(). |
|
Definition at line 84 of file OgreSDLInput.h. |
|
The modifiers are a binary flags that represent what buttons are pressed, and what key modifiers are down (e.g. shift/alt). Definition at line 321 of file OgreInput.h. Referenced by Ogre::Win32Input8::capture(), Ogre::InputReader::createKeyEvent(), Ogre::InputReader::createMouseEvent(), Ogre::Win32Input8::getKeyModifiers(), Ogre::InputReader::InputReader(), Ogre::InputReader::keyChanged(), Ogre::InputReader::mouseMoved(), and Ogre::InputReader::triggerMouseButton(). |
|
Definition at line 91 of file OgreSDLInput.h. Referenced by _grabMouse(), _releaseMouse(), capture(), processBufferedMouse(), and SDLInput(). |
|
Definition at line 88 of file OgreSDLInput.h. Referenced by capture(). |
|
Definition at line 94 of file OgreSDLInput.h. Referenced by _releaseMouse(), capture(), initialise(), and SDLInput(). |
|
Definition at line 86 of file OgreSDLInput.h. Referenced by capture(). |
|
Definition at line 86 of file OgreSDLInput.h. Referenced by capture(). |
|
Definition at line 86 of file OgreSDLInput.h. Referenced by capture(). |
|
The mouse state in immediate mode.
Definition at line 342 of file OgreInput.h. Referenced by capture(), Ogre::GLXInput::capture(), Ogre::Win32Input8::captureMouse(), Ogre::Win32Input8::getMouseAbsX(), Ogre::GLXInput::getMouseAbsX(), Ogre::Win32Input8::getMouseAbsY(), Ogre::GLXInput::getMouseAbsY(), Ogre::Win32Input8::getMouseAbsZ(), Ogre::GLXInput::getMouseAbsZ(), Ogre::Win32Input8::getMouseButton(), getMouseButton(), Ogre::GLXInput::getMouseButton(), Ogre::Win32Input8::getMouseRelX(), getMouseRelX(), Ogre::GLXInput::getMouseRelX(), Ogre::Win32Input8::getMouseRelY(), getMouseRelY(), Ogre::GLXInput::getMouseRelY(), Ogre::Win32Input8::getMouseRelZ(), getMouseRelZ(), Ogre::GLXInput::getMouseRelZ(), Ogre::Win32Input8::getMouseState(), getMouseState(), Ogre::GLXInput::getMouseState(), Ogre::GLXInput::GrabCursor(), Ogre::GLXInput::initialise(), Ogre::Win32Input8::initialiseImmediateMouse(), and Ogre::InputReader::triggerMouseButton(). |
|
Definition at line 85 of file OgreSDLInput.h. Referenced by capture(), getMouseAbsX(), and initialise(). |
|
Definition at line 85 of file OgreSDLInput.h. Referenced by capture(), getMouseAbsY(), and initialise(). |
|
Definition at line 87 of file OgreSDLInput.h. Referenced by processBufferedMouse(). |
|
Wether to use buffering input support - buffering support relies on using an EventQueue.
Definition at line 339 of file OgreInput.h. Referenced by Ogre::InputReader::InputReader(), Ogre::Win32Input8::setBufferedInput(), Ogre::InputReader::setBufferedInput(), and Ogre::InputReader::useBufferedInput(). |
|
Wether to use buffering input support - buffering support relies on using an EventQueue.
Definition at line 339 of file OgreInput.h. Referenced by Ogre::GLXInput::capture(), Ogre::InputReader::InputReader(), Ogre::Win32Input8::setBufferedInput(), Ogre::InputReader::setBufferedInput(), and Ogre::InputReader::useBufferedInput(). |
|
Definition at line 92 of file OgreSDLInput.h. Referenced by initialise(). |
|
Definition at line 107 of file OgreSDLInput.h. Referenced by capture(). |
|
Definition at line 37 of file OgreInput.cpp. Referenced by Ogre::InputReader::InputReader(). |
|
Definition at line 100 of file OgreSDLInput.h. |
Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:50:24 2004