According to QUIP-18 [1], all tests file should be LicenseRef-Qt-Commercial OR GPL-3.0-only [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I9657df5d660820e56c96d511ea49d321c54682e8 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
39 lines
855 B
C++
39 lines
855 B
C++
// Copyright (C) 2016 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
|
|
|
|
#ifndef QOPENGLCONTEXTWINDOW_H
|
|
#define QOPENGLCONTEXTWINDOW_H
|
|
|
|
#include <QtGui/QWindow>
|
|
#include <QtGui/QOpenGLContext>
|
|
#include <QtOpenGL/QOpenGLTextureBlitter>
|
|
#include <QtGui/QImage>
|
|
#include <QtCore/QVariant>
|
|
|
|
class QOpenGLContextWindow : public QWindow
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
QOpenGLContextWindow();
|
|
~QOpenGLContextWindow();
|
|
|
|
void render();
|
|
|
|
protected:
|
|
void exposeEvent(QExposeEvent *event);
|
|
|
|
private:
|
|
qreal dWidth() const { return width() * devicePixelRatio(); }
|
|
qreal dHeight() const { return height() * devicePixelRatio(); }
|
|
void createForeignContext();
|
|
|
|
QOpenGLContext *m_context;
|
|
QImage m_image;
|
|
QVariant m_nativeHandle;
|
|
uint m_textureId;
|
|
QOpenGLTextureBlitter *m_blitter;
|
|
};
|
|
|
|
#endif
|