BsMacOSGLSupport.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2017 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsGLPrerequisites.h"
  5. #include "BsGLSupport.h"
  6. #include "BsGLRenderAPI.h"
  7. namespace bs::ct
  8. {
  9. class MacOSContext;
  10. /** @addtogroup GL
  11. * @{
  12. */
  13. /** Handles OpenGL initialization, window creation and extensions on MacOS. */
  14. class MacOSGLSupport : public GLSupport
  15. {
  16. public:
  17. /** @copydoc GLSupport::newWindow */
  18. SPtr<bs::RenderWindow> newWindow(RENDER_WINDOW_DESC& desc, UINT32 windowId, SPtr<bs::RenderWindow> parentWindow) override;
  19. /** @copydoc GLSupport::start */
  20. void start() override;
  21. /** @copydoc GLSupport::stop */
  22. void stop() override;
  23. /** @copydoc GLSupport::getProcAddress */
  24. void* getProcAddress(const String& procname) override;
  25. /** Creates a new OpenGL context. */
  26. SPtr<MacOSContext> createContext(bool depthStencil, UINT32 msaaCount);
  27. /** @copydoc GLSupport::getVideoModeInfo */
  28. SPtr<VideoModeInfo> getVideoModeInfo() const override;
  29. };
  30. /** @} */
  31. }