KWin
Loading...
Searching...
No Matches
touch.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2015 Martin Gräßlin <mgraesslin@kde.org>
3 SPDX-FileCopyrightText: 2020 Adrien Faveraux <ad1rie3@hotmail.fr>
4 SPDX-FileCopyrightText: 2021 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
5
6 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7*/
8#pragma once
9
10#include "kwin_export.h"
11
12#include <QObject>
13#include <memory>
14
15namespace KWin
16{
17class SeatInterface;
18class SurfaceInterface;
19class TouchInterfacePrivate;
20
25class KWIN_EXPORT TouchInterface : public QObject
26{
27 Q_OBJECT
28
29public:
30 ~TouchInterface() override;
31
32 SurfaceInterface *focusedSurface() const;
33
34 void sendDown(qint32 id, quint32 serial, const QPointF &localPos, SurfaceInterface *surface);
35 void sendUp(qint32 id, quint32 serial);
36 void sendFrame();
37 void sendCancel();
38 void sendMotion(qint32 id, const QPointF &localPos);
39
40private:
41 explicit TouchInterface(SeatInterface *seat);
42 std::unique_ptr<TouchInterfacePrivate> d;
43
46};
47
48} // namespace KWin
Represents a Seat on the Wayland Display.
Definition seat.h:134
Resource representing a wl_surface.
Definition surface.h:80