CmRenderWindowManager.h 892 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmModule.h"
  4. #include "CmRenderWindow.h"
  5. namespace CamelotEngine
  6. {
  7. class CM_EXPORT RenderWindowManager : public Module<RenderWindowManager>
  8. {
  9. public:
  10. /** Creates a new rendering window.
  11. @remarks
  12. This method creates a new rendering window as specified
  13. by the parameters. The rendering system could be
  14. responsible for only a single window (e.g. in the case
  15. of a game), or could be in charge of multiple ones (in the
  16. case of a level editor). The option to create the window
  17. as a child of another is therefore given.
  18. This method will create an appropriate subclass of
  19. RenderWindow depending on the API and platform implementation.
  20. */
  21. RenderWindowPtr create(const RENDER_WINDOW_DESC& desc);
  22. protected:
  23. virtual void createImpl(const RENDER_WINDOW_DESC& desc, AsyncOp& asyncOp) = 0;
  24. };
  25. }