Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QtWayland::ClientBuffer Class Referenceabstract

#include <qwlclientbuffer_p.h>

+ Inheritance diagram for QtWayland::ClientBuffer:
+ Collaboration diagram for QtWayland::ClientBuffer:

Public Member Functions

 ClientBuffer (struct ::wl_resource *bufferResource)
 
virtual ~ClientBuffer ()
 
virtual QWaylandBufferRef::BufferFormatEgl bufferFormatEgl () const
 
virtual QSize size () const =0
 
virtual QWaylandSurface::Origin origin () const =0
 
virtual quintptr lockNativeBuffer ()
 
virtual void unlockNativeBuffer (quintptr native_buffer) const
 
virtual QImage image () const
 
bool isCommitted () const
 
virtual void setCommitted (QRegion &damage)
 
bool isDestroyed ()
 
virtual bool isProtected ()
 
struct::wl_resource * waylandBufferHandle () const
 
bool isSharedMemory () const
 

Static Public Member Functions

static bool hasContent (ClientBuffer *buffer)
 
static bool hasProtectedContent (ClientBuffer *buffer)
 

Protected Member Functions

void ref ()
 
void deref ()
 
void sendRelease ()
 
virtual void setDestroyed ()
 

Protected Attributes

struct::wl_resource * m_buffer = nullptr
 
QRegion m_damage
 
bool m_textureDirty = false
 

Friends

class ::QWaylandBufferRef
 
class BufferManager
 

Detailed Description

Definition at line 44 of file qwlclientbuffer_p.h.

Constructor & Destructor Documentation

◆ ClientBuffer()

QtWayland::ClientBuffer::ClientBuffer ( struct ::wl_resource *  bufferResource)

Definition at line 23 of file qwlclientbuffer.cpp.

◆ ~ClientBuffer()

QtWayland::ClientBuffer::~ClientBuffer ( )
virtual

Definition at line 29 of file qwlclientbuffer.cpp.

References m_buffer, and sendRelease().

+ Here is the call graph for this function:

Member Function Documentation

◆ bufferFormatEgl()

QWaylandBufferRef::BufferFormatEgl QtWayland::ClientBuffer::bufferFormatEgl ( ) const
virtual

Reimplemented in BrcmEglClientBuffer, LinuxDmabufClientBuffer, WaylandEglClientBuffer, and WaylandEglStreamClientBuffer.

Definition at line 74 of file qwlclientbuffer.cpp.

References QWaylandBufferRef::BufferFormatEgl_Null.

Referenced by QWaylandBufferRef::bufferFormatEgl().

+ Here is the caller graph for this function:

◆ deref()

void QtWayland::ClientBuffer::deref ( )
protected

Definition at line 57 of file qwlclientbuffer.cpp.

References QBasicAtomicInteger< T >::deref(), isCommitted(), m_buffer, and sendRelease().

Referenced by QWaylandBufferRef::~QWaylandBufferRef(), and QWaylandBufferRef::operator=().

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

◆ hasContent()

static bool QtWayland::ClientBuffer::hasContent ( ClientBuffer buffer)
inlinestatic

Definition at line 74 of file qwlclientbuffer_p.h.

Referenced by QWaylandBufferRef::hasContent().

+ Here is the caller graph for this function:

◆ hasProtectedContent()

static bool QtWayland::ClientBuffer::hasProtectedContent ( ClientBuffer buffer)
inlinestatic

Definition at line 75 of file qwlclientbuffer_p.h.

Referenced by QWaylandBufferRef::hasProtectedContent().

+ Here is the caller graph for this function:

◆ image()

virtual QImage QtWayland::ClientBuffer::image ( ) const
inlinevirtual

Reimplemented in QtWayland::SharedMemoryBuffer.

Definition at line 58 of file qwlclientbuffer_p.h.

Referenced by QWaylandBufferRef::image(), and WaylandEglClientBuffer::lockNativeBuffer().

+ Here is the caller graph for this function:

◆ isCommitted()

bool QtWayland::ClientBuffer::isCommitted ( ) const
inline

Definition at line 60 of file qwlclientbuffer_p.h.

Referenced by deref().

+ Here is the caller graph for this function:

◆ isDestroyed()

bool QtWayland::ClientBuffer::isDestroyed ( )
inline

Definition at line 62 of file qwlclientbuffer_p.h.

Referenced by QWaylandBufferRef::isDestroyed().

+ Here is the caller graph for this function:

◆ isProtected()

virtual bool QtWayland::ClientBuffer::isProtected ( )
inlinevirtual

Reimplemented in WaylandEglClientBuffer.

Definition at line 64 of file qwlclientbuffer_p.h.

◆ isSharedMemory()

bool QtWayland::ClientBuffer::isSharedMemory ( ) const
inline

Definition at line 68 of file qwlclientbuffer_p.h.

Referenced by QWaylandBufferRef::isSharedMemory().

+ Here is the caller graph for this function:

◆ lockNativeBuffer()

virtual quintptr QtWayland::ClientBuffer::lockNativeBuffer ( )
inlinevirtual

Reimplemented in WaylandEglClientBuffer.

Definition at line 55 of file qwlclientbuffer_p.h.

◆ origin()

virtual QWaylandSurface::Origin QtWayland::ClientBuffer::origin ( ) const
pure virtual

Implemented in QtWayland::SharedMemoryBuffer, BrcmEglClientBuffer, LinuxDmabufClientBuffer, WaylandEglClientBuffer, and WaylandEglStreamClientBuffer.

Referenced by QWaylandBufferRef::origin().

+ Here is the caller graph for this function:

◆ ref()

void QtWayland::ClientBuffer::ref ( )
protected

Definition at line 52 of file qwlclientbuffer.cpp.

References QBasicAtomicInteger< T >::ref().

Referenced by QWaylandBufferRef::QWaylandBufferRef(), and QWaylandBufferRef::operator=().

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

◆ sendRelease()

void QtWayland::ClientBuffer::sendRelease ( )
protected

Definition at line 35 of file qwlclientbuffer.cpp.

References m_buffer, and Q_ASSERT.

Referenced by ~ClientBuffer(), and deref().

+ Here is the caller graph for this function:

◆ setCommitted()

void QtWayland::ClientBuffer::setCommitted ( QRegion damage)
virtual

Reimplemented in WaylandEglClientBuffer, and WaylandEglStreamClientBuffer.

Definition at line 67 of file qwlclientbuffer.cpp.

References m_damage, and m_textureDirty.

◆ setDestroyed()

void QtWayland::ClientBuffer::setDestroyed ( )
protectedvirtual

Reimplemented in LinuxDmabufClientBuffer.

Definition at line 42 of file qwlclientbuffer.cpp.

References QBasicAtomicInteger< T >::loadAcquire(), and m_buffer.

+ Here is the call graph for this function:

◆ size()

virtual QSize QtWayland::ClientBuffer::size ( ) const
pure virtual

Implemented in QtWayland::SharedMemoryBuffer, BrcmEglClientBuffer, LinuxDmabufClientBuffer, WaylandEglClientBuffer, and WaylandEglStreamClientBuffer.

Referenced by QWaylandBufferRef::size().

+ Here is the caller graph for this function:

◆ unlockNativeBuffer()

virtual void QtWayland::ClientBuffer::unlockNativeBuffer ( quintptr  native_buffer) const
inlinevirtual

Reimplemented in WaylandEglClientBuffer.

Definition at line 56 of file qwlclientbuffer_p.h.

References Q_UNUSED.

◆ waylandBufferHandle()

struct::wl_resource * QtWayland::ClientBuffer::waylandBufferHandle ( ) const
inline

Definition at line 66 of file qwlclientbuffer_p.h.

Referenced by WaylandEglClientBuffer::setCommitted(), and QWaylandBufferRef::wl_buffer().

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ ::QWaylandBufferRef

friend class ::QWaylandBufferRef
friend

Definition at line 93 of file qwlclientbuffer_p.h.

◆ BufferManager

friend class BufferManager
friend

Definition at line 94 of file qwlclientbuffer_p.h.

Member Data Documentation

◆ m_buffer

◆ m_damage

QRegion QtWayland::ClientBuffer::m_damage
protected

Definition at line 84 of file qwlclientbuffer_p.h.

Referenced by setCommitted().

◆ m_textureDirty

bool QtWayland::ClientBuffer::m_textureDirty = false
protected

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