#include <OgreWin32Input8.h>
Inheritance diagram for Ogre::Win32Input8:
Public Methods | |
Win32Input8 () | |
~Win32Input8 () | |
virtual void | initialise (RenderWindow *pWindow, bool useKeyboard=true, bool useMouse=true, bool useGameController=false) |
@copydoc InputReader::initialise | |
virtual void | capture () |
@copydoc InputReader::capture | |
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 | setBufferedInput (bool keys, bool mouse) |
void | flushAllBuffers () |
void | useBufferedInput (EventQueue *pEventQueue, bool keys=true, bool mouse=true) |
Tells the reader to use buffered input and update the passed in queue. | |
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 | |
virtual bool | isKeyDownImmediate (KeyCode kc) const |
@copydoc InputReader::isKeyDown | |
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 Methods | |
void | initialiseBufferedKeyboard () |
specialised initialisation routines | |
void | initialiseImmediateKeyboard () |
void | initialiseBufferedMouse () |
void | initialiseImmediateMouse () |
void | captureKeyboard (void) |
void | captureMouse (void) |
bool | readBufferedKeyboardData () |
bool | readBufferedMouseData () |
long | getKeyModifiers () const |
Real | getScaled (DWORD dwVal) const |
Private Attributes | |
IDirectInput8 * | mlpDI |
IDirectInputDevice8 * | mlpDIKeyboard |
IDirectInputDevice8 * | mlpDIMouse |
HWND | mHWnd |
long | mMouseCenterX |
long | mMouseCenterY |
long | mMouseCenterZ |
bool | mUseKeyboard |
bool | mUseMouse |
Real | mScale |
char | mKeyboardBuffer [256] |
Note that this is a basic implementation only at the moment.
Definition at line 42 of file OgreWin32Input8.h.
|
Set of all the keys currently depressed based on buffered input events.
Definition at line 345 of file OgreInput.h. |
|
Definition at line 44 of file OgreWin32Input8.cpp. References Ogre::InputReader::mEventQueue, mKeyboardBuffer, mlpDI, mlpDIKeyboard, mlpDIMouse, and mScale. |
|
Definition at line 56 of file OgreWin32Input8.cpp. References mlpDI, mlpDIKeyboard, and mlpDIMouse. |
|
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(). |
|
@copydoc InputReader::capture
Implements Ogre::InputReader. Definition at line 425 of file OgreWin32Input8.cpp. References captureKeyboard(), captureMouse(), getKeyModifiers(), Ogre::InputReader::mModifiers, readBufferedKeyboardData(), and readBufferedMouseData(). |
|
Definition at line 453 of file OgreWin32Input8.cpp. References mKeyboardBuffer, and mlpDIKeyboard. Referenced by capture(). |
|
Definition at line 494 of file OgreWin32Input8.cpp. References Ogre::MouseState::Buttons, mlpDIMouse, mMouseCenterX, mMouseCenterY, mMouseCenterZ, Ogre::InputReader::mMouseState, Ogre::MouseState::Xabs, Ogre::MouseState::Xrel, Ogre::MouseState::Yabs, Ogre::MouseState::Yrel, Ogre::MouseState::Zabs, and Ogre::MouseState::Zrel. Referenced by capture(), and initialiseImmediateMouse(). |
|
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 370 of file OgreWin32Input8.cpp. References mlpDIKeyboard, and mlpDIMouse. |
|
Definition at line 238 of file OgreInput.cpp. References Ogre::KEYCODE(), and Ogre::sKeyChars. |
|
Definition at line 822 of file OgreWin32Input8.cpp. References Ogre::InputReader::isKeyDown(), Ogre::KC_LCONTROL, Ogre::KC_LMENU, Ogre::KC_LSHIFT, Ogre::KC_RMENU, Ogre::KC_RSHIFT, and Ogre::InputReader::mModifiers. Referenced by capture(). |
|
Retrieves the absolute mouse position on the X (horizontal) axis.
Implements Ogre::InputReader. Definition at line 794 of file OgreWin32Input8.cpp. References Ogre::InputReader::mMouseState, and Ogre::MouseState::Xabs. |
|
Retrieves the absolute mouse position on the Y (vertical) axis.
Implements Ogre::InputReader. Definition at line 799 of file OgreWin32Input8.cpp. References Ogre::InputReader::mMouseState, and Ogre::MouseState::Yabs. |
|
Retrieves the absolute mouse position on the Z (mouse wheel) axis.
Implements Ogre::InputReader. Definition at line 804 of file OgreWin32Input8.cpp. References Ogre::InputReader::mMouseState, and Ogre::MouseState::Zabs. |
|
Retrieves the state of a mouse button.
Implements Ogre::InputReader. Definition at line 810 of file OgreWin32Input8.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 777 of file OgreWin32Input8.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 783 of file OgreWin32Input8.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 789 of file OgreWin32Input8.cpp. References Ogre::InputReader::mMouseState, and Ogre::MouseState::Zrel. |
|
Retrieves the current state of the mouse.
Implements Ogre::InputReader. Definition at line 816 of file OgreWin32Input8.cpp. References Ogre::InputReader::mMouseState. |
|
Definition at line 765 of file OgreWin32Input8.cpp. References mScale, and Ogre::Real. Referenced by readBufferedMouseData(). |
|
@copydoc InputReader::initialise
Implements Ogre::InputReader. Definition at line 308 of file OgreWin32Input8.cpp. References initialiseBufferedKeyboard(), initialiseBufferedMouse(), initialiseImmediateKeyboard(), initialiseImmediateMouse(), mHWnd, mlpDI, mUseKeyboard, and mUseMouse. |
|
specialised initialisation routines
Definition at line 80 of file OgreWin32Input8.cpp. References DINPUT_BUFFERSIZE, mHWnd, mlpDI, and mlpDIKeyboard. Referenced by initialise(), and setBufferedInput(). |
|
Definition at line 245 of file OgreWin32Input8.cpp. References DINPUT_BUFFERSIZE, mHWnd, mlpDI, and mlpDIMouse. Referenced by initialise(), and setBufferedInput(). |
|
Definition at line 143 of file OgreWin32Input8.cpp. References DINPUT_BUFFERSIZE, mHWnd, mlpDI, and mlpDIKeyboard. Referenced by initialise(), and setBufferedInput(). |
|
Definition at line 205 of file OgreWin32Input8.cpp. References captureMouse(), Except, mHWnd, mlpDI, mlpDIMouse, Ogre::InputReader::mMouseState, OgreGuard, OgreUnguard, Ogre::MouseState::Xrel, Ogre::MouseState::Yrel, and Ogre::MouseState::Zrel. Referenced by initialise(), and setBufferedInput(). |
|
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 getKeyModifiers(). |
|
@copydoc InputReader::isKeyDown
Implements Ogre::InputReader. Definition at line 771 of file OgreWin32Input8.cpp. References Ogre::KeyCode, and mKeyboardBuffer. |
|
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(), Ogre::SDLInput::processBufferedKeyboard(), and 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(), Ogre::SDLInput::processBufferedMouse(), and readBufferedMouseData(). |
|
Definition at line 556 of file OgreWin32Input8.cpp. References DINPUT_BUFFERSIZE, Ogre::InputReader::keyChanged(), and mlpDIKeyboard. Referenced by capture(). |
|
Definition at line 624 of file OgreWin32Input8.cpp. References Ogre::Cursor::addToX(), Ogre::Cursor::addToY(), Ogre::Cursor::addToZ(), DINPUT_BUFFERSIZE, getScaled(), Ogre::InputReader::mCursor, mlpDIMouse, Ogre::InputReader::mouseMoved(), 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 from Ogre::InputReader. Definition at line 383 of file OgreWin32Input8.cpp. References initialiseBufferedKeyboard(), initialiseBufferedMouse(), initialiseImmediateKeyboard(), initialiseImmediateMouse(), mlpDIKeyboard, mlpDIMouse, Ogre::InputReader::mUseBufferedKeys, Ogre::InputReader::mUseBufferedMouse, mUseKeyboard, and mUseMouse. |
|
|
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(), Ogre::SDLInput::processBufferedMouse(), and 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 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(), Ogre::SDLInput::processBufferedMouse(), 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(), Ogre::SDLInput::SDLInput(), Ogre::InputReader::useBufferedInput(), and Win32Input8(). |
|
Definition at line 87 of file OgreWin32Input8.h. Referenced by initialise(), initialiseBufferedKeyboard(), initialiseBufferedMouse(), initialiseImmediateKeyboard(), and initialiseImmediateMouse(). |
|
Definition at line 117 of file OgreWin32Input8.h. Referenced by captureKeyboard(), isKeyDownImmediate(), and Win32Input8(). |
|
Definition at line 83 of file OgreWin32Input8.h. Referenced by initialise(), initialiseBufferedKeyboard(), initialiseBufferedMouse(), initialiseImmediateKeyboard(), initialiseImmediateMouse(), Win32Input8(), and ~Win32Input8(). |
|
Definition at line 84 of file OgreWin32Input8.h. Referenced by captureKeyboard(), flushAllBuffers(), initialiseBufferedKeyboard(), initialiseImmediateKeyboard(), readBufferedKeyboardData(), setBufferedInput(), Win32Input8(), and ~Win32Input8(). |
|
Definition at line 85 of file OgreWin32Input8.h. Referenced by captureMouse(), flushAllBuffers(), initialiseBufferedMouse(), initialiseImmediateMouse(), readBufferedMouseData(), setBufferedInput(), Win32Input8(), and ~Win32Input8(). |
|
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 capture(), Ogre::InputReader::createKeyEvent(), Ogre::InputReader::createMouseEvent(), getKeyModifiers(), Ogre::InputReader::InputReader(), Ogre::InputReader::keyChanged(), Ogre::InputReader::mouseMoved(), and Ogre::InputReader::triggerMouseButton(). |
|
Definition at line 109 of file OgreWin32Input8.h. Referenced by captureMouse(). |
|
Definition at line 109 of file OgreWin32Input8.h. Referenced by captureMouse(). |
|
Definition at line 109 of file OgreWin32Input8.h. Referenced by captureMouse(). |
|
The mouse state in immediate mode.
Definition at line 342 of file OgreInput.h. Referenced by Ogre::SDLInput::capture(), Ogre::GLXInput::capture(), captureMouse(), getMouseAbsX(), Ogre::GLXInput::getMouseAbsX(), getMouseAbsY(), Ogre::GLXInput::getMouseAbsY(), getMouseAbsZ(), Ogre::GLXInput::getMouseAbsZ(), getMouseButton(), Ogre::SDLInput::getMouseButton(), Ogre::GLXInput::getMouseButton(), getMouseRelX(), Ogre::SDLInput::getMouseRelX(), Ogre::GLXInput::getMouseRelX(), getMouseRelY(), Ogre::SDLInput::getMouseRelY(), Ogre::GLXInput::getMouseRelY(), getMouseRelZ(), Ogre::SDLInput::getMouseRelZ(), Ogre::GLXInput::getMouseRelZ(), getMouseState(), Ogre::SDLInput::getMouseState(), Ogre::GLXInput::getMouseState(), Ogre::GLXInput::GrabCursor(), Ogre::GLXInput::initialise(), initialiseImmediateMouse(), and Ogre::InputReader::triggerMouseButton(). |
|
Definition at line 113 of file OgreWin32Input8.h. Referenced by getScaled(), and Win32Input8(). |
|
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(), 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(), setBufferedInput(), Ogre::InputReader::setBufferedInput(), and Ogre::InputReader::useBufferedInput(). |
|
Definition at line 110 of file OgreWin32Input8.h. Referenced by initialise(), and setBufferedInput(). |
|
Definition at line 110 of file OgreWin32Input8.h. Referenced by initialise(), and setBufferedInput(). |
|
Definition at line 37 of file OgreInput.cpp. Referenced by Ogre::InputReader::InputReader(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:51:48 2004