KWaylandServer

datacontroldevice_v1_interface.h
1 /*
2  SPDX-FileCopyrightText: 2020 David Edmundson <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 */
6 #pragma once
7 
8 #include <QObject>
9 
10 #include <KWaylandServer/kwaylandserver_export.h>
11 
12 struct wl_resource;
13 
14 namespace KWaylandServer
15 {
16 class AbstractDataSource;
17 class DataControlDeviceManagerV1Interface;
18 class DataControlDeviceV1InterfacePrivate;
19 class DataControlOfferV1Interface;
20 class DataControlSourceV1Interface;
21 class SeatInterface;
22 class SurfaceInterface;
23 
24 /**
25  * The DataControlDeviceV1Interface extensions allows clients to manage seat's current selection.
26  *
27  * DataControlDeviceV1Interface corresponds to the Wayland interface @c zwlr_data_control_device_v1.
28  */
29 class KWAYLANDSERVER_EXPORT DataControlDeviceV1Interface : public QObject
30 {
31  Q_OBJECT
32 
33 public:
34  ~DataControlDeviceV1Interface() override;
35 
36  SeatInterface *seat() const;
37  DataControlSourceV1Interface *selection() const;
38  DataControlSourceV1Interface *primarySelection() const;
39 
40  void sendSelection(AbstractDataSource *other);
41  void sendClearSelection();
42 
43  void sendPrimarySelection(AbstractDataSource *other);
44  void sendClearPrimarySelection();
45 
46 Q_SIGNALS:
47  void selectionChanged(KWaylandServer::DataControlSourceV1Interface *dataSource);
48  void selectionCleared();
49 
50  void primarySelectionChanged(KWaylandServer::DataControlSourceV1Interface *dataSource);
51 
52 private:
53  friend class DataControlDeviceManagerV1InterfacePrivate;
54  explicit DataControlDeviceV1Interface(SeatInterface *seat, wl_resource *resource);
55 
57 };
58 
59 }
60 
The AbstractDataSource class abstracts the data that can be transferred to another client...
Represents a Seat on the Wayland Display.
The DataControlDeviceV1Interface extensions allows clients to manage seat&#39;s current selection...
The DataControlSourceV1Interface class represents the source side in a data transfer.
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sat Oct 16 2021 23:10:14 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.