rename engine to src
This commit is contained in:
154
src/event.h
Normal file
154
src/event.h
Normal file
@@ -0,0 +1,154 @@
|
||||
#pragma once
|
||||
|
||||
enum class kKey : uint8_t
|
||||
{
|
||||
Unknown,
|
||||
AndroidVolumeUp,
|
||||
AndroidVolumeDown,
|
||||
AndroidHome,
|
||||
AndroidBack,
|
||||
KeySpacebar,
|
||||
KeyA,
|
||||
KeyB,
|
||||
KeyC,
|
||||
KeyD,
|
||||
KeyE,
|
||||
KeyF,
|
||||
KeyG,
|
||||
KeyH,
|
||||
KeyI,
|
||||
KeyJ,
|
||||
KeyK,
|
||||
KeyL,
|
||||
KeyM,
|
||||
KeyN,
|
||||
KeyO,
|
||||
KeyP,
|
||||
KeyQ,
|
||||
KeyR,
|
||||
KeyS,
|
||||
KeyT,
|
||||
KeyU,
|
||||
KeyV,
|
||||
KeyW,
|
||||
KeyX,
|
||||
KeyY,
|
||||
KeyZ,
|
||||
Key0,
|
||||
Key1,
|
||||
Key2,
|
||||
Key3,
|
||||
Key4,
|
||||
Key5,
|
||||
Key6,
|
||||
Key7,
|
||||
Key8,
|
||||
Key9,
|
||||
KeyF1,
|
||||
KeyF2,
|
||||
KeyF3,
|
||||
KeyF4,
|
||||
KeyF5,
|
||||
KeyF6,
|
||||
KeyF7,
|
||||
KeyF8,
|
||||
KeyF9,
|
||||
KeyF10,
|
||||
KeyF11,
|
||||
KeyF12,
|
||||
KeyF13,
|
||||
KeyF14,
|
||||
KeyF15,
|
||||
KeyF16,
|
||||
KeyF17,
|
||||
KeyF18,
|
||||
KeyF19,
|
||||
KeyF20,
|
||||
KeyF21,
|
||||
KeyF22,
|
||||
KeyF23,
|
||||
KeyF24,
|
||||
KeyAlt,
|
||||
KeyCtrl,
|
||||
KeyShift,
|
||||
KeyTab,
|
||||
};
|
||||
|
||||
enum class kEventResult : uint8_t
|
||||
{
|
||||
Consumed,
|
||||
Available,
|
||||
};
|
||||
|
||||
enum class kEventCategory : uint8_t
|
||||
{
|
||||
MouseEvent,
|
||||
KeyEvent,
|
||||
ButtonEvent,
|
||||
GestureEvent,
|
||||
};
|
||||
|
||||
enum class kEventType : uint8_t
|
||||
{
|
||||
MouseDownL,
|
||||
MouseDownR,
|
||||
MouseMove,
|
||||
MouseUpL,
|
||||
MouseUpR,
|
||||
MouseEnter,
|
||||
MouseLeave,
|
||||
MouseScroll,
|
||||
MouseCancel,
|
||||
GestureStart,
|
||||
GestureMove,
|
||||
GestureEnd,
|
||||
KeyDown,
|
||||
KeyUp,
|
||||
KeyChar,
|
||||
ButtonDown,
|
||||
ButtonUp,
|
||||
};
|
||||
|
||||
enum class kEventSource : uint8_t
|
||||
{
|
||||
Mouse,
|
||||
Touch,
|
||||
Stylus,
|
||||
};
|
||||
|
||||
class Event
|
||||
{
|
||||
public:
|
||||
kEventCategory m_cat;
|
||||
kEventType m_type;
|
||||
};
|
||||
|
||||
class MouseEvent : public Event
|
||||
{
|
||||
public:
|
||||
MouseEvent() { m_cat = kEventCategory::MouseEvent; }
|
||||
glm::vec2 m_pos;
|
||||
float m_pressure = 0;
|
||||
float m_scroll_delta = 0;
|
||||
kEventSource m_source = kEventSource::Mouse;
|
||||
};
|
||||
|
||||
class KeyEvent : public Event
|
||||
{
|
||||
public:
|
||||
KeyEvent() { m_cat = kEventCategory::KeyEvent; }
|
||||
kKey m_key;
|
||||
char m_char;
|
||||
};
|
||||
|
||||
class GestureEvent : public Event
|
||||
{
|
||||
public:
|
||||
GestureEvent() { m_cat = kEventCategory::GestureEvent; }
|
||||
float m_distance;
|
||||
float m_distance_delta;
|
||||
float m_angle;
|
||||
float m_angle_delta;
|
||||
glm::vec2 m_pos;
|
||||
glm::vec2 m_pos_delta;
|
||||
};
|
||||
Reference in New Issue
Block a user