25 #ifndef __I6ENGINE_MODULES_MOUSELISTENER_H__
26 #define __I6ENGINE_MODULES_MOUSELISTENER_H__
37 #include "OIS/OISMouse.h"
55 typedef std::map<std::pair<api::KeyCode, api::KeyState>, boost::function<void(void)>> InputKeyFunctions;
58 std::array<api::KeyState, size_t(api::KeyCode::COUNT)> _keyStates;
59 std::array<char, size_t(api::KeyCode::COUNT)> _keyTexts;
61 InputKeyFunctions _objInputKeyFunctions;
66 int32_t _lastWheelPos;
82 bool mouseMoved(
const OIS::MouseEvent & objMouseEvent);
89 bool mousePressed(
const OIS::MouseEvent & objMouseEvent, OIS::MouseButtonID
id);
96 bool mouseReleased(
const OIS::MouseEvent & objMouseEvent, OIS::MouseButtonID
id);
105 void setKeyFunction(
const api::KeyCode name,
const api::KeyState type,
const boost::function<
void(
void)> & ptrEventMethod);
113 void removeKeyFunction(
const api::KeyCode name,
const api::KeyState type);
123 void triggerKeyFunction(
const api::KeyCode keyCode,
const api::KeyState type);
133 typedef std::map<const OIS::MouseButtonID, std::string> mapMouseButtonMap;
#define ASSERT_THREAD_SAFETY_HEADER
Monitors buttonpresses and sends the corresponding messages to the "Mouse" message channel...