gcn::SDLInput Class Reference

#include <sdlinput.hpp>

Inheritance diagram for gcn::SDLInput:

gcn::Input List of all members.

Detailed Description

SDL implementation of Input.

Definition at line 76 of file sdlinput.hpp.

Public Member Functions

virtual void _pollInput ()
 Polls all input.
virtual KeyInput dequeueKeyInput ()
 Dequeues the key input queue.
virtual MouseInput dequeueMouseInput ()
 Dequeues the mouse input queue.
virtual bool isKeyQueueEmpty ()
 Checks if the key queue is empty, or not.
virtual bool isMouseQueueEmpty ()
 Checks if the mouse queue is empyt, or not.
virtual void pushInput (SDL_Event event)
 Pushes an SDL event.
 SDLInput ()
 Constructor.

Protected Member Functions

int convertKeyCharacter (SDL_Event event)
 Converts an SDL event key to a key value.
int convertMouseButton (int button)
 Converts a mouse button from SDL to a Guichan mouse button representation.

Protected Attributes

std::queue< KeyInputmKeyInputQueue
bool mMouseDown
std::queue< MouseInputmMouseInputQueue
bool mMouseInWindow


Member Function Documentation

virtual void gcn::SDLInput::_pollInput (  )  [inline, virtual]

Polls all input.

It exists for input driver compatibility. If you only use SDL and plan sticking with SDL you can safely ignore this function as it in the SDL case does nothing.

Implements gcn::Input.

Definition at line 98 of file sdlinput.hpp.

int gcn::SDLInput::convertKeyCharacter ( SDL_Event  event  )  [protected]

Converts an SDL event key to a key value.

Parameters:
event an SDL event with a key to convert.
Returns:
a key value.
See also:
Key

Definition at line 236 of file sdlinput.cpp.

References gcn::Key::ALT_GR, gcn::Key::BACKSPACE, gcn::Key::CAPS_LOCK, gcn::Key::DELETE, gcn::Key::DOWN, gcn::Key::END, gcn::Key::ENTER, gcn::Key::ESCAPE, gcn::Key::F1, gcn::Key::F10, gcn::Key::F11, gcn::Key::F12, gcn::Key::F13, gcn::Key::F14, gcn::Key::F15, gcn::Key::F2, gcn::Key::F3, gcn::Key::F4, gcn::Key::F5, gcn::Key::F6, gcn::Key::F7, gcn::Key::F8, gcn::Key::F9, gcn::Key::HOME, gcn::Key::INSERT, gcn::Key::LEFT, gcn::Key::LEFT_ALT, gcn::Key::LEFT_CONTROL, gcn::Key::LEFT_META, gcn::Key::LEFT_SHIFT, gcn::Key::LEFT_SUPER, gcn::Key::NUM_LOCK, gcn::Key::PAGE_DOWN, gcn::Key::PAGE_UP, gcn::Key::PAUSE, gcn::Key::PRINT_SCREEN, gcn::Key::RIGHT, gcn::Key::RIGHT_ALT, gcn::Key::RIGHT_CONTROL, gcn::Key::RIGHT_META, gcn::Key::RIGHT_SHIFT, gcn::Key::RIGHT_SUPER, gcn::Key::SCROLL_LOCK, gcn::Key::SPACE, gcn::Key::TAB, and gcn::Key::UP.

Referenced by pushInput().

int gcn::SDLInput::convertMouseButton ( int  button  )  [protected]

Converts a mouse button from SDL to a Guichan mouse button representation.

Parameters:
button an SDL mouse button.
Returns:
a Guichan mouse button.

Definition at line 217 of file sdlinput.cpp.

References gcn::MouseInput::LEFT, gcn::MouseInput::MIDDLE, and gcn::MouseInput::RIGHT.

Referenced by pushInput().

KeyInput gcn::SDLInput::dequeueKeyInput (  )  [virtual]

Dequeues the key input queue.

Returns:
The first key input in the key input queue.

Implements gcn::Input.

Definition at line 78 of file sdlinput.cpp.

References mKeyInputQueue.

MouseInput gcn::SDLInput::dequeueMouseInput (  )  [virtual]

Dequeues the mouse input queue.

Returns:
The first mouse input in the mouse input queue.

Implements gcn::Input.

Definition at line 98 of file sdlinput.cpp.

References mMouseInputQueue.

bool gcn::SDLInput::isKeyQueueEmpty (  )  [virtual]

Checks if the key queue is empty, or not.

Returns:
True if the key queue is empty, false otherwise.

Implements gcn::Input.

Definition at line 73 of file sdlinput.cpp.

References mKeyInputQueue.

bool gcn::SDLInput::isMouseQueueEmpty (  )  [virtual]

Checks if the mouse queue is empyt, or not.

Returns:
True if the mouse queue is empty, false otherwise.

Implements gcn::Input.

Definition at line 93 of file sdlinput.cpp.

References mMouseInputQueue.

void gcn::SDLInput::pushInput ( SDL_Event  event  )  [virtual]

Pushes an SDL event.

It should be called at least once per frame to update input with user input.

Parameters:
event an event from SDL.

Definition at line 113 of file sdlinput.cpp.

References convertKeyCharacter(), convertMouseButton(), gcn::MouseInput::EMPTY, mKeyInputQueue, mMouseDown, mMouseInputQueue, mMouseInWindow, gcn::MouseInput::MOVED, gcn::MouseInput::PRESSED, gcn::KeyInput::PRESSED, gcn::MouseInput::RELEASED, gcn::KeyInput::RELEASED, gcn::KeyInput::setAltPressed(), gcn::MouseInput::setButton(), gcn::KeyInput::setControlPressed(), gcn::KeyInput::setKey(), gcn::KeyInput::setMetaPressed(), gcn::KeyInput::setNumericPad(), gcn::KeyInput::setShiftPressed(), gcn::MouseInput::setTimeStamp(), gcn::MouseInput::setType(), gcn::KeyInput::setType(), gcn::MouseInput::setX(), gcn::MouseInput::setY(), gcn::MouseInput::WHEEL_MOVED_DOWN, and gcn::MouseInput::WHEEL_MOVED_UP.


The documentation for this class was generated from the following files:
Generated on Sun Jan 20 21:48:15 2008 for Guichan by  doxygen 1.5.2