#ifndef _MWINPUT_MWINPUTMANAGERIMP_H #define _MWINPUT_MWINPUTMANAGERIMP_H #include "../mwgui/mode.hpp" #include #include "../mwbase/inputmanager.hpp" namespace OEngine { namespace Render { class OgreRenderer; } } namespace MWWorld { class Player; } namespace MWBase { class WindowManager; } namespace OMW { class Engine; } namespace MWInput { // Forward declaration of the real implementation. class InputImpl; /* Class that handles all input and key bindings for OpenMW. This class is just an interface. All the messy details are in inputmanager.cpp. */ struct MWInputManager : public MWBase::InputManager { InputImpl *impl; public: MWInputManager(OEngine::Render::OgreRenderer &_ogre, MWWorld::Player&_player, MWBase::WindowManager &_windows, bool debug, OMW::Engine& engine); virtual ~MWInputManager(); void update(float duration); virtual void changeInputMode(bool guiMode); virtual void processChangedSettings(const Settings::CategorySettingVector& changed); virtual void setDragDrop(bool dragDrop); virtual void toggleControlSwitch (const std::string& sw, bool value); }; } #endif