8#include <QtOpenGLWidgets/qtopenglwidgetsglobal.h>
10#include <QtWidgets/QWidget>
11#include <QtGui/QSurfaceFormat>
12#include <QtGui/qopengl.h>
16class QOpenGLWidgetPrivate;
21 Q_DECLARE_PRIVATE(QOpenGLWidget)
28 Q_ENUM(UpdateBehavior)
30 enum TargetBuffer : uint8_t {
36 explicit QOpenGLWidget(QWidget* parent =
nullptr, Qt::WindowFlags f = Qt::WindowFlags());
39 void setUpdateBehavior(UpdateBehavior updateBehavior);
40 UpdateBehavior updateBehavior()
const;
42 void setFormat(
const QSurfaceFormat &format);
43 QSurfaceFormat format()
const;
45 GLenum textureFormat()
const;
46 void setTextureFormat(GLenum texFormat);
51 void makeCurrent(TargetBuffer targetBuffer);
54 QOpenGLContext *context()
const;
55 GLuint defaultFramebufferObject()
const;
56 GLuint defaultFramebufferObject(TargetBuffer targetBuffer)
const;
58 QImage grabFramebuffer();
59 QImage grabFramebuffer(TargetBuffer targetBuffer);
61 TargetBuffer currentTargetBuffer()
const;
64 void aboutToCompose();
70 virtual void initializeGL();
71 virtual void resizeGL(
int w,
int h);
72 virtual void paintGL();
74 void paintEvent(QPaintEvent *e) override;
75 void resizeEvent(QResizeEvent *e) override;
76 bool event(QEvent *e) override;
78 int metric(QPaintDevice::PaintDeviceMetric metric)
const override;
79 QPaintDevice *redirected(QPoint *p)
const override;
80 QPaintEngine *paintEngine()
const override;
83 Q_DISABLE_COPY(QOpenGLWidget)
Combined button and popup list for selecting options.