summaryrefslogtreecommitdiffstats
path: root/examples/opengl/hellowindow/hellowindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/opengl/hellowindow/hellowindow.h')
-rw-r--r--examples/opengl/hellowindow/hellowindow.h24
1 files changed, 9 insertions, 15 deletions
diff --git a/examples/opengl/hellowindow/hellowindow.h b/examples/opengl/hellowindow/hellowindow.h
index 938c6409a4..76f2afb549 100644
--- a/examples/opengl/hellowindow/hellowindow.h
+++ b/examples/opengl/hellowindow/hellowindow.h
@@ -52,7 +52,7 @@
#include <QColor>
#include <QMutex>
-#include <QtOpenGL/QOpenGLShaderProgram>
+#include <QOpenGLShaderProgram>
#include <QOpenGLBuffer>
#include <QSharedPointer>
#include <QTimer>
@@ -64,14 +64,16 @@ class Renderer : public QObject
Q_OBJECT
public:
- explicit Renderer(const QSurfaceFormat &format, Renderer *share = 0, QScreen *screen = 0);
+ explicit Renderer(const QSurfaceFormat &format, Renderer *share = nullptr,
+ QScreen *screen = nullptr);
QSurfaceFormat format() const { return m_format; }
- void setAnimating(HelloWindow *window, bool animating);
-
public slots:
- void render();
+ void render(HelloWindow *surface, qreal angle, const QColor &color);
+
+signals:
+ void requestUpdate();
private:
void initialize();
@@ -81,8 +83,6 @@ private:
void quad(qreal x1, qreal y1, qreal x2, qreal y2, qreal x3, qreal y3, qreal x4, qreal y4);
void extrude(qreal x1, qreal y1, qreal x2, qreal y2);
- qreal m_fAngle;
-
QVector<QVector3D> vertices;
QVector<QVector3D> normals;
int vertexAttr;
@@ -95,19 +95,13 @@ private:
QOpenGLContext *m_context;
QOpenGLShaderProgram *m_program;
QOpenGLBuffer m_vbo;
-
- QList<HelloWindow *> m_windows;
- int m_currentWindow;
-
- QMutex m_windowLock;
-
QColor m_backgroundColor;
};
class HelloWindow : public QWindow
{
public:
- explicit HelloWindow(const QSharedPointer<Renderer> &renderer, QScreen *screen = 0);
+ explicit HelloWindow(const QSharedPointer<Renderer> &renderer, QScreen *screen = nullptr);
QColor color() const;
void updateColor();
@@ -116,10 +110,10 @@ protected:
bool event(QEvent *ev) override;
void exposeEvent(QExposeEvent *event) override;
void mousePressEvent(QMouseEvent *) override;
+ void render();
private:
int m_colorIndex;
QColor m_color;
const QSharedPointer<Renderer> m_renderer;
- mutable QMutex m_colorLock;
};