diff -r b96ba3c1ab67 -r aed75d439027 qmlfrontend/engine_interface.h --- a/qmlfrontend/engine_interface.h Mon Apr 29 23:13:52 2019 +0200 +++ b/qmlfrontend/engine_interface.h Mon Apr 29 23:41:25 2019 +0200 @@ -5,8 +5,11 @@ #include #ifdef __cplusplus +#define ENUM_CLASS enum namespace Engine { extern "C" { +#else +#define ENUM_CLASS enum #endif typedef struct _EngineInstance EngineInstance; @@ -40,6 +43,31 @@ typedef void move_camera_t(EngineInstance* engine_state, int32_t delta_x, int32_t delta_y); +ENUM_CLASS SimpleEventType{ + SwitchHedgehog, Timer, LongJump, HighJump, Accept, Deny, +}; + +ENUM_CLASS LongEventType{ + ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Precision, Attack, +}; + +ENUM_CLASS LongEventState{ + Set, + Unset, +}; + +ENUM_CLASS PositionedEventType{ + CursorMove, + CursorClick, +}; + +typedef void simple_event_t(EngineInstance* engine_state, + SimpleEventType event_type); +typedef void long_event_t(EngineInstance* engine_state, + LongEventType event_type, LongEventState state); +typedef void positioned_event_t(EngineInstance* engine_state, + PositionedEventType event_type, int32_t x, + int32_t y); #ifdef __cplusplus } };