From 9f3d6e325f48ad41766f16b33ac2543e09b800fe Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Wed, 15 Nov 2023 16:50:11 +0100 Subject: Make contextinfo example a manual test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I9023016d50e82bba1fa73632cc1409b3d016f352 Reviewed-by: Kristoffer Skau Reviewed-by: Christian Strømme --- .../examples/opengl/contextinfo/renderwindow.h | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 tests/manual/examples/opengl/contextinfo/renderwindow.h (limited to 'tests/manual/examples/opengl/contextinfo/renderwindow.h') diff --git a/tests/manual/examples/opengl/contextinfo/renderwindow.h b/tests/manual/examples/opengl/contextinfo/renderwindow.h new file mode 100644 index 00000000000..964dd601a6e --- /dev/null +++ b/tests/manual/examples/opengl/contextinfo/renderwindow.h @@ -0,0 +1,48 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef RENDERWINDOW_H +#define RENDERWINDOW_H + +#include +#include +#include + +QT_FORWARD_DECLARE_CLASS(QOpenGLContext) +QT_FORWARD_DECLARE_CLASS(QOpenGLShaderProgram) + +class RenderWindow : public QWindow +{ + Q_OBJECT + +public: + RenderWindow(const QSurfaceFormat &format); + QOpenGLContext *context() { return m_context; } + void exposeEvent(QExposeEvent *) override; + void setForceGLSL110(bool enable) { m_forceGLSL110 = enable; } + +signals: + void ready(); + void error(const QString &msg); + +protected: + bool event(QEvent *ev) override; + +private slots: + void render(); + +private: + void init(); + void setupVertexAttribs(); + + QOpenGLContext *m_context; + bool m_initialized; + bool m_forceGLSL110; + QOpenGLShaderProgram *m_program; + int m_posAttr, m_colAttr, m_matrixUniform; + QOpenGLVertexArrayObject m_vao; + QOpenGLBuffer m_vbo; + float m_angle; +}; + +#endif // RENDERWINDOW_H -- cgit v1.2.3