File indexing completed on 2024-05-12 05:32:26
0001 /* 0002 SPDX-FileCopyrightText: 2016 Martin Gräßlin <mgraesslin@kde.org> 0003 SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0006 */ 0007 0008 #pragma once 0009 0010 #include "kwin_export.h" 0011 0012 #include <QObject> 0013 #include <memory> 0014 0015 namespace KWin 0016 { 0017 class Display; 0018 class RelativePointerManagerV1InterfacePrivate; 0019 0020 /** 0021 * Manager object to create relative pointer interfaces. 0022 * 0023 * Once created the interaction happens through the SeatInterface class 0024 * which automatically delegates relative motion events to the created relative pointer 0025 * interfaces. 0026 */ 0027 class KWIN_EXPORT RelativePointerManagerV1Interface : public QObject 0028 { 0029 Q_OBJECT 0030 0031 public: 0032 explicit RelativePointerManagerV1Interface(Display *display, QObject *parent = nullptr); 0033 ~RelativePointerManagerV1Interface() override; 0034 0035 private: 0036 std::unique_ptr<RelativePointerManagerV1InterfacePrivate> d; 0037 }; 0038 0039 } // namespace KWin