KWin
Loading...
Searching...
No Matches
screenedge_v1.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2023 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
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 "effect/globals.h"
10
11#include <QObject>
12#include <memory>
13
14struct wl_resource;
15
16namespace KWin
17{
18
19class Display;
20class ScreenEdgeManagerV1InterfacePrivate;
21class AutoHideScreenEdgeV1Interface;
22class AutoHideScreenEdgeV1InterfacePrivate;
23class SurfaceInterface;
24
25class KWIN_EXPORT ScreenEdgeManagerV1Interface : public QObject
26{
27 Q_OBJECT
28
29public:
30 explicit ScreenEdgeManagerV1Interface(Display *display, QObject *parent = nullptr);
32
33Q_SIGNALS:
35
36private:
37 std::unique_ptr<ScreenEdgeManagerV1InterfacePrivate> d;
38};
39
40class KWIN_EXPORT AutoHideScreenEdgeV1Interface : public QObject
41{
42 Q_OBJECT
43
44public:
45 AutoHideScreenEdgeV1Interface(SurfaceInterface *surface, ElectricBorder border, wl_resource *resource);
47
48 SurfaceInterface *surface() const;
49 ElectricBorder border() const;
50
51Q_SIGNALS:
54
55private:
56 std::unique_ptr<AutoHideScreenEdgeV1InterfacePrivate> d;
57};
58
59} // namespace KWin
Class holding the Wayland server display loop.
Definition display.h:34
void edgeRequested(AutoHideScreenEdgeV1Interface *edge)
Resource representing a wl_surface.
Definition surface.h:80
ElectricBorder
Definition globals.h:60
struct _XDisplay Display