Did a lot of boilerplate on the Event wrapper
This commit is contained in:
74
include/Event.hpp
Normal file
74
include/Event.hpp
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
namespace vr {
|
||||||
|
|
||||||
|
|
||||||
|
class Event {
|
||||||
|
public:
|
||||||
|
enum EventType
|
||||||
|
{
|
||||||
|
Closed,
|
||||||
|
Resized,
|
||||||
|
LostFocus,
|
||||||
|
GainedFocus,
|
||||||
|
TextEntered,
|
||||||
|
KeyPressed,
|
||||||
|
KeyReleased,
|
||||||
|
MouseWheelMoved,
|
||||||
|
MouseWheelScrolled,
|
||||||
|
MouseButtonPressed,
|
||||||
|
MouseButtonReleased,
|
||||||
|
MouseMoved,
|
||||||
|
MouseEntered,
|
||||||
|
MouseLeft,
|
||||||
|
JoystickButtonPressed,
|
||||||
|
JoystickButtonReleased,
|
||||||
|
JoystickMoved,
|
||||||
|
JoystickConnected,
|
||||||
|
JoystickDisconnected,
|
||||||
|
TouchBegan,
|
||||||
|
TouchMoved,
|
||||||
|
TouchEnded,
|
||||||
|
SensorChanged,
|
||||||
|
Count
|
||||||
|
};
|
||||||
|
|
||||||
|
EventType type;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
Closed,
|
||||||
|
Resized,
|
||||||
|
LostFocus,
|
||||||
|
GainedFocus,
|
||||||
|
TextEntered,
|
||||||
|
KeyPressed,
|
||||||
|
KeyReleased,
|
||||||
|
MouseWheelMoved,
|
||||||
|
MouseWheelScrolled,
|
||||||
|
MouseButtonPressed,
|
||||||
|
MouseButtonReleased,
|
||||||
|
MouseMoved,
|
||||||
|
MouseEntered,
|
||||||
|
MouseLeft,
|
||||||
|
JoystickButtonPressed,
|
||||||
|
JoystickButtonReleased,
|
||||||
|
JoystickMoved,
|
||||||
|
JoystickConnected,
|
||||||
|
JoystickDisconnected,
|
||||||
|
TouchBegan,
|
||||||
|
TouchMoved,
|
||||||
|
TouchEnded,
|
||||||
|
SensorChanged,
|
||||||
|
Count
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -119,9 +119,15 @@ public:
|
|||||||
event_class = Event_Class::SensorEvent;
|
event_class = Event_Class::SensorEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
std::cout << "Unable to classify sf::Event into Event_Class";
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
|
// get the bucket containing subscribers to that Event_Class
|
||||||
std::vector<SfEventSubscriber*> *event_type_bucket = &subscribers[event_class];
|
std::vector<SfEventSubscriber*> *event_type_bucket = &subscribers[event_class];
|
||||||
|
|
||||||
|
// Send them the event
|
||||||
for (auto s : *event_type_bucket) {
|
for (auto s : *event_type_bucket) {
|
||||||
s->update(this, e);
|
s->update(this, e);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user