xremote_scene.h 920 B

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