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.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/crepe/api/Event.h b/src/crepe/api/Event.h
new file mode 100644
index 0000000..8d9b241
--- /dev/null
+++ b/src/crepe/api/Event.h
@@ -0,0 +1,68 @@
+#pragma once
+#include <typeindex>
+//#include "keyCodes.h"
+#include <cstdint>
+#include <iostream>
+#include <string>
+#include <unordered_map>
+#include <variant>
+using Keycode = uint16_t;
+enum class MouseButton {
+ NONE = 0,
+ LEFT_MOUSE = 1,
+ RIGHT_MOUSE = 2,
+ MIDDLE_MOUSE = 3,
+ X1_MOUSE = 4,
+ X2_MOUSE = 5,
+ SCROLL_UP = 6,
+ SCROLL_DOWN = 7,
+};
+class Event {
+public:
+};
+
+class KeyPressEvent : public Event {
+public:
+ int repeat = 0;
+ Keycode key = 0;
+};
+
+class MouseClickEvent : public Event {
+public:
+ int mouse_x = 0;
+ int mouse_y = 0;
+ MouseButton button;
+};
+class KeyReleaseEvent : public Event {
+public:
+ Keycode key = 0;
+};
+
+class MousePressEvent : public Event {
+public:
+ int mouse_x = 0;
+ int mouse_y = 0;
+ MouseButton button;
+};
+class MouseReleaseEvent : public Event {
+public:
+ int mouse_x = 0;
+ int mouse_y = 0;
+ MouseButton button;
+};
+class MouseMoveEvent : public Event {
+public:
+ int mouse_x = 0;
+ int mouse_y = 0;
+};
+class CollisionEvent : public Event{
+public:
+ //Collision collisionData;
+};
+class TextSubmitEvent : public Event{
+public:
+ std::string text;
+};
+class ShutDownEvent : public Event {
+public:
+};