Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Ogre::GLXInput Class Reference

#include <OgreGLXInput.h>

Inheritance diagram for Ogre::GLXInput:

Ogre::InputReader List of all members.

Public Member Functions

 GLXInput ()
virtual ~GLXInput ()
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.

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.

virtual void setMouseScale (Real scale)
 Set mouse scale factor.

virtual Real getMouseScale (void) const
 Get mouse scale factor.


Static Public Member Functions

char getKeyChar (int keyCode, long modifiers=0)

Protected Types

typedef std::set< KeyCodeBufferedKeysDownSet
 Set of all the keys currently depressed based on buffered input events.


Protected Member Functions

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)

Protected Attributes

long mModifiers
 The modifiers are a binary flags that represent what buttons are pressed, and what key modifiers are down (e.g.

Real mMouseScale
 Speed of mouse.

CursormCursor
 Internal Cursor object.

EventQueuemEventQueue
 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

Private Types

typedef std::map< KeySym,
KeyCode
InputKeyMap
typedef std::set< KeyCodeKeyPressedSet

Private Member Functions

void GrabCursor (bool grab)
bool isKeyDownImmediate (KeyCode kc) const
 Return whether a key is down in immediate mode.


Private Attributes

CARD32 mHiddenCursor
InputKeyMap _key_map
KeyPressedSet _key_pressed_set
bool captureMouse
bool warpMouse
int mouseLastX
int mouseLastY
Display * mDisplay
Window mWindow
RenderWindowmRenderWindow

Static Private Attributes

const unsigned int mWheelStep = 100

Member Typedef Documentation

typedef std::set<KeyCode> Ogre::InputReader::BufferedKeysDownSet [protected, inherited]
 

Set of all the keys currently depressed based on buffered input events.

Definition at line 350 of file OgreInput.h.

typedef std::map<KeySym, KeyCode> Ogre::GLXInput::InputKeyMap [private]
 

Definition at line 69 of file OgreGLXInput.h.

typedef std::set<KeyCode> Ogre::GLXInput::KeyPressedSet [private]
 

Definition at line 73 of file OgreGLXInput.h.


Constructor & Destructor Documentation

Ogre::GLXInput::GLXInput  ) 
 

virtual Ogre::GLXInput::~GLXInput  )  [virtual]
 


Member Function Documentation

void Ogre::InputReader::addCursorMoveListener MouseMotionListener c  )  [inherited]
 

Adds a mouse motion listener to the cursor object.

This keeps the Cursor object hidden.

void Ogre::GLXInput::capture  )  [virtual]
 

Captures the state of all the input devices.

Remarks:
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.

void Ogre::InputReader::createKeyEvent int  id,
int  key
[protected, inherited]
 

void Ogre::InputReader::createMouseEvent int  id,
int  button
[protected, inherited]
 

Creates a MouseEvent that first gets processed by the cursor, then gets pushed on the queue.

char Ogre::InputReader::getKeyChar int  keyCode,
long  modifiers = 0
[static, inherited]
 

virtual long Ogre::GLXInput::getMouseAbsX  )  const [virtual]
 

Retrieves the absolute mouse position on the X (horizontal) axis.

Implements Ogre::InputReader.

virtual long Ogre::GLXInput::getMouseAbsY  )  const [virtual]
 

Retrieves the absolute mouse position on the Y (vertical) axis.

Implements Ogre::InputReader.

virtual long Ogre::GLXInput::getMouseAbsZ  )  const [virtual]
 

Retrieves the absolute mouse position on the Z (mouse wheel) axis.

Implements Ogre::InputReader.

virtual bool Ogre::GLXInput::getMouseButton uchar  button  )  const [virtual]
 

Retrieves the state of a mouse button.

Implements Ogre::InputReader.

virtual long Ogre::InputReader::getMouseRelativeX  )  const [virtual, inherited]
 

Retrieves the relative position of the mouse when capture was called relative to the last time.

Definition at line 266 of file OgreInput.h.

virtual long Ogre::InputReader::getMouseRelativeY  )  const [virtual, inherited]
 

Retrieves the relative position of the mouse when capture was called relative to the last time.

Definition at line 270 of file OgreInput.h.

virtual long Ogre::InputReader::getMouseRelativeZ  )  const [virtual, inherited]
 

Retrieves the relative position of the mouse when capture was called relative to the last time.

Definition at line 274 of file OgreInput.h.

virtual long Ogre::GLXInput::getMouseRelX  )  const [virtual]
 

Retrieves the relative (compared to the last input poll) mouse movement on the X (horizontal) axis.

Implements Ogre::InputReader.

virtual long Ogre::GLXInput::getMouseRelY  )  const [virtual]
 

Retrieves the relative (compared to the last input poll) mouse movement on the Y (vertical) axis.

Implements Ogre::InputReader.

virtual long Ogre::GLXInput::getMouseRelZ  )  const [virtual]
 

Retrieves the relative (compared to the last input poll) mouse movement on the Z (mouse wheel) axis.

Implements Ogre::InputReader.

virtual Real Ogre::InputReader::getMouseScale void   )  const [virtual, inherited]
 

Get mouse scale factor.

Definition at line 317 of file OgreInput.h.

References Ogre::Real.

virtual void Ogre::GLXInput::getMouseState MouseState state  )  const [virtual]
 

Retrieves the current state of the mouse.

Implements Ogre::InputReader.

void Ogre::GLXInput::GrabCursor bool  grab  )  [private]
 

void Ogre::GLXInput::initialise RenderWindow pWindow,
bool  useKeyboard = true,
bool  useMouse = true,
bool  useGameController = false
[virtual]
 

Initialise the input system.

Note:
Only keyboard and mouse currently implemented.
Parameters:
pWindow The window to capture input for
useKeyboard If true, keyboard input will be supported.
useMouse If true, mouse input will be supported.
useGameController If true, joysticks/gamepads will be supported.

Implements Ogre::InputReader.

virtual bool Ogre::InputReader::isKeyDown KeyCode  kc  )  const [virtual, inherited]
 

Determines if the specified key is currently depressed.

Note:
In immediate mode, this enquiry method uses the state of the keyboard at the last 'capture' call.

bool Ogre::GLXInput::isKeyDownImmediate KeyCode  kc  )  const [private, virtual]
 

Return whether a key is down in immediate mode.

Implements Ogre::InputReader.

void Ogre::InputReader::keyChanged int  key,
bool  down
[protected, inherited]
 

void Ogre::InputReader::mouseMoved  )  [protected, inherited]
 

Creates mouse moved or dragged events depending if any button is pressed.

void Ogre::InputReader::removeCursorMoveListener MouseMotionListener c  )  [inherited]
 

Remove a mouse motion listener to the cursor object.

This keeps the Cursor object hidden.

virtual void Ogre::InputReader::setBufferedInput bool  keys,
bool  mouse
[virtual, inherited]
 

Reimplemented in Ogre::Win32Input8.

virtual void Ogre::InputReader::setMouseScale Real  scale  )  [virtual, inherited]
 

Set mouse scale factor.

Parameters:
scale The new mouse scale (The default on is around 0.001/0.002).

Definition at line 313 of file OgreInput.h.

References Ogre::Real.

void Ogre::InputReader::triggerMouseButton int  nMouseCode,
bool  mousePressed
[protected, inherited]
 

Creates mouse pressed, released, and clicked events.

void Ogre::InputReader::useBufferedInput EventQueue pEventQueue,
bool  keys = true,
bool  mouse = true
[inherited]
 

Tells the reader to use buffered input and update the passed in queue.

Remarks:
The default behaviour of the input reader is simply to capture the current state of the mouse / keyboard on demand. An alternative is to use buffered input where all events are registered on a queue.


Member Data Documentation

InputKeyMap Ogre::GLXInput::_key_map [private]
 

Definition at line 70 of file OgreGLXInput.h.

KeyPressedSet Ogre::GLXInput::_key_pressed_set [private]
 

Definition at line 74 of file OgreGLXInput.h.

bool Ogre::GLXInput::captureMouse [private]
 

Definition at line 78 of file OgreGLXInput.h.

BufferedKeysDownSet Ogre::InputReader::mBufferedKeysDown [protected, inherited]
 

Definition at line 351 of file OgreInput.h.

Cursor* Ogre::InputReader::mCursor [protected, inherited]
 

Internal Cursor object.

Remarks:
This is a mathematical representation of where the cursor is, it does not draw a cursor.
See also:
CursorGuiElement.

Definition at line 336 of file OgreInput.h.

Display* Ogre::GLXInput::mDisplay [private]
 

Definition at line 84 of file OgreGLXInput.h.

EventQueue* Ogre::InputReader::mEventQueue [protected, inherited]
 

EventQueue is used for buffered input support.

Definition at line 339 of file OgreInput.h.

CARD32 Ogre::GLXInput::mHiddenCursor [private]
 

Definition at line 66 of file OgreGLXInput.h.

long Ogre::InputReader::mModifiers [protected, inherited]
 

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 325 of file OgreInput.h.

Real Ogre::InputReader::mMouseScale [protected, inherited]
 

Speed of mouse.

Definition at line 328 of file OgreInput.h.

MouseState Ogre::InputReader::mMouseState [protected, inherited]
 

The mouse state in immediate mode.

Definition at line 347 of file OgreInput.h.

int Ogre::GLXInput::mouseLastX [private]
 

Definition at line 81 of file OgreGLXInput.h.

int Ogre::GLXInput::mouseLastY [private]
 

Definition at line 81 of file OgreGLXInput.h.

RenderWindow* Ogre::GLXInput::mRenderWindow [private]
 

Definition at line 86 of file OgreGLXInput.h.

bool Ogre::InputReader::mUseBufferedKeys [protected, inherited]
 

Wether to use buffering input support - buffering support relies on using an EventQueue.

See also:
class EventQueue

Definition at line 344 of file OgreInput.h.

bool Ogre::InputReader::mUseBufferedMouse [protected, inherited]
 

Wether to use buffering input support - buffering support relies on using an EventQueue.

See also:
class EventQueue

Definition at line 344 of file OgreInput.h.

const unsigned int Ogre::GLXInput::mWheelStep = 100 [static, private]
 

Definition at line 88 of file OgreGLXInput.h.

Window Ogre::GLXInput::mWindow [private]
 

Definition at line 85 of file OgreGLXInput.h.

bool Ogre::GLXInput::warpMouse [private]
 

Definition at line 80 of file OgreGLXInput.h.


The documentation for this class was generated from the following file:

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:46:18 2006