You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
644B

  1. #pragma once
  2. #include "common.hpp"
  3. /** Accesses the global App pointer */
  4. #define APP rack::app::get()
  5. namespace rack {
  6. namespace event {
  7. struct State;
  8. }
  9. namespace history {
  10. struct State;
  11. }
  12. struct Engine;
  13. struct Window;
  14. struct PatchManager;
  15. namespace app {
  16. struct Scene;
  17. /** Contains the application state */
  18. struct App {
  19. event::State *event = NULL;
  20. Scene *scene = NULL;
  21. Engine *engine = NULL;
  22. Window *window = NULL;
  23. history::State *history = NULL;
  24. PatchManager *patch = NULL;
  25. App();
  26. ~App();
  27. };
  28. void init();
  29. void destroy();
  30. /** Returns the global App pointer */
  31. App *get();
  32. } // namespace app
  33. } // namespace rack