Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QFbBackingStore Class Reference

#include <qfbbackingstore_p.h>

+ Inheritance diagram for QFbBackingStore:
+ Collaboration diagram for QFbBackingStore:

Public Member Functions

 QFbBackingStore (QWindow *window)
 
 ~QFbBackingStore ()
 
QPaintDevicepaintDevice () override
 Implement this function to return the appropriate paint device.
 
void flush (QWindow *window, const QRegion &region, const QPoint &offset) override
 Flushes the given region from the specified window.
 
void resize (const QSize &size, const QRegion &region) override
 
const QImage image ()
 
QImage toImage () const override
 Implemented in subclasses to return the content of the backingstore as a QImage.
 
void lock ()
 
void unlock ()
 
void beginPaint (const QRegion &) 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.
 
- Public Member Functions inherited from QPlatformBackingStore
 QPlatformBackingStore (QWindow *window)
 Constructs an empty surface for the given top-level window.
 
virtual ~QPlatformBackingStore ()
 Destroys this surface.
 
QWindowwindow () const
 Returns a pointer to the top-level window associated with this surface.
 
QBackingStorebackingStore () const
 Returns a pointer to the backing store associated with this surface.
 
virtual FlushResult rhiFlush (QWindow *window, qreal sourceDevicePixelRatio, const QRegion &region, const QPoint &offset, QPlatformTextureList *textures, bool translucentBackground)
 Flushes the given region from the specified window, and compositing it with the specified textures list.
 
virtual QRhiTexturetoTexture (QRhiResourceUpdateBatch *resourceUpdates, const QRegion &dirtyRegion, TextureFlags *flags) const
 May be reimplemented in subclasses to return the content of the backingstore as an QRhiTexture.
 
virtual QPlatformGraphicsBuffergraphicsBuffer () 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.
 
void setRhiConfig (const QPlatformBackingStoreRhiConfig &config)
 
QRhirhi () const
 
void surfaceAboutToBeDestroyed ()
 
void graphicsDeviceReportedLost ()
 

Protected Attributes

QImage mImage
 
QMutex mImageMutex
 

Friends

class QFbWindow
 

Additional Inherited Members

- Public Types inherited from QPlatformBackingStore
enum  FlushResult { FlushSuccess , FlushFailed , FlushFailedDueToLostDevice }
 
enum  TextureFlag { TextureSwizzle = 0x01 , TextureFlip = 0x02 , TexturePremultiplied = 0x04 }
 

Detailed Description

Definition at line 28 of file qfbbackingstore_p.h.

Constructor & Destructor Documentation

◆ QFbBackingStore()

QT_BEGIN_NAMESPACE QFbBackingStore::QFbBackingStore ( QWindow * window)

Definition at line 14 of file qfbbackingstore.cpp.

References QScreen::handle(), and QPlatformBackingStore::window().

+ Here is the call graph for this function:

◆ ~QFbBackingStore()

QFbBackingStore::~QFbBackingStore ( )

Definition at line 23 of file qfbbackingstore.cpp.

Member Function Documentation

◆ beginPaint()

void QFbBackingStore::beginPaint ( const QRegion & )
overridevirtual

This function is called before painting onto the surface begins, with the region in which the painting will occur.

See also
endPaint(), paintDevice()

Reimplemented from QPlatformBackingStore.

Definition at line 64 of file qfbbackingstore.cpp.

References QPainter::CompositionMode_Source, QImage::hasAlphaChannel(), lock(), mImage, and Qt::transparent.

+ Here is the call graph for this function:

◆ endPaint()

void QFbBackingStore::endPaint ( )
overridevirtual

This function is called after painting onto the surface has ended.

See also
beginPaint(), paintDevice()

Reimplemented from QPlatformBackingStore.

Definition at line 76 of file qfbbackingstore.cpp.

References unlock().

+ Here is the call graph for this function:

◆ flush()

void QFbBackingStore::flush ( QWindow * window,
const QRegion & region,
const QPoint & offset )
overridevirtual

Flushes the given region from the specified window.

Note
region is relative to the window which may not be top-level in case window corresponds to a native child widget. offset is the position of the native child relative to the top-level 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.

See also
rhiFlush()

Reimplemented from QPlatformBackingStore.

Definition at line 27 of file qfbbackingstore.cpp.

References Q_UNUSED, and QPlatformBackingStore::window().

+ Here is the call graph for this function:

◆ image()

const QImage QFbBackingStore::image ( )

Definition at line 43 of file qfbbackingstore.cpp.

References mImage.

Referenced by QFbScreen::doRedraw().

+ Here is the caller graph for this function:

◆ lock()

void QFbBackingStore::lock ( )

Definition at line 54 of file qfbbackingstore.cpp.

References QMutex::lock(), and mImageMutex.

Referenced by beginPaint(), and QFbScreen::doRedraw().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ paintDevice()

QPaintDevice * QFbBackingStore::paintDevice ( )
inlineoverridevirtual

Implement this function to return the appropriate paint device.

Implements QPlatformBackingStore.

Definition at line 34 of file qfbbackingstore_p.h.

References mImage.

◆ resize()

void QFbBackingStore::resize ( const QSize & size,
const QRegion & region )
overridevirtual

Implements QPlatformBackingStore.

Definition at line 35 of file qfbbackingstore.cpp.

References mImage, Q_UNUSED, screen, QImage::size(), and QPlatformBackingStore::window().

+ Here is the call graph for this function:

◆ toImage()

QImage QFbBackingStore::toImage ( ) const
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.

See also
toTexture()

Reimplemented from QPlatformBackingStore.

Definition at line 49 of file qfbbackingstore.cpp.

References mImage.

◆ unlock()

void QFbBackingStore::unlock ( )

Definition at line 59 of file qfbbackingstore.cpp.

References mImageMutex, and QMutex::unlock().

Referenced by QFbScreen::doRedraw(), and endPaint().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ QFbWindow

friend class QFbWindow
friend

Definition at line 49 of file qfbbackingstore_p.h.

Member Data Documentation

◆ mImage

QImage QFbBackingStore::mImage
protected

Definition at line 51 of file qfbbackingstore_p.h.

Referenced by beginPaint(), image(), paintDevice(), resize(), and toImage().

◆ mImageMutex

QMutex QFbBackingStore::mImageMutex
protected

Definition at line 52 of file qfbbackingstore_p.h.

Referenced by lock(), and unlock().


The documentation for this class was generated from the following files: