Docs: Remove traces of QGL

The QGL* classes have been removed and the examples ported to QOpenGL, update
the documentation to reflect that.

Task-number: QTBUG-74408
Change-Id: Ibb4787cdeedc05a807d673943b61838f19092234
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
This commit is contained in:
Johan Klokkhammer Helsing 2020-02-19 11:13:48 +01:00
parent 734b3a33c1
commit 012bb039e3
8 changed files with 27 additions and 34 deletions

View File

@ -30,8 +30,8 @@
\title 2D Painting Example
\ingroup examples-widgets-opengl
\brief The 2D Painting example shows how QPainter and QGLWidget can be used
together to display accelerated 2D graphics on supported hardware.
\brief The 2D Painting example shows how QPainter and QOpenGLWidget can be
used together to display accelerated 2D graphics on supported hardware.
\image 2dpainting-example.png
@ -39,23 +39,23 @@
paint devices provided by QPaintDevice subclasses, such as QWidget
and QImage.
Since QGLWidget is a subclass of QWidget, it is possible
Since QOpenGLWidget is a subclass of QWidget, it is possible
to reimplement its \l{QWidget::paintEvent()}{paintEvent()} and use
QPainter to draw on the device, just as you would with a QWidget.
The only difference is that the painting operations will be accelerated
in hardware if it is supported by your system's OpenGL drivers.
In this example, we perform the same painting operations on a
QWidget and a QGLWidget. The QWidget is shown with anti-aliasing
enabled, and the QGLWidget will also use anti-aliasing if the
QWidget and a QOpenGLWidget. The QWidget is shown with anti-aliasing
enabled, and the QOpenGLWidget will also use anti-aliasing if the
required extensions are supported by your system's OpenGL driver.
\section1 Overview
To be able to compare the results of painting onto a QGLWidget subclass
To be able to compare the results of painting onto a QOpenGLWidget subclass
with native drawing in a QWidget subclass, we want to show both kinds
of widget side by side. To do this, we derive subclasses of QWidget and
QGLWidget, using a separate \c Helper class to perform the same painting
QOpenGLWidget, using a separate \c Helper class to perform the same painting
operations for each, and lay them out in a top-level widget, itself
provided a the \c Window class.
@ -63,7 +63,7 @@
In this example, the painting operations are performed by a helper class.
We do this because we want the same painting operations to be performed
for both our QWidget subclass and the QGLWidget subclass.
for both our QWidget subclass and the QOpenGLWidget subclass.
The \c Helper class is minimal:
@ -81,7 +81,7 @@
The actual painting is performed in the \c paint() function. This takes
a QPainter that has already been set up to paint onto a paint device
(either a QWidget or a QGLWidget), a QPaintEvent that provides information
(either a QWidget or a QOpenGLWidget), a QPaintEvent that provides information
about the region to be painted, and a measure of the elapsed time (in
milliseconds) since the paint device was last updated.
@ -148,7 +148,7 @@
\section1 GLWidget Class Definition
The \c GLWidget class definition is basically the same as the \c Widget
class except that it is derived from QGLWidget.
class except that it is derived from QOpenGLWidget.
\snippet 2dpainting/glwidget.h 0
@ -161,11 +161,8 @@
\snippet 2dpainting/glwidget.cpp 0
As well as initializing the \c elapsed member variable and storing the
\c Helper object used to paint the widget, the base class's constructor
is called with the format that specifies the \l QGL::SampleBuffers flag.
This enables anti-aliasing if it is supported by your system's OpenGL
driver.
The \c elapsed member variable is initialized and the \c Helper object used
to paint the widget is stored.
The \c animate() slot is exactly the same as that provided by the \c Widget
class:

View File

@ -47,7 +47,7 @@
The example consist of two classes:
\list
\li \c MainWidget extends QGLWidget and contains OpenGL ES 2.0
\li \c MainWidget extends QOpenGLWidget and contains OpenGL ES 2.0
initialization and drawing and mouse and timer event handling
\li \c GeometryEngine handles polygon geometries. Transfers polygon geometry
to vertex buffer objects and draws geometries from vertex buffer objects.
@ -81,7 +81,7 @@
\snippet cube/fshader.glsl 0
Using \c QGLShaderProgram we can compile, link and bind shader code to
Using QOpenGLShaderProgram we can compile, link and bind shader code to
graphics pipeline. This code uses Qt Resource files to access shader source code.
\snippet cube/mainwidget.cpp 3
@ -92,9 +92,9 @@
\section1 Loading Textures from Qt Resource Files
\c QGLWidget interface implements methods for loading textures from QImage to GL
texture memory. We still need to use OpenGL provided functions for specifying
the GL texture unit and configuring texture filtering options.
The \c QOpenGLWidget interface implements methods for loading textures from QImage
to OpenGL texture memory. We still need to use OpenGL provided functions for
specifying the OpenGL texture unit and configuring texture filtering options.
\snippet cube/mainwidget.cpp 4

View File

@ -545,7 +545,7 @@
with OpenGL, but without OpenGL it avoids unnecessary re-scaling of the
background pixmap.
\li It sets render hints that increase rendering quality.
\li If OpenGL is supported, a QGLWidget viewport is assigned to the view.
\li If OpenGL is supported, a QOpenGLWidget viewport is assigned to the view.
\endlist
Finally, we start the state engine.

View File

@ -39,8 +39,7 @@
right and Y increases downwards. The unit is one pixel.
The drawing capabilities of QPaintDevice are currently implemented
by the QWidget, QImage, QPixmap, QGLPixelBuffer, QPicture, and
QPrinter subclasses.
by the QWidget, QImage, QPixmap, QPicture, and QPrinter subclasses.
To implement support for a new backend, you must derive from
QPaintDevice and reimplement the virtual paintEngine() function to

View File

@ -60,8 +60,8 @@ QT_BEGIN_NAMESPACE
QOpenGLWindow is an enhanced QWindow that allows easily creating windows that
perform OpenGL rendering using an API that is compatible with QOpenGLWidget
and is similar to the legacy QGLWidget. Unlike QOpenGLWidget, QOpenGLWindow
has no dependency on the widgets module and offers better performance.
Unlike QOpenGLWidget, QOpenGLWindow has no dependency on the widgets module
and offers better performance.
A typical application will subclass QOpenGLWindow and reimplement the following
virtual functions:
@ -100,8 +100,8 @@ QT_BEGIN_NAMESPACE
QPainter-based drawing.
QOpenGLWindow supports multiple update behaviors. The default,
\c NoPartialUpdate is equivalent to a regular, OpenGL-based QWindow or the
legacy QGLWidget. In contrast, \c PartialUpdateBlit and \c PartialUpdateBlend are
\c NoPartialUpdate is equivalent to a regular, OpenGL-based QWindow. In
contrast, \c PartialUpdateBlit and \c PartialUpdateBlend are
more in line with QOpenGLWidget's way of working, where there is always an
extra, dedicated framebuffer object present. These modes allow, by
sacrificing some performance, redrawing only a smaller area on each paint and

View File

@ -117,7 +117,7 @@
of a scene. You can attach several views to the same scene, to provide
several viewports into the same data set. The view widget is a scroll
area, and provides scroll bars for navigating through large scenes. To
enable OpenGL support, you can set a QGLWidget as the viewport by
enable OpenGL support, you can set a QOpenGLWidget as the viewport by
calling QGraphicsView::setViewport().
\snippet graphicsview.cpp 1
@ -436,10 +436,10 @@
\section2 OpenGL Rendering
To enable OpenGL rendering, you simply set a new QGLWidget as the
To enable OpenGL rendering, you simply set a new QOpenGLWidget as the
viewport of QGraphicsView by calling QGraphicsView::setViewport(). If
you want OpenGL with antialiasing, you need OpenGL sample buffer
support (see QGLFormat::sampleBuffers()).
support (see QSurfaceFormat::samples()).
Example:

View File

@ -4913,9 +4913,6 @@ void qt_qpa_set_cursor(QWidget *w, bool force)
\note To obtain the contents of a QOpenGLWidget, use QOpenGLWidget::grabFramebuffer()
instead.
\note To obtain the contents of a QGLWidget (deprecated), use
QGLWidget::grabFrameBuffer() or QGLWidget::renderPixmap() instead.
*/
void QWidget::render(QPaintDevice *target, const QPoint &targetOffset,
const QRegion &sourceRegion, RenderFlags renderFlags)

View File

@ -1349,7 +1349,7 @@ bool QMainWindow::event(QEvent *event)
Note that the Qt 5 implementation has several limitations compared to Qt 4:
\list
\li Use in windows with OpenGL content is not supported. This includes QGLWidget and QOpenGLWidget.
\li Use in windows with OpenGL content is not supported. This includes QOpenGLWidget.
\li Using dockable or movable toolbars may result in painting errors and is not recommended
\endlist