KWin
Loading...
Searching...
No Matches
xwaylandkeyboardgrab_v1.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2022 David Redondo <kde@david-redondo.de>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#pragma once
8
9#include "kwin_export.h"
10
11#include <QObject>
12
13#include <memory>
14
15struct wl_resource;
16
17namespace KWin
18{
19
20class Display;
21class SeatInterface;
22class SurfaceInterface;
23class XWaylandKeyboardGrabV1InterfacePrivate;
24class XWaylandKeyboardGrabManagerV1InterfacePrivate;
25
26class KWIN_EXPORT XWaylandKeyboardGrabManagerV1Interface : public QObject
27{
28 Q_OBJECT
29public:
30 explicit XWaylandKeyboardGrabManagerV1Interface(Display *display, QObject *parent = nullptr);
32 bool hasGrab(SurfaceInterface *surface, SeatInterface *seat) const;
33
34private:
36 std::unique_ptr<XWaylandKeyboardGrabManagerV1InterfacePrivate> d;
37};
38
39class KWIN_EXPORT XWaylandKeyboardGrabV1Interface : public QObject
40{
41 Q_OBJECT
42public:
44
45private:
47 XWaylandKeyboardGrabV1Interface(wl_resource *resource);
48 std::unique_ptr<XWaylandKeyboardGrabV1InterfacePrivate> d;
49};
50
51}
Class holding the Wayland server display loop.
Definition display.h:34
Represents a Seat on the Wayland Display.
Definition seat.h:134
Resource representing a wl_surface.
Definition surface.h:80
struct _XDisplay Display