aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/Event.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe/api/Event.h')
-rw-r--r--src/crepe/api/Event.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/crepe/api/Event.h b/src/crepe/api/Event.h
new file mode 100644
index 0000000..bd6a541
--- /dev/null
+++ b/src/crepe/api/Event.h
@@ -0,0 +1,59 @@
+#pragma once
+#include "KeyCodes.h"
+#include <iostream>
+#include <string>
+#include <typeindex>
+#include "system/CollisionSystem.h"
+
+class Event {
+public:
+};
+
+class KeyPressEvent : public Event {
+public:
+ int repeat = 0;
+ Keycode key = Keycode::NONE;
+};
+
+class KeyReleaseEvent : public Event {
+public:
+ Keycode key = Keycode::NONE;
+};
+
+class MousePressEvent : public Event {
+public:
+ int mouse_x = 0;
+ int mouse_y = 0;
+ MouseButton button = MouseButton::NONE;
+};
+
+class MouseClickEvent : public Event {
+public:
+ int mouse_x = 0;
+ int mouse_y = 0;
+ MouseButton button = MouseButton::NONE;
+};
+class MouseReleaseEvent : public Event {
+public:
+ int mouse_x = 0;
+ int mouse_y = 0;
+ MouseButton button = MouseButton::NONE;
+};
+class MouseMoveEvent : public Event {
+public:
+ int mouse_x = 0;
+ int mouse_y = 0;
+};
+class CollisionEvent : public Event {
+public:
+ crepe::CollisionSystem::CollisionInfo info;
+ CollisionEvent(const crepe::CollisionSystem::CollisionInfo& collisionInfo)
+ : info(collisionInfo) {}
+};
+class TextSubmitEvent : public Event {
+public:
+ std::string text = "";
+};
+class ShutDownEvent : public Event {
+public:
+};