7#include <QtOpenGLWidgets/qtopenglwidgetsglobal.h>
9#include <QtWidgets/QWidget>
10#include <QtGui/QSurfaceFormat>
11#include <QtGui/qopengl.h>
15class QOpenGLWidgetPrivate;
20 Q_DECLARE_PRIVATE(QOpenGLWidget)
27 Q_ENUM(UpdateBehavior)
29 enum TargetBuffer : uint8_t {
35 explicit QOpenGLWidget(QWidget* parent =
nullptr, Qt::WindowFlags f = Qt::WindowFlags());
38 void setUpdateBehavior(UpdateBehavior updateBehavior);
39 UpdateBehavior updateBehavior()
const;
41 void setFormat(
const QSurfaceFormat &format);
42 QSurfaceFormat format()
const;
44 GLenum textureFormat()
const;
45 void setTextureFormat(GLenum texFormat);
50 void makeCurrent(TargetBuffer targetBuffer);
53 QOpenGLContext *context()
const;
54 GLuint defaultFramebufferObject()
const;
55 GLuint defaultFramebufferObject(TargetBuffer targetBuffer)
const;
57 QImage grabFramebuffer();
58 QImage grabFramebuffer(TargetBuffer targetBuffer);
60 TargetBuffer currentTargetBuffer()
const;
63 void aboutToCompose();
69 virtual void initializeGL();
70 virtual void resizeGL(
int w,
int h);
71 virtual void paintGL();
73 void paintEvent(QPaintEvent *e) override;
74 void resizeEvent(QResizeEvent *e) override;
75 bool event(QEvent *e) override;
77 int metric(QPaintDevice::PaintDeviceMetric metric)
const override;
78 QPaintDevice *redirected(QPoint *p)
const override;
79 QPaintEngine *paintEngine()
const override;
82 Q_DISABLE_COPY(QOpenGLWidget)
Combined button and popup list for selecting options.