![]() |
Qt 6.x
The Qt SDK
|
#include <qwaylandshmbackingstore_p.h>
Public Member Functions | |
QWaylandShmBackingStore (QWindow *window, QWaylandDisplay *display) | |
~QWaylandShmBackingStore () override | |
QPaintDevice * | paintDevice () override |
Implement this function to return the appropriate paint device. | |
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 |
void | resize (const QSize &size) |
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 | endPaint () override |
This function is called after painting onto the surface has ended. | |
QWaylandAbstractDecoration * | windowDecoration () const |
QMargins | windowDecorationMargins () const |
QImage * | entireSurface () const |
QImage * | contentSurface () const |
void | ensureSize () |
QWaylandWindow * | waylandWindow () const |
void | iterateBuffer () |
![]() | |
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 QPaintDevice * | paintDevice ()=0 |
Implement this function to return the appropriate paint device. | |
virtual void | flush (QWindow *window, const QRegion ®ion, const QPoint &offset) |
Flushes the given region from the specified window. | |
virtual FlushResult | rhiFlush (QWindow *window, qreal sourceDevicePixelRatio, const QRegion ®ion, const QPoint &offset, QPlatformTextureList *textures, bool translucentBackground) |
Flushes the given region from the specified window, and compositing it with the specified textures list. | |
virtual QImage | toImage () const |
Implemented in subclasses to return the content of the backingstore as a QImage. | |
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 void | resize (const QSize &size, const QRegion &staticContents)=0 |
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 | beginPaint (const QRegion &) |
This function is called before painting onto the surface begins, with the region in which the painting will occur. | |
virtual void | endPaint () |
This function is called after painting onto the surface has ended. | |
void | setRhiConfig (const QPlatformBackingStoreRhiConfig &config) |
QRhi * | rhi () const |
QRhiSwapChain * | rhiSwapChain () const |
void | surfaceAboutToBeDestroyed () |
void | graphicsDeviceReportedLost () |
Additional Inherited Members | |
![]() | |
enum | FlushResult { FlushSuccess , FlushFailed , FlushFailedDueToLostDevice } |
enum | TextureFlag { TextureSwizzle = 0x01 , TextureFlip = 0x02 , TexturePremultiplied = 0x04 } |
Definition at line 52 of file qwaylandshmbackingstore_p.h.
QtWaylandClient::QWaylandShmBackingStore::QWaylandShmBackingStore | ( | QWindow * | window, |
QWaylandDisplay * | display | ||
) |
Definition at line 135 of file qwaylandshmbackingstore.cpp.
References QObject::connect(), copy(), QSize::isValid(), qDeleteAll(), QtWaylandClient::QWaylandDisplay::reconnected(), resize(), waylandWindow(), and QPlatformBackingStore::window().
|
override |
Definition at line 153 of file qwaylandshmbackingstore.cpp.
References qDeleteAll(), and waylandWindow().
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 169 of file qwaylandshmbackingstore.cpp.
References QPainter::CompositionMode_Source, ensureSize(), QImage::hasAlphaChannel(), QtWaylandClient::QWaylandShmBuffer::image(), paintDevice(), rect, QtWaylandClient::QWaylandWindow::setCanResize(), Qt::transparent, and waylandWindow().
QImage * QtWaylandClient::QWaylandShmBackingStore::contentSurface | ( | ) | const |
Definition at line 309 of file qwaylandshmbackingstore.cpp.
References QtWaylandClient::QWaylandShmBuffer::image(), QtWaylandClient::QWaylandShmBuffer::imageInsideMargins(), windowDecoration(), and windowDecorationMargins().
Referenced by paintDevice().
|
overridevirtual |
This function is called after painting onto the surface has ended.
Reimplemented from QPlatformBackingStore.
Definition at line 185 of file qwaylandshmbackingstore.cpp.
References flush(), QtWaylandClient::QWaylandWindow::setCanResize(), waylandWindow(), and QPlatformBackingStore::window().
void QtWaylandClient::QWaylandShmBackingStore::ensureSize | ( | ) |
Definition at line 193 of file qwaylandshmbackingstore.cpp.
References QtWaylandClient::QWaylandWindow::createDecoration(), resize(), QtWaylandClient::QWaylandWindow::setBackingStore(), and waylandWindow().
Referenced by beginPaint(), and QtWaylandClient::QWaylandWindow::ensureSize().
QImage * QtWaylandClient::QWaylandShmBackingStore::entireSurface | ( | ) | const |
Definition at line 304 of file qwaylandshmbackingstore.cpp.
References QtWaylandClient::QWaylandShmBuffer::image().
|
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 200 of file qwaylandshmbackingstore.cpp.
References QMargins::left(), Q_UNUSED, QtWaylandClient::QWaylandWindow::safeCommit(), QMargins::top(), QRegion::translated(), waylandWindow(), QPlatformBackingStore::window(), windowDecoration(), and windowDecorationMargins().
Referenced by endPaint().
void QtWaylandClient::QWaylandShmBackingStore::iterateBuffer | ( | ) |
|
overridevirtual |
Implement this function to return the appropriate paint device.
Implements QPlatformBackingStore.
Definition at line 164 of file qwaylandshmbackingstore.cpp.
References contentSurface().
Referenced by beginPaint().
Definition at line 262 of file qwaylandshmbackingstore.cpp.
References QtWaylandClient::QWaylandDisplay::blockingReadEvents(), QMargins::bottom(), QImage::constBits(), QtWaylandClient::QWaylandShmBuffer::image(), isVisible(), QMargins::left(), qCDebug, QMargins::right(), QtWaylandClient::QWaylandWindow::scale(), QImage::sizeInBytes(), QMargins::top(), QtWaylandClient::QWaylandAbstractDecoration::update(), waylandWindow(), QPlatformBackingStore::window(), windowDecoration(), and windowDecorationMargins().
|
overridevirtual |
Implements QPlatformBackingStore.
Definition at line 231 of file qwaylandshmbackingstore.cpp.
Referenced by QWaylandShmBackingStore(), and ensureSize().
QWaylandWindow * QtWaylandClient::QWaylandShmBackingStore::waylandWindow | ( | ) | const |
Definition at line 364 of file qwaylandshmbackingstore.cpp.
References QPlatformBackingStore::window().
Referenced by QWaylandShmBackingStore(), ~QWaylandShmBackingStore(), beginPaint(), endPaint(), ensureSize(), flush(), resize(), and windowDecoration().
QWaylandAbstractDecoration * QtWaylandClient::QWaylandShmBackingStore::windowDecoration | ( | ) | const |
Definition at line 352 of file qwaylandshmbackingstore.cpp.
References QtWaylandClient::QWaylandWindow::decoration(), and waylandWindow().
Referenced by contentSurface(), flush(), resize(), and windowDecorationMargins().
QMargins QtWaylandClient::QWaylandShmBackingStore::windowDecorationMargins | ( | ) | const |
Definition at line 357 of file qwaylandshmbackingstore.cpp.
References QtWaylandClient::QWaylandAbstractDecoration::margins(), and windowDecoration().
Referenced by contentSurface(), flush(), and resize().