#include <OgreWin32Input.h>
Inheritance diagram for Ogre::Win32Input:
Public Methods | |
Win32Input () | |
~Win32Input () | |
void | initialise (RenderWindow *pWindow, bool useKeyboard=true, bool useMouse=true, bool useGameController=false) |
Initialise the input system. | |
void | capture (void) |
Captures the state of all the input devices. | |
bool | isKeyDown (KeyCode kc) |
Determines if the specified key is currently depressed. | |
int | getMouseRelativeX (void) |
Retrieves the relative position of the mouse when capture was called relative to the last time. | |
int | getMouseRelativeY (void) |
Retrieves the relative position of the mouse when capture was called relative to the last time. | |
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=0 |
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. | |
virtual long | getMouseRelX () const=0 |
Retrieves the relative (compared to the last input poll) mouse movement on the X (horizontal) axis. | |
virtual long | getMouseRelY () const=0 |
Retrieves the relative (compared to the last input poll) mouse movement on the Y (vertical) axis. | |
virtual long | getMouseRelZ () const=0 |
Retrieves the relative (compared to the last input poll) mouse movement on the Z (mouse wheel) axis. | |
virtual long | getMouseAbsX () const=0 |
Retrieves the absolute mouse position on the X (horizontal) axis. | |
virtual long | getMouseAbsY () const=0 |
Retrieves the absolute mouse position on the Y (vertical) axis. | |
virtual long | getMouseAbsZ () const=0 |
Retrieves the absolute mouse position on the Z (mouse wheel) axis. | |
virtual void | getMouseState (MouseState &state) const=0 |
Retrieves the current state of the mouse. | |
virtual bool | getMouseButton (uchar button) const=0 |
Retrieves the state of a mouse button. | |
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 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. | |
Static Protected Attributes | |
bool | sKeysInitialised = false |
Private Attributes | |
LPDIRECTINPUT7 | mlpDI |
LPDIRECTINPUTDEVICE7 | mlpDIKeyboard |
LPDIRECTINPUTDEVICE7 | mlpDIMouse |
HWND | mHWnd |
char | mKeyboardBuffer [256] |
int | mMouseX |
int | mMouseY |
int | mMouseCenterX |
int | mMouseCenterY |
bool | mLMBDown |
bool | mRMBDown |
Note that this is a basic implementation only at the moment.
Definition at line 38 of file OgreWin32Input.h.
|
Definition at line 36 of file OgreWin32Input.cpp. References mKeyboardBuffer, mlpDI, mlpDIKeyboard, and mlpDIMouse. |
|
Definition at line 47 of file OgreWin32Input.cpp. References mlpDI, mlpDIKeyboard, and mlpDIMouse. |
|
Adds a mouse motion listener to the cursor object. This keeps the Cursor object hidden. Definition at line 146 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. This method captures the state of all input devices and stores it internally for use when the enquiry methods are next called. This is done to ensure that all input is captured at once and therefore combinations of input are not subject to time differences when methods are called. Implements Ogre::InputReader. Definition at line 190 of file OgreWin32Input.cpp. References mHWnd, mKeyboardBuffer, mlpDIKeyboard, mMouseCenterX, mMouseCenterY, mMouseX, and mMouseY. |
|
Definition at line 123 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 104 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 205 of file OgreInput.cpp. References Ogre::KEYCODE(), and Ogre::sKeyChars. |
|
Retrieves the absolute mouse position on the X (horizontal) axis.
Implemented in Ogre::SDLInput, and Ogre::Win32Input8. |
|
Retrieves the absolute mouse position on the Y (vertical) axis.
Implemented in Ogre::SDLInput, and Ogre::Win32Input8. |
|
Retrieves the absolute mouse position on the Z (mouse wheel) axis.
Implemented in Ogre::SDLInput, and Ogre::Win32Input8. |
|
Retrieves the state of a mouse button.
Implemented in Ogre::SDLInput, and Ogre::Win32Input8. |
|
Retrieves the relative position of the mouse when capture was called relative to the last time.
Reimplemented in Ogre::Win32Input. Definition at line 272 of file OgreInput.h. |
|
Retrieves the relative position of the mouse when capture was called relative to the last time.
Reimplemented from Ogre::InputReader. Definition at line 305 of file OgreWin32Input.cpp. References mMouseCenterX, and mMouseX. |
|
Retrieves the relative position of the mouse when capture was called relative to the last time.
Reimplemented in Ogre::Win32Input. Definition at line 276 of file OgreInput.h. |
|
Retrieves the relative position of the mouse when capture was called relative to the last time.
Reimplemented from Ogre::InputReader. Definition at line 310 of file OgreWin32Input.cpp. References mMouseCenterY, and mMouseY. |
|
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.
Implemented in Ogre::SDLInput, and Ogre::Win32Input8. |
|
Retrieves the relative (compared to the last input poll) mouse movement on the Y (vertical) axis.
Implemented in Ogre::SDLInput, and Ogre::Win32Input8. |
|
Retrieves the relative (compared to the last input poll) mouse movement on the Z (mouse wheel) axis.
Implemented in Ogre::SDLInput, and Ogre::Win32Input8. |
|
Retrieves the current state of the mouse.
Implemented in Ogre::SDLInput, and Ogre::Win32Input8. |
|
Initialise the input system.
Implements Ogre::InputReader. Definition at line 71 of file OgreWin32Input.cpp. References mHWnd, mlpDI, mlpDIKeyboard, mMouseCenterX, and mMouseCenterY. |
|
Determines if the specified key is currently depressed.
Implemented in Ogre::SDLInput, and Ogre::Win32Input8. |
|
Determines if the specified key is currently depressed. Note that this enquiry method uses the state of the keyboard at the last 'capture' call. Definition at line 292 of file OgreWin32Input.cpp. References Ogre::KeyCode, and mKeyboardBuffer. |
|
Definition at line 157 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, and Ogre::InputReader::mModifiers. Referenced by Ogre::SDLInput::processBufferedKeyboard(), and Ogre::Win32Input8::readBufferedKeyboardData(). |
|
Creates mouse moved or dragged events depending if any button is pressed.
Definition at line 132 of file OgreInput.cpp. References Ogre::InputReader::createMouseEvent(), and Ogre::InputReader::mModifiers. Referenced by Ogre::SDLInput::processBufferedMouse(), and Ogre::Win32Input8::readBufferedMouseData(). |
|
Remove a mouse motion listener to the cursor object. This keeps the Cursor object hidden. Definition at line 151 of file OgreInput.cpp. References Ogre::InputReader::mCursor, and Ogre::MouseMotionTarget::removeMouseMotionListener(). Referenced by Ogre::EventProcessor::removeCursorMoveListener(). |
|
Reimplemented in Ogre::Win32Input8. Definition at line 70 of file OgreInput.cpp. References Ogre::InputReader::mUseBufferedKeys, and Ogre::InputReader::mUseBufferedMouse. |
|
|
Creates mouse pressed, released, and clicked events.
Definition at line 87 of file OgreInput.cpp. References Ogre::InputReader::createMouseEvent(), and Ogre::InputReader::mModifiers. Referenced by Ogre::SDLInput::processBufferedMouse(), and Ogre::Win32Input8::readBufferedMouseData(). |
|
Tells the reader to use buffered input and update the passed in queue.
Definition at line 53 of file OgreInput.cpp. References Ogre::InputReader::mCursor, Ogre::InputReader::mEventQueue, Ogre::InputReader::mUseBufferedKeys, and Ogre::InputReader::mUseBufferedMouse. Referenced by Ogre::EventProcessor::initialise(). |
|
Internal Cursor object.
Definition at line 331 of file OgreInput.h. Referenced by Ogre::InputReader::addCursorMoveListener(), Ogre::InputReader::createMouseEvent(), Ogre::InputReader::InputReader(), Ogre::SDLInput::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::InputReader::InputReader(), Ogre::SDLInput::SDLInput(), Ogre::InputReader::useBufferedInput(), and Ogre::Win32Input8::Win32Input8(). |
|
Definition at line 79 of file OgreWin32Input.h. Referenced by capture(), and initialise(). |
|
Definition at line 83 of file OgreWin32Input.h. Referenced by capture(), isKeyDown(), and Win32Input(). |
|
Definition at line 86 of file OgreWin32Input.h. |
|
Definition at line 75 of file OgreWin32Input.h. Referenced by initialise(), Win32Input(), and ~Win32Input(). |
|
Definition at line 76 of file OgreWin32Input.h. Referenced by capture(), initialise(), Win32Input(), and ~Win32Input(). |
|
Definition at line 77 of file OgreWin32Input.h. Referenced by Win32Input(), and ~Win32Input(). |
|
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 85 of file OgreWin32Input.h. Referenced by capture(), getMouseRelativeX(), and initialise(). |
|
Definition at line 85 of file OgreWin32Input.h. Referenced by capture(), getMouseRelativeY(), and initialise(). |
|
The mouse state in immediate mode.
Definition at line 342 of file OgreInput.h. Referenced by Ogre::SDLInput::capture(), Ogre::Win32Input8::captureMouse(), Ogre::Win32Input8::getMouseAbsX(), Ogre::Win32Input8::getMouseAbsY(), Ogre::Win32Input8::getMouseAbsZ(), Ogre::Win32Input8::getMouseButton(), Ogre::SDLInput::getMouseButton(), Ogre::Win32Input8::getMouseRelX(), Ogre::SDLInput::getMouseRelX(), Ogre::Win32Input8::getMouseRelY(), Ogre::SDLInput::getMouseRelY(), Ogre::Win32Input8::getMouseRelZ(), Ogre::SDLInput::getMouseRelZ(), Ogre::Win32Input8::getMouseState(), Ogre::SDLInput::getMouseState(), and Ogre::Win32Input8::initialiseImmediateMouse(). |
|
Definition at line 84 of file OgreWin32Input.h. Referenced by capture(), and getMouseRelativeX(). |
|
Definition at line 84 of file OgreWin32Input.h. Referenced by capture(), and getMouseRelativeY(). |
|
Definition at line 86 of file OgreWin32Input.h. |
|
Wether to use buffering input support - buffering support relies on using an EventQueue.
Definition at line 339 of file OgreInput.h. Referenced by Ogre::SDLInput::capture(), 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::SDLInput::capture(), Ogre::InputReader::InputReader(), Ogre::Win32Input8::setBufferedInput(), Ogre::InputReader::setBufferedInput(), and Ogre::InputReader::useBufferedInput(). |
|
Definition at line 36 of file OgreInput.cpp. Referenced by Ogre::InputReader::InputReader(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Fri May 14 23:27:30 2004