KWin
Loading...
Searching...
No Matches
datadevicemanager.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#pragma once
8
9#include "kwin_export.h"
10
11#include <QObject>
12#include <memory>
13
14#include "datadevice.h"
15
16namespace KWin
17{
18class Display;
19class DataSourceInterface;
20class DataDeviceManagerInterfacePrivate;
21
26class KWIN_EXPORT DataDeviceManagerInterface : public QObject
27{
28 Q_OBJECT
29
30public:
31 explicit DataDeviceManagerInterface(Display *display, QObject *parent = nullptr);
33
37 enum class DnDAction {
38 None = 0,
39 Copy = 1 << 0,
40 Move = 1 << 1,
41 Ask = 1 << 2,
42 };
43 Q_DECLARE_FLAGS(DnDActions, DnDAction)
44
45Q_SIGNALS:
48
49private:
50 std::unique_ptr<DataDeviceManagerInterfacePrivate> d;
51};
52
53}
54
55Q_DECLARE_OPERATORS_FOR_FLAGS(KWin::DataDeviceManagerInterface::DnDActions)
DataDeviceInterface allows clients to share data by copy-and-paste and drag-and-drop.
Definition datadevice.h:80
Represents the Global for wl_data_device_manager interface.
void dataDeviceCreated(KWin::DataDeviceInterface *)
void dataSourceCreated(KWin::DataSourceInterface *)
Represents the Resource for the wl_data_source interface.
Definition datasource.h:23
Class holding the Wayland server display loop.
Definition display.h:34
KWin::DataDeviceManagerInterface::DnDActions DnDActions
Definition drag_wl.cpp:31
struct _XDisplay Display