5#ifndef QWAYLANDCOMPOSITOR_P_H
6#define QWAYLANDCOMPOSITOR_P_H
19#include <QtWaylandCompositor/private/qtwaylandcompositorglobal_p.h>
20#include <QtWaylandCompositor/QWaylandCompositor>
21#include <QtCore/private/qobject_p.h>
23#include <QtCore/QElapsedTimer>
25#include <QtWaylandCompositor/private/qwayland-server-wayland.h>
29#if QT_CONFIG(xkbcommon)
30#include <QtGui/private/qxkbcommon_p.h>
36 class HardwareIntegration;
37 class ClientBufferIntegration;
38 class ServerBufferIntegration;
39 class DataDeviceManager;
54#if QT_CONFIG(xkbcommon)
55 struct xkb_context *xkbContext()
const {
return mXkbContext.get(); }
69#if QT_CONFIG(wayland_datadevice)
76 {
return q_func()->createPointerDevice(seat); }
78 {
return q_func()->createKeyboardDevice(seat); }
80 {
return q_func()->createTouchDevice(seat); }
85 void addPolishObject(
QObject *
object);
90 void connectToExternalSockets();
95 void compositor_create_surface(wl_compositor::Resource *resource, uint32_t
id)
override;
96 void compositor_create_region(wl_compositor::Resource *resource, uint32_t
id)
override;
98 void subcompositor_get_subsurface(wl_subcompositor::Resource *resource, uint32_t
id, struct ::wl_resource *surface, struct ::wl_resource *
parent)
override;
102 void initializeHardwareIntegration();
104 void initializeSeats();
106 void loadClientBufferIntegration();
107 void loadServerBufferIntegration();
112 bool ownsDisplay =
false;
120#if QT_CONFIG(wayland_datadevice)
127 wl_event_loop *loop =
nullptr;
132 bool use_hw_integration_extension =
true;
140 bool retainSelection =
false;
141 bool preInitialized =
false;
142 bool initialized =
false;
145#if QT_CONFIG(xkbcommon)
161 return server_buffer_integration.data();
bool removeOne(const AT &t)
qsizetype count() const noexcept
void append(parameter_type t)
\qmltype WaylandClient \instantiates QWaylandClient \inqmlmodule QtWayland.Compositor
QWaylandKeyboard * callCreateKeyboardDevice(QWaylandSeat *seat)
QList< QWaylandOutput * > outputs
void removeOutput(QWaylandOutput *output)
QList< QWaylandSeat * > seats
void addOutput(QWaylandOutput *output)
QWaylandPointer * callCreatePointerDevice(QWaylandSeat *seat)
static QWaylandCompositorPrivate * get(QWaylandCompositor *compositor)
void removeClient(QWaylandClient *client)
const QList< QtWayland::ClientBufferIntegration * > clientBufferIntegrations() const
QList< QWaylandClient * > clients
void addClient(QWaylandClient *client)
QList< QtWayland::ClientBufferIntegration * > client_buffer_integrations
QtWayland::ServerBufferIntegration * serverBufferIntegration() const
QList< int > externally_added_socket_fds
QWaylandOutput * defaultOutput() const
std::vector< QPointer< QObject > > polish_objects
QtWayland::BufferManager * bufferManager() const
QList< QWaylandSurface * > all_surfaces
void initializeExtensions()
QVector< QWaylandCompositor::ShmFormat > shmFormats
QWaylandTouch * callCreateTouchDevice(QWaylandSeat *seat)
QScopedPointer< QWindowSystemEventHandler > eventHandler
\qmltype WaylandCompositor \instantiates QWaylandCompositor \inqmlmodule QtWayland....
\inmodule QtWaylandCompositor
\qmltype WaylandOutput \instantiates QWaylandOutput \inqmlmodule QtWayland.Compositor
\inmodule QtWaylandCompositor
\qmltype WaylandSeat \instantiates QWaylandSeat \inqmlmodule QtWayland.Compositor
\qmltype WaylandSurface \instantiates QWaylandSurface \inqmlmodule QtWayland.Compositor
\inmodule QtWaylandCompositor
std::unique_ptr< struct xkb_context, XKBContextDeleter > ScopedXKBContext
struct wl_display * display
Combined button and popup list for selecting options.
void destroySurface(int surfaceId)
static QOpenGLCompositor * compositor
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLdouble GLdouble GLdouble GLdouble q
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)
QT_BEGIN_NAMESPACE typedef uchar * output
bool contains(const AT &t) const noexcept
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent