blackhat_scene.h 944 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include <gui/scene_manager.h>
  3. // Generate scene id and total number
  4. #define ADD_SCENE(prefix, name, id) BlackhatScene##id,
  5. typedef enum {
  6. #include "blackhat_scene_config.h"
  7. BlackhatSceneNum,
  8. } BlackhatScene;
  9. #undef ADD_SCENE
  10. extern const SceneManagerHandlers blackhat_scene_handlers;
  11. // Generate scene on_enter handlers declaration
  12. #define ADD_SCENE(prefix, name, id) \
  13. void prefix##_scene_##name##_on_enter(void*);
  14. #include "blackhat_scene_config.h"
  15. #undef ADD_SCENE
  16. // Generate scene on_event handlers declaration
  17. #define ADD_SCENE(prefix, name, id) \
  18. bool prefix##_scene_##name##_on_event( \
  19. void* context, SceneManagerEvent event \
  20. );
  21. #include "blackhat_scene_config.h"
  22. #undef ADD_SCENE
  23. // Generate scene on_exit handlers declaration
  24. #define ADD_SCENE(prefix, name, id) \
  25. void prefix##_scene_##name##_on_exit(void* context);
  26. #include "blackhat_scene_config.h"
  27. #undef ADD_SCENE