cae  0.0.0
Cross-API graphics engine
Loading...
Searching...
No Matches
NSGLContext.hpp
Go to the documentation of this file.
1///
2/// @file NSGLContext.hpp
3/// @brief This file contains the NSGLContext class declaration
4/// @namespace cae
5///
6
7#pragma once
8
9#ifdef __APPLE__
10
12
13namespace cae
14{
15
16 ///
17 /// @class NSGLContext
18 /// @brief Implementation of IContext for macOS using NSGL
19 /// @namespace cae
20 ///
21 class NSGLContext final : public IContext
22 {
23 public:
24 NSGLContext() = default;
25 ~NSGLContext() override;
26
27 void initialize(const NativeWindowHandle &window) override;
28
29 void swapBuffers() override;
30
31 void setVSyncEnabled(bool enabled) override;
32 [[nodiscard]] bool isVSyncEnabled() const override;
33
34 private:
35 void *m_context = nullptr;
36
37 }; // class NSGLContext
38
39} // namespace cae
40
41#endif
This file contains the IContext interface.