// Copyright (c) 2014 Alex Diener. All rights reserved. #ifndef __SharedEvents_H__ #define __SharedEvents_H__ #ifdef __cplusplus extern "C" { #endif #define EVENT_KEY_DOWN "key_down" #define EVENT_KEY_UP "key_up" #define EVENT_KEY_MODIFIERS_CHANGED "key_modifiers_changed" #define EVENT_MOUSE_DOWN "mouse_down" #define EVENT_MOUSE_UP "mouse_up" #define EVENT_MOUSE_MOVED "mouse_moved" #define EVENT_MOUSE_DRAGGED "mouse_dragged" #define EVENT_RESIZED "resized" #define EVENT_BACKGROUNDED "backgrounded" #define EVENT_FOREGROUNDED "foregrounded" #define EVENT_FULLSCREENED "fullscreened" #define EVENT_WINDOWED "windowed" #define EVENT_GAMEPAD_ATTACH "gamepad_attach" #define EVENT_GAMEPAD_DETACH "gamepad_detach" #define EVENT_GAMEPAD_BUTTON_DOWN "gamepad_button_down" #define EVENT_GAMEPAD_BUTTON_UP "gamepad_button_up" #define EVENT_GAMEPAD_AXIS_MOVE "gamepad_axis_move" #define EVENT_DRAW "draw" #define EVENT_CONFIRM_QUIT "confirm_quit" #include "gamepad/Gamepad.h" struct keyEvent { unsigned int charCode; unsigned int keyCode; unsigned int modifiers; bool isRepeat; }; struct mouseEvent { unsigned int button; // Number for down/up, mask for dragged, undefined for moved Vector2f position; Vector2f rawPosition; }; 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; }; #ifdef __cplusplus } #endif #endif