OpenMW
apps/openmw/mwbase/inputmanager.hpp
Go to the documentation of this file.
00001 #ifndef GAME_MWBASE_INPUTMANAGER_H
00002 #define GAME_MWBASE_INPUTMANAGER_H
00003 
00004 #include <string>
00005 
00006 #include <components/settings/settings.hpp>
00007 
00008 namespace MWBase
00009 {
00011     class InputManager
00012     {
00013             InputManager (const InputManager&);
00015 
00016             InputManager& operator= (const InputManager&);
00018 
00019         public:
00020 
00021             InputManager() {}
00022 
00023             virtual ~InputManager() {}
00024 
00025             virtual void update(float dt, bool loading) = 0;
00026 
00027             virtual void changeInputMode(bool guiMode) = 0;
00028 
00029             virtual void processChangedSettings(const Settings::CategorySettingVector& changed) = 0;
00030 
00031             virtual void setDragDrop(bool dragDrop) = 0;
00032 
00033             virtual void toggleControlSwitch (const std::string& sw, bool value) = 0;
00034             virtual bool getControlSwitch (const std::string& sw) = 0;
00035 
00036             virtual std::string getActionDescription (int action) = 0;
00037             virtual std::string getActionBindingName (int action) = 0;
00038             virtual std::vector<int> getActionSorting () = 0;
00039             virtual int getNumActions() = 0;
00040             virtual void enableDetectingBindingMode (int action) = 0;
00041             virtual void resetToDefaultBindings() = 0;
00042     };
00043 }
00044 
00045 #endif