BsGLRenderWindowManager.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsGLPrerequisites.h"
  5. #include "BsRenderWindowManager.h"
  6. namespace BansheeEngine
  7. {
  8. /**
  9. * @brief Manager that handles window creation for OpenGL.
  10. */
  11. class BS_RSGL_EXPORT GLRenderWindowManager : public RenderWindowManager
  12. {
  13. public:
  14. GLRenderWindowManager(GLRenderAPI* renderSystem);
  15. protected:
  16. /**
  17. * @copydoc RenderWindowManager::createImpl()
  18. */
  19. RenderWindowPtr createImpl(RENDER_WINDOW_DESC& desc, UINT32 windowId, const RenderWindowPtr& parentWindow);
  20. private:
  21. GLRenderAPI* mRenderSystem;
  22. };
  23. /**
  24. * @brief Manager that handles window creation for OpenGL.
  25. */
  26. class BS_RSGL_EXPORT GLRenderWindowCoreManager : public RenderWindowCoreManager
  27. {
  28. public:
  29. GLRenderWindowCoreManager(GLRenderAPI* renderSystem);
  30. protected:
  31. /**
  32. * @copydoc RenderWindowCoreManager::createInternal
  33. */
  34. SPtr<RenderWindowCore> createInternal(RENDER_WINDOW_DESC& desc, UINT32 windowId);
  35. private:
  36. GLRenderAPI* mRenderSystem;
  37. };
  38. }