#pragma once #ifndef QTOFFLINEGL_H #define QTOFFLINEGL_H #include #include #include #include #include #include #include "tofflinegl.h" class QtOfflineGL final : public TOfflineGL::Imp { public: std::shared_ptr m_context; std::shared_ptr m_oldContext; std::shared_ptr m_surface; std::shared_ptr m_fbo; QtOfflineGL(TDimension rasterSize, std::shared_ptr shared); ~QtOfflineGL(); void createContext(TDimension rasterSize, std::shared_ptr shared) override; void makeCurrent() override; void doneCurrent() override; void saveCurrentContext(); void restoreCurrentContext(); void getRaster(TRaster32P raster) override; }; //----------------------------------------------------------------------------- class QtOfflineGLPBuffer final : public TOfflineGL::Imp { public: std::shared_ptr m_context; QtOfflineGLPBuffer(TDimension rasterSize); ~QtOfflineGLPBuffer(); void createContext(TDimension rasterSize); void makeCurrent() override; void doneCurrent() override; void getRaster(TRaster32P raster) override; }; #endif