2012-08-11 15:53:39 +00:00
|
|
|
#ifndef _MWINPUT_MWINPUTMANAGERIMP_H
|
|
|
|
#define _MWINPUT_MWINPUTMANAGERIMP_H
|
2010-06-08 11:53:34 +00:00
|
|
|
|
2010-09-15 12:48:19 +00:00
|
|
|
#include "../mwgui/mode.hpp"
|
|
|
|
|
2012-05-28 07:19:25 +00:00
|
|
|
#include <components/settings/settings.hpp>
|
|
|
|
|
2012-08-11 15:53:39 +00:00
|
|
|
#include "../mwbase/inputmanager.hpp"
|
|
|
|
|
2010-07-17 17:58:15 +00:00
|
|
|
namespace OEngine
|
|
|
|
{
|
|
|
|
namespace Render
|
|
|
|
{
|
|
|
|
class OgreRenderer;
|
|
|
|
}
|
|
|
|
}
|
2010-06-08 11:53:34 +00:00
|
|
|
|
2011-01-04 14:58:22 +00:00
|
|
|
namespace MWWorld
|
2010-07-17 17:58:15 +00:00
|
|
|
{
|
2011-01-04 14:58:22 +00:00
|
|
|
class Player;
|
2010-07-17 17:58:15 +00:00
|
|
|
}
|
2010-07-16 12:26:46 +00:00
|
|
|
|
2012-08-12 16:11:09 +00:00
|
|
|
namespace MWBase
|
2010-07-17 17:58:15 +00:00
|
|
|
{
|
|
|
|
class WindowManager;
|
|
|
|
}
|
2010-07-16 12:26:46 +00:00
|
|
|
|
2010-08-05 11:36:33 +00:00
|
|
|
namespace OMW
|
|
|
|
{
|
|
|
|
class Engine;
|
|
|
|
}
|
|
|
|
|
2010-06-08 11:53:34 +00:00
|
|
|
namespace MWInput
|
|
|
|
{
|
2010-07-17 17:58:15 +00:00
|
|
|
// Forward declaration of the real implementation.
|
|
|
|
class InputImpl;
|
2010-06-22 14:02:58 +00:00
|
|
|
|
2010-07-17 17:58:15 +00:00
|
|
|
/* Class that handles all input and key bindings for OpenMW.
|
2010-07-17 12:01:47 +00:00
|
|
|
|
2010-07-17 17:58:15 +00:00
|
|
|
This class is just an interface. All the messy details are in
|
|
|
|
inputmanager.cpp.
|
|
|
|
*/
|
2012-08-11 15:53:39 +00:00
|
|
|
struct MWInputManager : public MWBase::InputManager
|
2010-06-08 11:53:34 +00:00
|
|
|
{
|
2010-07-17 17:58:15 +00:00
|
|
|
InputImpl *impl;
|
2010-07-17 12:01:47 +00:00
|
|
|
|
2010-06-08 11:53:34 +00:00
|
|
|
public:
|
2010-07-16 12:26:46 +00:00
|
|
|
MWInputManager(OEngine::Render::OgreRenderer &_ogre,
|
2011-01-04 14:58:22 +00:00
|
|
|
MWWorld::Player&_player,
|
2012-08-12 16:11:09 +00:00
|
|
|
MWBase::WindowManager &_windows,
|
2010-08-05 11:36:33 +00:00
|
|
|
bool debug,
|
|
|
|
OMW::Engine& engine);
|
2012-08-11 15:53:39 +00:00
|
|
|
virtual ~MWInputManager();
|
2010-09-15 12:48:19 +00:00
|
|
|
|
2012-08-11 15:53:39 +00:00
|
|
|
virtual void update();
|
2012-04-05 19:16:51 +00:00
|
|
|
|
2012-08-11 15:53:39 +00:00
|
|
|
virtual void changeInputMode(bool guiMode);
|
2012-05-13 08:18:17 +00:00
|
|
|
|
2012-08-11 15:53:39 +00:00
|
|
|
virtual void processChangedSettings(const Settings::CategorySettingVector& changed);
|
2012-05-28 07:19:25 +00:00
|
|
|
|
2012-08-11 15:53:39 +00:00
|
|
|
virtual void setDragDrop(bool dragDrop);
|
2012-08-04 07:54:42 +00:00
|
|
|
|
2012-08-11 15:53:39 +00:00
|
|
|
virtual void toggleControlSwitch (const std::string& sw, bool value);
|
2010-06-08 11:53:34 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|