#pragma once #include namespace PD { class DesktopOS : public PD::OsCtx { public: DesktopOS(Driver d = Driver::OpenGL3) : PD::OsCtx(d) {} ~DesktopOS() {} void Init() override; void Deinit() override; bool Mainloop() override; void ClearViewPort() override; void SwapBuffers() override; private: struct Impl; Impl* impl = nullptr; }; } // namespace PD