19#include "qwayland-server-wayland.h"
23class AbstractDataSource;
24class DataDeviceInterface;
25class DataSourceInterface;
26class DataControlDeviceV1Interface;
27class TextInputV1Interface;
28class TextInputV2Interface;
29class TextInputV3Interface;
30class PrimarySelectionDeviceV1Interface;
52 std::chrono::milliseconds
timestamp = std::chrono::milliseconds::zero();
55 std::unique_ptr<PointerInterface>
pointer;
56 std::unique_ptr<TouchInterface>
touch;
124 QMap<qint32, quint32>
ids;
The AbstractDataSource class abstracts the data that can be transferred to another client.
DataDeviceInterface allows clients to share data by copy-and-paste and drag-and-drop.
Class holding the Wayland server display loop.
Represents the Resource for the wl_data_device interface.
Represents a Seat on the Wayland Display.
void seat_release(Resource *resource) override
void registerPrimarySelectionDevice(PrimarySelectionDeviceV1Interface *primarySelectionDevice)
QMetaObject::Connection focusedSurfaceDestroyConnection
void registerDataControlDevice(DataControlDeviceV1Interface *dataDevice)
bool dragInhibitsPointer(SurfaceInterface *surface) const
QPointer< Display > display
void seat_get_keyboard(Resource *resource, uint32_t id) override
void seat_get_touch(Resource *resource, uint32_t id) override
void updatePointerButtonSerial(quint32 button, quint32 serial)
SeatInterfacePrivate(SeatInterface *q, Display *display)
void seat_bind_resource(Resource *resource) override
static KWIN_EXPORT SeatInterfacePrivate * get(SeatInterface *seat)
void registerDataDevice(DataDeviceInterface *dataDevice)
std::unique_ptr< PointerInterface > pointer
QList< DataDeviceInterface * > dataDevicesForSurface(SurfaceInterface *surface) const
void seat_get_pointer(Resource *resource, uint32_t id) override
void updatePointerButtonState(quint32 button, Pointer::State state)
std::unique_ptr< TouchInterface > touch
AbstractDataSource * currentSelection
QList< DataControlDeviceV1Interface * > dataControlDevices
QList< PrimarySelectionDeviceV1Interface * > primarySelectionDevices
QPointer< TextInputV3Interface > textInputV3
QList< DataDeviceInterface * > dataDevices
QPointer< TextInputV2Interface > textInputV2
AbstractDataSource * currentPrimarySelection
QPointer< TextInputV1Interface > textInputV1
std::chrono::milliseconds timestamp
std::unique_ptr< KeyboardInterface > keyboard
SurfaceInterface * focusedTextInputSurface
Resource representing a wl_surface.
QMatrix4x4 transformation
QPointer< DragAndDropIcon > dragIcon
std::optional< quint32 > dragImplicitGrabSerial
QMetaObject::Connection dragSourceDestroyConnection
QPointer< AbstractDropHandler > target
AbstractDataSource * source
QPointer< SurfaceInterface > surface
QList< PrimarySelectionDeviceV1Interface * > primarySelections
SurfaceInterface * surface
QList< DataDeviceInterface * > selections
QMetaObject::Connection destroyConnection
QMatrix4x4 transformation
SurfaceInterface * surface
QMetaObject::Connection destroyConnection
QHash< quint32, State > buttonStates
QHash< quint32, quint32 > buttonSerials
SurfaceInterface * surface
QMatrix4x4 transformation
QMetaObject::Connection destroyConnection
QMap< qint32, quint32 > ids