view_navigator.h 808 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include "app_scene.h"
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. typedef enum {
  7. ViewNavigatorEventNext = 0x00000000UL,
  8. ViewNavigatorEventBack = 0xFFFFFFFFUL,
  9. } ViewNavigatorEvent;
  10. typedef struct ViewNavigator ViewNavigator;
  11. ViewNavigator* view_navigator_alloc(void* context);
  12. void view_navigator_free(ViewNavigator* view_navigator);
  13. bool view_navigator_handle_custom_event(ViewNavigator* view_navigator, uint32_t event);
  14. bool view_navigator_handle_navigation_event(ViewNavigator* view_navigator, uint32_t event);
  15. bool view_navigator_handle_back_search_scene_event(ViewNavigator* view_navigator, uint32_t event);
  16. void view_navigator_add_next_scene(ViewNavigator* view_navigator, AppScene* scene);
  17. void view_navigator_start(ViewNavigator* view_navigator);
  18. #ifdef __cplusplus
  19. }
  20. #endif