#include #include #if QT_VERSION >= 0x050000 #include #else #include #endif #include namespace mbgl { class QtBackendImpl : public HeadlessBackend::Impl { public: ~QtBackendImpl() final = default; gl::ProcAddress getExtensionFunctionPointer(const char* name) final { #if QT_VERSION >= 0x050000 QOpenGLContext* thisContext = QOpenGLContext::currentContext(); return thisContext->getProcAddress(name); #else const QGLContext* thisContext = QGLContext::currentContext(); return reinterpret_cast(thisContext->getProcAddress(name)); #endif } void activateContext() final { widget.makeCurrent(); } void deactivateContext() final { widget.doneCurrent(); } private: QGLWidget widget; }; void HeadlessBackend::createImpl() { assert(!impl); impl = std::make_unique(); } } // namespace mbgl