Rick van Vonderen
5 years ago
3 changed files with 97 additions and 8 deletions
@ -0,0 +1,69 @@ |
|||||||
|
#ifndef KEYEVENT_H |
||||||
|
#define KEYEVENT_H |
||||||
|
|
||||||
|
#include "inferno/event/event.h" |
||||||
|
|
||||||
|
namespace Inferno { |
||||||
|
|
||||||
|
class KeyEvent : public Event { |
||||||
|
public: |
||||||
|
inline int getKey() const { return m_key; } |
||||||
|
|
||||||
|
EVENT_CLASS_CATEGORY(InputEventCategory | KeyEventCategory) |
||||||
|
|
||||||
|
protected: |
||||||
|
KeyEvent(int key) : |
||||||
|
m_key(key) {} |
||||||
|
|
||||||
|
private: |
||||||
|
int m_key; |
||||||
|
}; |
||||||
|
|
||||||
|
class KeyPressEvent : public KeyEvent { |
||||||
|
public: |
||||||
|
KeyPressEvent(int key) : |
||||||
|
KeyEvent(key) {} |
||||||
|
|
||||||
|
virtual std::string toString() const override |
||||||
|
{ |
||||||
|
std::stringstream ss; |
||||||
|
ss << "KeyPress: " << getKey(); |
||||||
|
return ss.str(); |
||||||
|
} |
||||||
|
|
||||||
|
EVENT_CLASS_TYPE(KeyPress) |
||||||
|
}; |
||||||
|
|
||||||
|
class KeyReleaseEvent : public KeyEvent { |
||||||
|
public: |
||||||
|
KeyReleaseEvent(int key) : |
||||||
|
KeyEvent(key) {} |
||||||
|
|
||||||
|
virtual std::string toString() const override |
||||||
|
{ |
||||||
|
std::stringstream ss; |
||||||
|
ss << "KeyRelease: " << getKey(); |
||||||
|
return ss.str(); |
||||||
|
} |
||||||
|
|
||||||
|
EVENT_CLASS_TYPE(KeyPress) |
||||||
|
}; |
||||||
|
|
||||||
|
class KeyRepeatEvent : public KeyEvent { |
||||||
|
public: |
||||||
|
KeyRepeatEvent(int key) : |
||||||
|
KeyEvent(key) {} |
||||||
|
|
||||||
|
virtual std::string toString() const override |
||||||
|
{ |
||||||
|
std::stringstream ss; |
||||||
|
ss << "KeyRepeat: " << getKey(); |
||||||
|
return ss.str(); |
||||||
|
} |
||||||
|
|
||||||
|
EVENT_CLASS_TYPE(KeyPress) |
||||||
|
}; |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
#endif // KEYEVENT_H
|
Loading…
Reference in new issue