pokemon_app.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef POKEMON_APP_H
  2. #define POKEMON_APP_H
  3. #pragma once
  4. #include <gui/scene_manager.h>
  5. #include <gui/view.h>
  6. #include <gui/view_dispatcher.h>
  7. #include <gui/icon.h>
  8. #include <gui/modules/dialog_ex.h>
  9. #include <gui/modules/submenu.h>
  10. #include <gui/modules/text_input.h>
  11. #include <gui/modules/variable_item_list.h>
  12. #include <gblink.h>
  13. #include "pokemon_data.h"
  14. #define TAG "Pokemon"
  15. struct pokemon_fap {
  16. /* Various anonymous pointers for flipper UI/navigation */
  17. ViewDispatcher* view_dispatcher;
  18. SceneManager* scene_manager;
  19. void* select;
  20. void* trade;
  21. Submenu* submenu;
  22. TextInput* text_input;
  23. VariableItemList* variable_item_list;
  24. DialogEx* dialog_ex;
  25. /* Struct for holding trade data */
  26. /* NOTE: There may be some runtime memory savings by adding more intelligence
  27. * to views/trade and slimming down this struct to only contain the single
  28. * pokemon data rather than the full 6 member party data.
  29. */
  30. PokemonData* pdata;
  31. /* Pin definition to actual Game Link Cable interface */
  32. struct gblink_pins pins;
  33. };
  34. typedef struct pokemon_fap PokemonFap;
  35. typedef enum {
  36. AppViewMainMenu,
  37. AppViewOpts, // Generic view ID meant for module re-use
  38. AppViewSelectPokemon,
  39. AppViewTrade,
  40. AppViewExitConfirm,
  41. } AppView;
  42. #endif /* POKEMON_APP_H */