1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-10 06:39:49 +00:00
OpenMW/apps/openmw/mwinput/inputmanager.hpp

65 lines
1.1 KiB
C++
Raw Normal View History

#ifndef _MWINPUT_MWINPUTMANAGER_H
#define _MWINPUT_MWINPUTMANAGER_H
#include "../mwgui/mode.hpp"
#include <components/settings/settings.hpp>
2010-07-17 17:58:15 +00:00
namespace OEngine
{
namespace Render
{
class OgreRenderer;
}
}
namespace MWWorld
2010-07-17 17:58:15 +00:00
{
class Player;
2010-07-17 17:58:15 +00:00
}
2010-07-17 17:58:15 +00:00
namespace MWGui
{
class WindowManager;
}
namespace OMW
{
class Engine;
}
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 17:58:15 +00:00
This class is just an interface. All the messy details are in
inputmanager.cpp.
*/
struct MWInputManager
{
2010-07-17 17:58:15 +00:00
InputImpl *impl;
public:
MWInputManager(OEngine::Render::OgreRenderer &_ogre,
MWWorld::Player&_player,
MWGui::WindowManager &_windows,
bool debug,
OMW::Engine& engine);
2010-07-17 17:58:15 +00:00
~MWInputManager();
void update();
2012-05-23 10:23:35 +00:00
void changeInputMode(bool guiMode);
void processChangedSettings(const Settings::CategorySettingVector& changed);
2012-05-23 10:23:35 +00:00
void setDragDrop(bool dragDrop);
void toggleControlSwitch(std::string sw, bool value);
};
}
#endif