BsEditorApplication.h 871 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "CmModule.h"
  4. #include "CmPath.h"
  5. namespace BansheeEngine
  6. {
  7. enum class RenderSystemPlugin
  8. {
  9. DX11,
  10. DX9,
  11. OpenGL
  12. };
  13. class BS_ED_EXPORT EditorApplication : public Module<EditorApplication>
  14. {
  15. public:
  16. EditorApplication(RenderSystemPlugin renderSystemPlugin);
  17. ~EditorApplication();
  18. void runMainLoop();
  19. bool isProjectLoaded() const;
  20. const Path& getActiveProjectPath() const;
  21. private:
  22. static const Path WIDGET_LAYOUT_PATH;
  23. RenderSystemPlugin mActiveRSPlugin;
  24. static const String& getLibraryNameForRenderSystem(RenderSystemPlugin plugin);
  25. void update();
  26. EditorWidgetLayoutPtr loadWidgetLayout();
  27. void saveWidgetLayout(const EditorWidgetLayoutPtr& layout);
  28. static void closeModalWindow(RenderWindowPtr window, HSceneObject sceneObject);
  29. };
  30. }