_setup.h 725 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include <gui/scene_manager.h>
  3. // Generate scene id and total number
  4. #define ADD_SCENE(name, id) Scene##id,
  5. typedef enum {
  6. #include "_scenes.h"
  7. SceneCOUNT,
  8. } Scene;
  9. #undef ADD_SCENE
  10. extern const SceneManagerHandlers scene_handlers;
  11. // Generate scene on_enter handlers declaration
  12. #define ADD_SCENE(name, id) void scene_##name##_on_enter(void*);
  13. #include "_scenes.h"
  14. #undef ADD_SCENE
  15. // Generate scene on_event handlers declaration
  16. #define ADD_SCENE(name, id) bool scene_##name##_on_event(void*, SceneManagerEvent);
  17. #include "_scenes.h"
  18. #undef ADD_SCENE
  19. // Generate scene on_exit handlers declaration
  20. #define ADD_SCENE(name, id) void scene_##name##_on_exit(void*);
  21. #include "_scenes.h"
  22. #undef ADD_SCENE