nuclear@3: #ifndef EVENT_H_ nuclear@3: #define EVENT_H_ nuclear@3: nuclear@3: #include "vec.h" nuclear@3: nuclear@3: namespace gameui { nuclear@3: nuclear@3: enum EventType { nuclear@3: EV_MOUSE_BUTTON, nuclear@3: EV_MOUSE_MOTION, nuclear@3: EV_MOUSE_FOCUS, nuclear@3: EV_KEY nuclear@3: }; nuclear@3: nuclear@3: struct ButtonEvent { nuclear@3: Vec2 pos; nuclear@3: int button; nuclear@3: bool press; nuclear@3: }; nuclear@3: nuclear@3: struct MotionEvent { nuclear@3: Vec2 pos; nuclear@3: }; nuclear@3: nuclear@3: struct FocusEvent { nuclear@3: bool enter; nuclear@3: }; nuclear@3: nuclear@3: struct KeyEvent { nuclear@3: int key; nuclear@3: bool press; nuclear@3: }; nuclear@3: nuclear@3: struct Event { nuclear@3: EventType type; nuclear@3: nuclear@3: ButtonEvent button; nuclear@3: MotionEvent motion; nuclear@3: FocusEvent focus; nuclear@3: KeyEvent key; nuclear@3: }; nuclear@3: nuclear@3: } // namespace gameui nuclear@3: nuclear@3: #endif // EVENT_H_