1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
/*
* SPDX-FileCopyrightText: 2015 Marco Martin <mart@kde.org>
*
* SPDX-License-Identifier: LGPL-2.0-or-later
*/
#ifndef FULLSCREENOVERLAY_H
#define FULLSCREENOVERLAY_H
#include <QQuickWindow>
namespace KWayland
{
namespace Client
{
class PlasmaShell;
class PlasmaShellSurface;
class Surface;
}
}
class FullScreenOverlay : public QQuickWindow
{
Q_OBJECT
Q_PROPERTY(bool active READ isActive NOTIFY activeChanged)
Q_PROPERTY(bool acceptsFocus MEMBER m_acceptsFocus NOTIFY acceptsFocusChanged)
public:
explicit FullScreenOverlay(QQuickWindow *parent = nullptr);
~FullScreenOverlay() override;
Q_SIGNALS:
void activeChanged(); // clazy:exclude=overridden-signal
void acceptsFocusChanged();
protected:
bool event(QEvent *event) override;
private:
void initWayland();
KWayland::Client::PlasmaShellSurface *m_plasmaShellSurface = nullptr;
KWayland::Client::Surface *m_surface = nullptr;
KWayland::Client::PlasmaShell *m_plasmaShellInterface = nullptr;
bool m_acceptsFocus = true;
};
#endif
|