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