1
0
Fork 0
spectre/source/System/Event.cpp

56 lines
1,004 B
C++

#include <Spectre/System/Event.h>
namespace sp {
Event::Event(Type type) :
type (type)
{
}
std::string Event::KeyEvent::getKeyName() const
{
return Keyboard::getKeyName(code);
}
std::string Event::MouseButtonEvent::getName() const
{
return Mouse::getButtonName(button);
}
// Helper methods
Event Event::createSize(Display *display, int width, int height)
{
Event event(Size);
event.size.display = display;
event.size.width = width;
event.size.height = height;
return event;
}
Event Event::createKey(Keyboard::Key code, bool pressed)
{
Event event(Key);
event.key.code = code;
event.key.pressed = pressed;
return event;
}
Event Event::createMouseButton(Mouse::Button button, bool pressed)
{
Event event(MouseButton);
event.mouseButton.button = button;
event.mouseButton.pressed = pressed;
return event;
}
Event Event::createMouseMove(unsigned int x, unsigned int y)
{
Event event(MouseMove);
event.mouseMove.x = x;
event.mouseMove.y = y;
return event;
}
} // namespace sp