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
QWaylandCompositorPrivate Class Reference

#include <qwaylandcompositor_p.h>

+ Inheritance diagram for QWaylandCompositorPrivate:
+ Collaboration diagram for QWaylandCompositorPrivate:

Public Member Functions

 QWaylandCompositorPrivate (QWaylandCompositor *compositor)
 
 ~QWaylandCompositorPrivate () override
 
void preInit ()
 
void init ()
 
void destroySurface (QWaylandSurface *surface)
 
void unregisterSurface (QWaylandSurface *surface)
 
QWaylandOutputdefaultOutput () const
 
const QList< QtWayland::ClientBufferIntegration * > clientBufferIntegrations () const
 
QtWayland::ServerBufferIntegrationserverBufferIntegration () const
 
QtWayland::BufferManagerbufferManager () const
 
void feedRetainedSelectionData (QMimeData *data)
 
QWaylandPointercallCreatePointerDevice (QWaylandSeat *seat)
 
QWaylandKeyboardcallCreateKeyboardDevice (QWaylandSeat *seat)
 
QWaylandTouchcallCreateTouchDevice (QWaylandSeat *seat)
 
void addClient (QWaylandClient *client)
 
void removeClient (QWaylandClient *client)
 
void addPolishObject (QObject *object)
 
void addOutput (QWaylandOutput *output)
 
void removeOutput (QWaylandOutput *output)
 
void connectToExternalSockets ()
 
virtual QWaylandSeatseatFor (QInputEvent *inputEvent)
 
- Public Member Functions inherited from QObjectPrivate
void ensureExtraData ()
 
 QObjectPrivate (int version=QObjectPrivateVersion)
 
virtual ~QObjectPrivate ()
 
void deleteChildren ()
 
void clearBindingStorage ()
 
void checkForIncompatibleLibraryVersion (int version) const
 
void setParent_helper (QObject *)
 
void moveToThread_helper ()
 
void setThreadData_helper (QThreadData *currentData, QThreadData *targetData, QBindingStatus *status)
 
QObjectList receiverList (const char *signal) const
 
void ensureConnectionData ()
 
void addConnection (int signal, Connection *c)
 
int signalIndex (const char *signalName, const QMetaObject **meta=nullptr) const
 
bool isSignalConnected (uint signalIdx, bool checkDeclarative=true) const
 
bool maybeSignalConnected (uint signalIndex) const
 
bool isDeclarativeSignalConnected (uint signalIdx) const
 
void connectNotify (const QMetaMethod &signal)
 
void disconnectNotify (const QMetaMethod &signal)
 
void reinitBindingStorageAfterThreadMove ()
 
virtual std::string flagsForDumping () const
 
virtual void writeToDebugStream (QDebug &) const
 
QtPrivate::QPropertyAdaptorSlotObjectgetPropertyAdaptorSlotObject (const QMetaProperty &property)
 
- Public Member Functions inherited from QObjectData
 QObjectData ()=default
 
virtual ~QObjectData ()=0
 
QMetaObjectdynamicMetaObject () const
 

Static Public Member Functions

static QWaylandCompositorPrivateget (QWaylandCompositor *compositor)
 
- Static Public Member Functions inherited from QObjectPrivate
static bool removeConnection (Connection *c)
 
static QObjectPrivateget (QObject *o)
 
static const QObjectPrivateget (const QObject *o)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot)
 
static QMetaObject::Connection connectImpl (const QObject *sender, int signal_index, const QObject *receiver, void **slot, QtPrivate::QSlotObjectBase *slotObj, int type, const int *types, const QMetaObject *senderMetaObject)
 
static QMetaObject::Connection connect (const QObject *sender, int signal_index, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type)
 
static QMetaObject::Connection connect (const QObject *sender, int signal_index, const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type)
 
static bool disconnect (const QObject *sender, int signal_index, void **slot)
 
static bool disconnect (const QObject *sender, int signal_index, const QObject *receiver, void **slot)
 

Protected Member Functions

void compositor_create_surface (wl_compositor::Resource *resource, uint32_t id) override
 
void compositor_create_region (wl_compositor::Resource *resource, uint32_t id) override
 
void subcompositor_get_subsurface (wl_subcompositor::Resource *resource, uint32_t id, struct ::wl_resource *surface, struct ::wl_resource *parent) override
 
virtual QWaylandSurfacecreateDefaultSurface ()
 
void initializeHardwareIntegration ()
 
void initializeExtensions ()
 
void initializeSeats ()
 
void loadClientBufferIntegration ()
 
void loadServerBufferIntegration ()
 

Protected Attributes

QByteArray socket_name
 
QList< int > externally_added_socket_fds
 
struct wl_display * display = nullptr
 
bool ownsDisplay = false
 
QVector< QWaylandCompositor::ShmFormat > shmFormats
 
QList< QWaylandSeat * > seats
 
QList< QWaylandOutput * > outputs
 
QList< QWaylandSurface * > all_surfaces
 
QtWayland::BufferManagerbuffer_manager = nullptr
 
QElapsedTimer timer
 
wl_event_loop * loop = nullptr
 
QList< QWaylandClient * > clients
 
QList< QtWayland::ClientBufferIntegration * > client_buffer_integrations
 
QScopedPointer< QWindowSystemEventHandlereventHandler
 
bool retainSelection = false
 
bool preInitialized = false
 
bool initialized = false
 
std::vector< QPointer< QObject > > polish_objects
 

Additional Inherited Members

- Public Types inherited from QObjectPrivate
typedef void(* StaticMetaCallFunction) (QObject *, QMetaObject::Call, int, void **)
 
using ConnectionDataPointer = QExplicitlySharedDataPointer<ConnectionData>
 
- Public Attributes inherited from QObjectPrivate
ExtraDataextraData
 
QAtomicPointer< QThreadDatathreadData
 
QAtomicPointer< ConnectionDataconnections
 
union { 
 
   QObject *   currentChildBeingDeleted 
 
   QAbstractDeclarativeData *   declarativeData 
 
};  
 
QAtomicPointer< QtSharedPointer::ExternalRefCountDatasharedRefcount
 
- Public Attributes inherited from QObjectData
QObjectq_ptr
 
QObjectparent
 
QObjectList children
 
uint isWidget: 1
 
uint blockSig: 1
 
uint wasDeleted: 1
 
uint isDeletingChildren: 1
 
uint sendChildEvents: 1
 
uint receiveChildEvents: 1
 
uint isWindow: 1
 
uint deleteLaterCalled: 1
 
uint isQuickItem: 1
 
uint willBeWidget: 1
 
uint wasWidget: 1
 
uint receiveParentEvents: 1
 
uint unused: 20
 
QAtomicInt postedEvents
 
QDynamicMetaObjectDatametaObject
 
QBindingStorage bindingStorage
 

Detailed Description

Definition at line 48 of file qwaylandcompositor_p.h.

Constructor & Destructor Documentation

◆ QWaylandCompositorPrivate()

QWaylandCompositorPrivate::QWaylandCompositorPrivate ( QWaylandCompositor * compositor)

◆ ~QWaylandCompositorPrivate()

QWaylandCompositorPrivate::~QWaylandCompositorPrivate ( )
override

Definition at line 232 of file qwaylandcompositor.cpp.

References client_buffer_integrations, clients, outputs, ownsDisplay, and qDeleteAll().

+ Here is the call graph for this function:

Member Function Documentation

◆ addClient()

void QWaylandCompositorPrivate::addClient ( QWaylandClient * client)
inline

Definition at line 169 of file qwaylandcompositor_p.h.

References QList< T >::append(), clients, QListSpecialMethodsBase< T >::contains(), and Q_ASSERT.

+ Here is the call graph for this function:

◆ addOutput()

void QWaylandCompositorPrivate::addOutput ( QWaylandOutput * output)
inline

Definition at line 181 of file qwaylandcompositor_p.h.

References QList< T >::append(), QListSpecialMethodsBase< T >::contains(), emit, output, outputs, and Q_ASSERT.

+ Here is the call graph for this function:

◆ addPolishObject()

void QWaylandCompositorPrivate::addPolishObject ( QObject * object)

Definition at line 286 of file qwaylandcompositor.cpp.

References initialized, QEvent::Polish, polish_objects, and QCoreApplication::postEvent().

+ Here is the call graph for this function:

◆ bufferManager()

QtWayland::BufferManager * QWaylandCompositorPrivate::bufferManager ( ) const
inline

Definition at line 74 of file qwaylandcompositor_p.h.

◆ callCreateKeyboardDevice()

QWaylandKeyboard * QWaylandCompositorPrivate::callCreateKeyboardDevice ( QWaylandSeat * seat)
inline

Definition at line 79 of file qwaylandcompositor_p.h.

◆ callCreatePointerDevice()

QWaylandPointer * QWaylandCompositorPrivate::callCreatePointerDevice ( QWaylandSeat * seat)
inline

Definition at line 77 of file qwaylandcompositor_p.h.

◆ callCreateTouchDevice()

QWaylandTouch * QWaylandCompositorPrivate::callCreateTouchDevice ( QWaylandSeat * seat)
inline

Definition at line 81 of file qwaylandcompositor_p.h.

◆ clientBufferIntegrations()

const QList< QtWayland::ClientBufferIntegration * > QWaylandCompositorPrivate::clientBufferIntegrations ( ) const
inline

Definition at line 155 of file qwaylandcompositor_p.h.

References client_buffer_integrations.

◆ compositor_create_region()

void QWaylandCompositorPrivate::compositor_create_region ( wl_compositor::Resource * resource,
uint32_t id )
overrideprotected

Definition at line 327 of file qwaylandcompositor.cpp.

◆ compositor_create_surface()

void QWaylandCompositorPrivate::compositor_create_surface ( wl_compositor::Resource * resource,
uint32_t id )
overrideprotected

Definition at line 305 of file qwaylandcompositor.cpp.

References all_surfaces, QList< T >::append(), arg, QWaylandClient::client(), createDefaultSurface(), emit, QWaylandSurface::fromResource(), QWaylandClient::fromWlClient(), QWaylandSurfacePrivate::hasUninitializedSurface(), QWaylandSurface::initialize(), Q_ASSERT, Q_ASSERT_X, QStringLiteral, and toLocal8Bit().

+ Here is the call graph for this function:

◆ connectToExternalSockets()

void QWaylandCompositorPrivate::connectToExternalSockets ( )

Definition at line 295 of file qwaylandcompositor.cpp.

References QList< T >::clear(), externally_added_socket_fds, and qWarning.

Referenced by init().

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

◆ createDefaultSurface()

QWaylandSurface * QWaylandCompositorPrivate::createDefaultSurface ( )
protectedvirtual

Used to create a fallback QWaylandSurface when no surface was created by emitting the QWaylandCompositor::createSurface signal.

Reimplemented in QWaylandQuickCompositorPrivate.

Definition at line 347 of file qwaylandcompositor.cpp.

Referenced by compositor_create_surface().

+ Here is the caller graph for this function:

◆ defaultOutput()

QWaylandOutput * QWaylandCompositorPrivate::defaultOutput ( ) const
inline

Definition at line 66 of file qwaylandcompositor_p.h.

◆ destroySurface()

void QWaylandCompositorPrivate::destroySurface ( QWaylandSurface * surface)

Definition at line 265 of file qwaylandcompositor.cpp.

◆ feedRetainedSelectionData()

void QWaylandCompositorPrivate::feedRetainedSelectionData ( QMimeData * data)

Definition at line 279 of file qwaylandcompositor.cpp.

References retainSelection.

◆ get()

◆ init()

◆ initializeExtensions()

void QWaylandCompositorPrivate::initializeExtensions ( )
protected

◆ initializeHardwareIntegration()

void QWaylandCompositorPrivate::initializeHardwareIntegration ( )
protected

Definition at line 370 of file qwaylandcompositor.cpp.

References client_buffer_integrations, loadClientBufferIntegration(), loadServerBufferIntegration(), and QList< T >::prepend().

Referenced by init().

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

◆ initializeSeats()

void QWaylandCompositorPrivate::initializeSeats ( )
protected

Definition at line 387 of file qwaylandcompositor.cpp.

References seats.

Referenced by init().

+ Here is the caller graph for this function:

◆ loadClientBufferIntegration()

void QWaylandCompositorPrivate::loadClientBufferIntegration ( )
protected

Definition at line 393 of file qwaylandcompositor.cpp.

References QList< T >::append(), client_buffer_integrations, QtWayland::ClientBufferIntegrationFactory::create(), QString::fromLatin1(), QString::fromLocal8Bit(), QByteArray::isEmpty(), keys, QtWayland::ClientBufferIntegrationFactory::keys(), qgetenv(), and QByteArray::split().

Referenced by initializeHardwareIntegration().

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

◆ loadServerBufferIntegration()

void QWaylandCompositorPrivate::loadServerBufferIntegration ( )
protected

Definition at line 435 of file qwaylandcompositor.cpp.

References QtWayland::ServerBufferIntegrationFactory::create(), QString::fromLocal8Bit(), keys, QtWayland::ServerBufferIntegrationFactory::keys(), qCDebug, qCWarning, qgetenv(), and serverBufferIntegration().

Referenced by initializeHardwareIntegration().

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

◆ preInit()

void QWaylandCompositorPrivate::preInit ( )

Definition at line 252 of file qwaylandcompositor.cpp.

References QList< T >::append(), QList< T >::empty(), preInitialized, and seats.

+ Here is the call graph for this function:

◆ removeClient()

void QWaylandCompositorPrivate::removeClient ( QWaylandClient * client)
inline

Definition at line 175 of file qwaylandcompositor_p.h.

References clients, QListSpecialMethodsBase< T >::contains(), Q_ASSERT, and QList< T >::removeOne().

+ Here is the call graph for this function:

◆ removeOutput()

void QWaylandCompositorPrivate::removeOutput ( QWaylandOutput * output)
inline

Definition at line 191 of file qwaylandcompositor_p.h.

References QList< T >::count(), emit, output, outputs, Q_ASSERT, and QList< T >::removeOne().

+ Here is the call graph for this function:

◆ seatFor()

QWaylandSeat * QWaylandCompositorPrivate::seatFor ( QInputEvent * inputEvent)
virtual

Definition at line 466 of file qwaylandcompositor.cpp.

References QList< T >::at(), i, QWaylandSeat::isOwner(), seats, and QList< T >::size().

+ Here is the call graph for this function:

◆ serverBufferIntegration()

QtWayland::ServerBufferIntegration * QWaylandCompositorPrivate::serverBufferIntegration ( ) const
inline

Definition at line 160 of file qwaylandcompositor_p.h.

Referenced by loadServerBufferIntegration().

+ Here is the caller graph for this function:

◆ subcompositor_get_subsurface()

void QWaylandCompositorPrivate::subcompositor_get_subsurface ( wl_subcompositor::Resource * resource,
uint32_t id,
struct ::wl_resource * surface,
struct ::wl_resource * parent )
overrideprotected

Definition at line 332 of file qwaylandcompositor.cpp.

References QWaylandSurface::client, emit, QWaylandSurface::fromResource(), QWaylandSurfacePrivate::get(), and QObjectData::parent.

+ Here is the call graph for this function:

◆ unregisterSurface()

void QWaylandCompositorPrivate::unregisterSurface ( QWaylandSurface * surface)

Definition at line 273 of file qwaylandcompositor.cpp.

References all_surfaces, Q_FUNC_INFO, qWarning, and QList< T >::removeOne().

+ Here is the call graph for this function:

Member Data Documentation

◆ all_surfaces

QList<QWaylandSurface *> QWaylandCompositorPrivate::all_surfaces
protected

Definition at line 120 of file qwaylandcompositor_p.h.

Referenced by compositor_create_surface(), and unregisterSurface().

◆ buffer_manager

QtWayland::BufferManager* QWaylandCompositorPrivate::buffer_manager = nullptr
protected

Definition at line 125 of file qwaylandcompositor_p.h.

Referenced by init().

◆ client_buffer_integrations

QList<QtWayland::ClientBufferIntegration*> QWaylandCompositorPrivate::client_buffer_integrations
protected

◆ clients

QList<QWaylandClient *> QWaylandCompositorPrivate::clients
protected

Definition at line 131 of file qwaylandcompositor_p.h.

Referenced by ~QWaylandCompositorPrivate(), addClient(), and removeClient().

◆ display

struct wl_display* QWaylandCompositorPrivate::display = nullptr
protected

Definition at line 113 of file qwaylandcompositor_p.h.

◆ eventHandler

QScopedPointer<QWindowSystemEventHandler> QWaylandCompositorPrivate::eventHandler
protected

Definition at line 140 of file qwaylandcompositor_p.h.

Referenced by QWaylandCompositorPrivate().

◆ externally_added_socket_fds

QList<int> QWaylandCompositorPrivate::externally_added_socket_fds
protected

Definition at line 112 of file qwaylandcompositor_p.h.

Referenced by connectToExternalSockets().

◆ initialized

bool QWaylandCompositorPrivate::initialized = false
protected

Definition at line 144 of file qwaylandcompositor_p.h.

Referenced by addPolishObject(), and init().

◆ loop

wl_event_loop* QWaylandCompositorPrivate::loop = nullptr
protected

Definition at line 129 of file qwaylandcompositor_p.h.

Referenced by init().

◆ outputs

QList<QWaylandOutput *> QWaylandCompositorPrivate::outputs
protected

Definition at line 118 of file qwaylandcompositor_p.h.

Referenced by ~QWaylandCompositorPrivate(), addOutput(), and removeOutput().

◆ ownsDisplay

bool QWaylandCompositorPrivate::ownsDisplay = false
protected

◆ polish_objects

std::vector<QPointer<QObject> > QWaylandCompositorPrivate::polish_objects
protected

Definition at line 145 of file qwaylandcompositor_p.h.

Referenced by addPolishObject(), and init().

◆ preInitialized

bool QWaylandCompositorPrivate::preInitialized = false
protected

Definition at line 143 of file qwaylandcompositor_p.h.

Referenced by preInit().

◆ retainSelection

bool QWaylandCompositorPrivate::retainSelection = false
protected

Definition at line 142 of file qwaylandcompositor_p.h.

Referenced by feedRetainedSelectionData().

◆ seats

QList<QWaylandSeat *> QWaylandCompositorPrivate::seats
protected

Definition at line 117 of file qwaylandcompositor_p.h.

Referenced by initializeSeats(), preInit(), and seatFor().

◆ shmFormats

QVector<QWaylandCompositor::ShmFormat> QWaylandCompositorPrivate::shmFormats
protected

Definition at line 115 of file qwaylandcompositor_p.h.

Referenced by init().

◆ socket_name

QByteArray QWaylandCompositorPrivate::socket_name
protected

Definition at line 111 of file qwaylandcompositor_p.h.

Referenced by init().

◆ timer

QElapsedTimer QWaylandCompositorPrivate::timer
protected

Definition at line 127 of file qwaylandcompositor_p.h.

Referenced by QWaylandCompositorPrivate().


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