56 lines
1,004 B
C++
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
|