2012-08-11 17:53:39 +02:00
|
|
|
#ifndef GAME_MWBASE_INPUTMANAGER_H
|
|
|
|
#define GAME_MWBASE_INPUTMANAGER_H
|
|
|
|
|
|
|
|
#include <string>
|
2015-02-03 00:53:30 +01:00
|
|
|
#include <set>
|
|
|
|
#include <vector>
|
2012-08-11 17:53:39 +02:00
|
|
|
|
|
|
|
namespace MWBase
|
|
|
|
{
|
|
|
|
/// \brief Interface for input manager (implemented in MWInput)
|
|
|
|
class InputManager
|
|
|
|
{
|
|
|
|
InputManager (const InputManager&);
|
|
|
|
///< not implemented
|
|
|
|
|
|
|
|
InputManager& operator= (const InputManager&);
|
|
|
|
///< not implemented
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
InputManager() {}
|
|
|
|
|
2014-03-09 03:34:49 +01:00
|
|
|
/// Clear all savegame-specific data
|
|
|
|
virtual void clear() = 0;
|
|
|
|
|
2012-08-11 17:53:39 +02:00
|
|
|
virtual ~InputManager() {}
|
|
|
|
|
2014-03-27 19:51:48 +01:00
|
|
|
virtual void update(float dt, bool disableControls, bool disableEvents=false) = 0;
|
2012-08-11 17:53:39 +02:00
|
|
|
|
|
|
|
virtual void changeInputMode(bool guiMode) = 0;
|
|
|
|
|
2015-02-03 00:53:30 +01:00
|
|
|
virtual void processChangedSettings(const std::set< std::pair<std::string, std::string> >& changed) = 0;
|
2012-08-11 17:53:39 +02:00
|
|
|
|
|
|
|
virtual void setDragDrop(bool dragDrop) = 0;
|
|
|
|
|
|
|
|
virtual void toggleControlSwitch (const std::string& sw, bool value) = 0;
|
2012-09-10 18:44:59 +02:00
|
|
|
virtual bool getControlSwitch (const std::string& sw) = 0;
|
2012-08-13 01:26:15 +02:00
|
|
|
|
|
|
|
virtual std::string getActionDescription (int action) = 0;
|
|
|
|
virtual std::string getActionBindingName (int action) = 0;
|
|
|
|
virtual std::vector<int> getActionSorting () = 0;
|
|
|
|
virtual int getNumActions() = 0;
|
|
|
|
virtual void enableDetectingBindingMode (int action) = 0;
|
2012-08-13 02:55:22 +02:00
|
|
|
virtual void resetToDefaultBindings() = 0;
|
2012-08-11 17:53:39 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|