Files
qglengine/openglwindow.h
Бычков Андрей 6150882794 много исправлений
2022-10-13 17:00:24 +03:00

39 lines
803 B
C++

#include <QWindow>
#include <QOpenGLExtraFunctions>
class QPainter;
class QOpenGLContext;
class QOpenGLPaintDevice;
class OpenGLWindow : public QWindow, public QOpenGLExtraFunctions {
Q_OBJECT
public:
explicit OpenGLWindow(QWindow *parent = nullptr);
virtual ~OpenGLWindow() {}
virtual void render() {}
virtual void initialize() {}
QOpenGLContext * context() {return m_context;}
void setVSync(bool on);
bool getVSync() const;
// void setSamples(int samples);
// int getSamples() const;
int getFrameCounter() const {return frame_cnt;}
public slots:
void renderLater();
void renderNow();
protected:
bool event(QEvent *event) override;
void exposeEvent(QExposeEvent *event) override;
private:
QOpenGLContext * m_context = nullptr;
bool format_change = false;
int frame_cnt = 0;
};