2013-11-27 16:37:46 +10:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <QQuickItem>
|
2014-07-09 01:58:01 +10:00
|
|
|
|
|
|
|
|
class GLRenderer : public QObject {
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
GLRenderer() { }
|
|
|
|
|
|
|
|
|
|
void setViewportSize(const QSize &size) { m_viewportSize = size; }
|
|
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
|
void paint();
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
QSize m_viewportSize;
|
|
|
|
|
};
|
2013-11-27 16:37:46 +10:00
|
|
|
|
|
|
|
|
class GLViewer : public QQuickItem
|
|
|
|
|
{
|
2014-07-09 01:58:01 +10:00
|
|
|
Q_OBJECT
|
2013-11-27 16:37:46 +10:00
|
|
|
public:
|
2014-07-09 01:58:01 +10:00
|
|
|
GLViewer();
|
|
|
|
|
~GLViewer() { cleanup(); }
|
2013-11-27 16:37:46 +10:00
|
|
|
|
2014-07-09 01:58:01 +10:00
|
|
|
public slots:
|
|
|
|
|
void sync();
|
|
|
|
|
void cleanup();
|
2013-11-27 16:37:46 +10:00
|
|
|
|
|
|
|
|
private slots:
|
2014-07-09 01:58:01 +10:00
|
|
|
void handleWindowChanged(QQuickWindow *win);
|
2013-11-27 16:37:46 +10:00
|
|
|
|
|
|
|
|
private:
|
2014-07-09 01:58:01 +10:00
|
|
|
GLRenderer *m_renderer;
|
2013-11-27 16:37:46 +10:00
|
|
|
};
|