Program Listing for File Events.h¶
↰ Return to documentation for file (Source\Core\Inc\Core\Events.h
)
#pragma once
namespace Azura {
enum class EventType {
MouseEvent,
KeyEvent
};
enum class MouseEventType {
LeftClick,
RightClick,
Drag,
ScrollUp,
ScrollDown,
MouseMove,
MouseUpdate
};
enum class KeyEventType {
KeyPress,
KeyRelease
};
enum class KeyboardKey {
Unmapped,
W,
A,
S,
D,
Q,
E,
R,
T,
Y,
U,
I,
Up,
Down,
Left,
Right,
Esc,
};
struct Event {
EventType m_type;
};
struct MouseEvent final : public Event {
MouseEventType m_internalType;
float m_eventX;
float m_eventY;
MouseEvent()
: Event({EventType::MouseEvent}),
m_internalType(MouseEventType::LeftClick),
m_eventX(0),
m_eventY(0) {
}
};
struct KeyEvent final : public Event {
int m_keyValue;
KeyEventType m_internalType;
KeyboardKey m_key;
KeyEvent(int key, KeyboardKey keyboardKey, KeyEventType eventType)
: Event({EventType::KeyEvent}),
m_keyValue(key),
m_internalType(eventType),
m_key(keyboardKey) {
}
};
} // namespace Azura