2010-06-21 21:39:59 +00:00
|
|
|
#ifndef _MWINPUT_MWINPUTMANAGER_H
|
|
|
|
#define _MWINPUT_MWINPUTMANAGER_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>
|
|
|
|
|
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
|
|
|
|
2010-07-17 17:58:15 +00:00
|
|
|
namespace MWGui
|
|
|
|
{
|
|
|
|
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.
|
|
|
|
*/
|
|
|
|
struct MWInputManager
|
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,
|
2010-07-17 12:01:47 +00:00
|
|
|
MWGui::WindowManager &_windows,
|
2010-08-05 11:36:33 +00:00
|
|
|
bool debug,
|
|
|
|
OMW::Engine& engine);
|
2010-07-17 17:58:15 +00:00
|
|
|
~MWInputManager();
|
2010-09-15 12:48:19 +00:00
|
|
|
|
2012-04-05 19:16:51 +00:00
|
|
|
void update();
|
|
|
|
|
2012-05-23 10:23:35 +00:00
|
|
|
void changeInputMode(bool guiMode);
|
2012-05-13 08:18:17 +00:00
|
|
|
|
2012-05-28 07:19:25 +00:00
|
|
|
void processChangedSettings(const Settings::CategorySettingVector& changed);
|
|
|
|
|
2012-05-23 10:23:35 +00:00
|
|
|
void setDragDrop(bool dragDrop);
|
2012-08-04 07:54:42 +00:00
|
|
|
|
|
|
|
void toggleControlSwitch(std::string sw, bool value);
|
2010-06-08 11:53:34 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|