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