![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
A backing store implementation for OpenGL. More...
#include <qopenglcompositorbackingstore_p.h>
Public Member Functions | |
QOpenGLCompositorBackingStore (QWindow *window) | |
~QOpenGLCompositorBackingStore () | |
QPaintDevice * | paintDevice () override |
Implement this function to return the appropriate paint device. | |
void | beginPaint (const QRegion ®ion) override |
This function is called before painting onto the surface begins, with the region in which the painting will occur. | |
void | flush (QWindow *window, const QRegion ®ion, const QPoint &offset) override |
Flushes the given region from the specified window. | |
void | resize (const QSize &size, const QRegion &staticContents) override |
QImage | toImage () const override |
Implemented in subclasses to return the content of the backingstore as a QImage. | |
FlushResult | rhiFlush (QWindow *window, qreal sourceDevicePixelRatio, const QRegion ®ion, const QPoint &offset, QPlatformTextureList *textures, bool translucentBackground) override |
Flushes the given region from the specified window, and compositing it with the specified textures list. | |
const QPlatformTextureList * | textures () const |
void | notifyComposited () |
![]() | |
QPlatformBackingStore (QWindow *window) | |
Constructs an empty surface for the given top-level window. | |
virtual | ~QPlatformBackingStore () |
Destroys this surface. | |
QWindow * | window () const |
Returns a pointer to the top-level window associated with this surface. | |
QBackingStore * | backingStore () const |
Returns a pointer to the backing store associated with this surface. | |
virtual QRhiTexture * | toTexture (QRhiResourceUpdateBatch *resourceUpdates, const QRegion &dirtyRegion, TextureFlags *flags) const |
May be reimplemented in subclasses to return the content of the backingstore as an QRhiTexture. | |
virtual QPlatformGraphicsBuffer * | graphicsBuffer () const |
Accessor for a backingstores graphics buffer abstraction. | |
virtual bool | scroll (const QRegion &area, int dx, int dy) |
Scrolls the given area dx pixels to the right and dy downward; both dx and dy may be negative. | |
virtual void | endPaint () |
This function is called after painting onto the surface has ended. | |
void | createRhi (QWindow *window, QPlatformBackingStoreRhiConfig config) |
QRhi * | rhi (QWindow *window) const |
void | surfaceAboutToBeDestroyed () |
void | graphicsDeviceReportedLost (QWindow *window) |
Additional Inherited Members | |
![]() | |
enum | FlushResult { FlushSuccess , FlushFailed , FlushFailedDueToLostDevice } |
enum | TextureFlag { TextureSwizzle = 0x01 , TextureFlip = 0x02 , TexturePremultiplied = 0x04 } |
A backing store implementation for OpenGL.
This implementation uploads raster-rendered widget windows into textures. It is meant to be used with QOpenGLCompositor that composites the textures onto a single native window using OpenGL. This means that multiple top-level widgets are supported without creating actual native windows for each of them.
Definition at line 31 of file qopenglcompositorbackingstore_p.h.
QOpenGLCompositorBackingStore::QOpenGLCompositorBackingStore | ( | QWindow * | window | ) |
Definition at line 42 of file qopenglcompositorbackingstore.cpp.
QOpenGLCompositorBackingStore::~QOpenGLCompositorBackingStore | ( | ) |
Definition at line 54 of file qopenglcompositorbackingstore.cpp.
This function is called before painting onto the surface begins, with the region in which the painting will occur.
Reimplemented from QPlatformBackingStore.
Definition at line 218 of file qopenglcompositorbackingstore.cpp.
|
overridevirtual |
Flushes the given region from the specified window.
Unlike rhiFlush(), this function's default implementation does nothing. It is expected that subclasses provide a platform-specific (non-QRhi-based) implementation, if applicable on the given platform.
Reimplemented from QPlatformBackingStore.
Definition at line 137 of file qopenglcompositorbackingstore.cpp.
Referenced by testing.tools.encode_pdf_filter._SinkPdfStream::close().
void QOpenGLCompositorBackingStore::notifyComposited | ( | ) |
Definition at line 209 of file qopenglcompositorbackingstore.cpp.
|
overridevirtual |
Implement this function to return the appropriate paint device.
Implements QPlatformBackingStore.
Definition at line 67 of file qopenglcompositorbackingstore.cpp.
|
overridevirtual |
Implements QPlatformBackingStore.
Definition at line 230 of file qopenglcompositorbackingstore.cpp.
|
overridevirtual |
Flushes the given region from the specified window, and compositing it with the specified textures list.
The default implementation retrieves the contents using toTexture() and composes using QRhi with OpenGL, Metal, Vulkan, or Direct 3D underneath. May be reimplemented in subclasses if customization is desired.
Reimplemented from QPlatformBackingStore.
Definition at line 161 of file qopenglcompositorbackingstore.cpp.
|
inline |
Definition at line 53 of file qopenglcompositorbackingstore_p.h.
|
overridevirtual |
Implemented in subclasses to return the content of the backingstore as a QImage.
If composition via a 3D graphics API is supported, either this function or toTexture() must be implemented.
The returned image is only valid until the next operation (resize, paint, scroll, or flush) on the backingstore. The caller must not store the return value between calls, but instead call this function before each use, or make an explicit copy.
Reimplemented from QPlatformBackingStore.
Definition at line 256 of file qopenglcompositorbackingstore.cpp.