KWin
Loading...
Searching...
No Matches
datadevice_p.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
3 SPDX-FileCopyrightText: 2020 David Edmundson <davidedmundson@kde.org>
4
5 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
6*/
7
8#pragma once
9
10#include <QPointer>
11
12#include "qwayland-server-wayland.h"
13
14namespace KWin
15{
16class AbstractDataSource;
17class DataDeviceInterface;
18class DataOfferInterface;
19class DataSourceInterface;
20class DragAndDropIcon;
21class SeatInterface;
22class SurfaceInterface;
23
24class DataDeviceInterfacePrivate : public QtWaylandServer::wl_data_device
25{
26public:
28
30
32
35 QPointer<DataSourceInterface> selection;
36
37 struct Drag
38 {
40 QMetaObject::Connection destroyConnection;
41 QMetaObject::Connection posConnection;
42 QMetaObject::Connection sourceActionConnection;
43 QMetaObject::Connection targetActionConnection;
44 quint32 serial = 0;
45 };
47
48protected:
49 void data_device_destroy_resource(Resource *resource) override;
50 void data_device_start_drag(Resource *resource, wl_resource *source, wl_resource *origin, wl_resource *icon, uint32_t serial) override;
51 void data_device_set_selection(Resource *resource, wl_resource *source, uint32_t serial) override;
52 void data_device_release(Resource *resource) override;
53};
54
55} // namespace KWin
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.
Definition datadevice.h:80
static DataDeviceInterfacePrivate * get(DataDeviceInterface *device)
void data_device_start_drag(Resource *resource, wl_resource *source, wl_resource *origin, wl_resource *icon, uint32_t serial) override
void data_device_release(Resource *resource) override
void data_device_set_selection(Resource *resource, wl_resource *source, uint32_t serial) override
QPointer< DataSourceInterface > selection
void data_device_destroy_resource(Resource *resource) override
DataDeviceInterfacePrivate(SeatInterface *seat, DataDeviceInterface *_q, wl_resource *resource)
DataOfferInterface * createDataOffer(AbstractDataSource *source)
Represents the Resource for the wl_data_offer interface.
Definition dataoffer.h:28
Represents a Seat on the Wayland Display.
Definition seat.h:134
Resource representing a wl_surface.
Definition surface.h:80
QMetaObject::Connection targetActionConnection
QMetaObject::Connection destroyConnection
QMetaObject::Connection sourceActionConnection
QMetaObject::Connection posConnection