diff --git a/spine-cpp/spine-cpp/include/spine/AnimationState.h b/spine-cpp/spine-cpp/include/spine/AnimationState.h index f2d3e9d57..51fb24a45 100644 --- a/spine-cpp/spine-cpp/include/spine/AnimationState.h +++ b/spine-cpp/spine-cpp/include/spine/AnimationState.h @@ -37,6 +37,10 @@ #include #include +#ifdef SPINE_USE_STD_FUNCTION +#include +#endif + namespace spine { enum EventType { EventType_Start, @@ -55,9 +59,13 @@ namespace spine { class AnimationStateData; class Skeleton; class RotateTimeline; - - typedef void (*AnimationStateListener) (AnimationState* state, EventType type, TrackEntry* entry, Event* event); +#ifdef SPINE_USE_STD_FUNCTION + typedef std::function AnimationStateListener; +#else + typedef void (*AnimationStateListener) (AnimationState* state, EventType type, TrackEntry* entry, Event* event); +#endif + /// Abstract class to inherit from to create a callback object class SP_API AnimationStateListenerObject { public: