32 lines
626 B
C++
32 lines
626 B
C++
#ifndef idF4E67FC292A5480DA4305B806170F520
|
|
#define idF4E67FC292A5480DA4305B806170F520
|
|
|
|
#include <memory>
|
|
|
|
namespace cloonel {
|
|
struct Key;
|
|
|
|
class InputBag {
|
|
public:
|
|
enum ActionStateType {
|
|
ActionState_Released,
|
|
ActionState_Pressed,
|
|
ActionState_JustPressed,
|
|
ActionState_JustReleased
|
|
};
|
|
|
|
InputBag ( void );
|
|
~InputBag ( void ) noexcept;
|
|
|
|
void AddAction ( int parAction, const Key& parKey, std::string&& parName );
|
|
ActionStateType ActionState ( int parAction ) const;
|
|
void Clear ( void );
|
|
|
|
private:
|
|
struct LocalData;
|
|
|
|
const std::unique_ptr<LocalData> m_localdata;
|
|
};
|
|
} //namespace cloonel
|
|
|
|
#endif
|