1
0
Fork 0

Spectre/System/Event: Adding toString()

This commit is contained in:
Henrik Hautakoski 2020-12-05 15:19:18 +01:00
parent 66a4011f4b
commit 92f42a08fb
2 changed files with 20 additions and 0 deletions

View file

@ -58,6 +58,8 @@ public :
Event(Type type = None);
std::string toString() const;
// Helper methods
static Event createSize(Display *display, int width, int height);

View file

@ -1,5 +1,6 @@
#include <Spectre/System/Event.h>
#include <Spectre/Core/String.h>
namespace sp {
@ -8,6 +9,23 @@ type (type)
{
}
std::string Event::toString() const
{
switch(type) {
case Type::Quit :
return "Quit";
case Type::Size :
return "Size (" + core::to_string(size.width) + ", " + core::to_string(size.height) + ")";
case Type::Key :
return "Key '" + key.getKeyName() + "' " + (key.pressed ? "pressed" : "released");
case Type::MouseButton :
return "MouseButton '" + mouseButton.getName() + "' " + (mouseButton.pressed ? "pressed" : "released");
case Type::MouseMove :
return "MouseMove (" + core::to_string(mouseMove.x) + ", " + core::to_string(mouseMove.y) + ")";
}
return "Unknown";
}
std::string Event::KeyEvent::getKeyName() const
{
return Keyboard::getKeyName(code);