// Copyright (c) 2023 Alex Diener. All rights reserved. #ifndef __Events_H__ #define __Events_H__ #include "gamemath/Vector2f.h" #include // ATOM_event_key_down: struct keyEvent * // ATOM_event_key_up: struct keyEvent * // ATOM_event_key_modifiers_changed: struct keyEvent * // ATOM_event_mouse_down: struct mouseEvent * // ATOM_event_mouse_up: struct mouseEvent * // ATOM_event_mouse_moved: struct mouseEvent * // ATOM_event_mouse_dragged: struct mouseEvent * // ATOM_event_mouse_scroll_wheel: struct mouseWheelEvent * // ATOM_event_resized: double * referenceTime // ATOM_event_backgrounded: double * referenceTime // ATOM_event_foregrounded: double * referenceTime // ATOM_event_fullscreened: double * referenceTime // ATOM_event_windowed: double * referenceTime // ATOM_event_gamepad_attach: struct Gamepad_device * // ATOM_event_gamepad_detach: struct Gamepad_device * // ATOM_event_gamepad_button_down: struct gamepadButtonEvent * // ATOM_event_gamepad_button_up: struct gamepadButtonEvent * // ATOM_event_gamepad_axis_move: struct gamepadAxisEvent * // ATOM_event_draw: struct drawEvent * // ATOM_event_confirm_quit: NULL // ATOM_event_input_device_changed: UserInputDeviceType * previousInputDevice (current stored in gameSession->activeInputDevice) // ATOM_event_cursor_change: NULL struct keyEvent { unsigned int charCode; unsigned int keyCode; unsigned int modifiers; unsigned int lastModifiers; bool isRepeat; double timestamp; }; struct mouseEvent { unsigned int buttonNumber; unsigned int buttonMask; Vector2f position; Vector2f delta; unsigned int modifiers; double timestamp; }; struct mouseWheelEvent { Vector2f position; int deltaX; int deltaY; unsigned int buttonMask; unsigned int modifiers; double timestamp; }; struct gamepadButtonEvent { struct Gamepad_device * device; unsigned int buttonID; double timestamp; }; struct gamepadAxisEvent { struct Gamepad_device * device; unsigned int axisID; float value; float lastValue; double timestamp; }; struct drawEvent { double referenceTime; double deltaTime; }; #endif