File indexing completed on 2022-11-29 20:02:27

0001 /********************************************************************
0002  KSld - the KDE Screenlocker Daemon
0003  This file is part of the KDE project.
0004 
0005  Copyright (C) 2015 Bhushan Shah <bhush94@gmail.com>
0006 
0007 This program is free software; you can redistribute it and/or modify
0008 it under the terms of the GNU General Public License as published by
0009 the Free Software Foundation; either version 2 of the License, or
0010 (at your option) any later version.
0011 
0012 This program is distributed in the hope that it will be useful,
0013 but WITHOUT ANY WARRANTY; without even the implied warranty of
0014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0015 GNU General Public License for more details.
0016 
0017 You should have received a copy of the GNU General Public License
0018 along with this program.  If not, see <http://www.gnu.org/licenses/>.
0019 *********************************************************************/
0020 
0021 #ifndef WAYLANDLOCKER_H
0022 #define WAYLANDLOCKER_H
0023 
0024 #include "abstractlocker.h"
0025 
0026 namespace KWayland
0027 {
0028 namespace Server
0029 {
0030 class Display;
0031 }
0032 }
0033 
0034 namespace ScreenLocker
0035 {
0036 class WaylandLocker : public AbstractLocker
0037 {
0038     Q_OBJECT
0039 
0040 public:
0041     WaylandLocker(QObject *parent);
0042     ~WaylandLocker() override;
0043 
0044     void showLockWindow() override;
0045     void hideLockWindow() override;
0046 
0047     void addAllowedWindow(quint32 window) override;
0048 
0049 private:
0050     void stayOnTop() override;
0051     void updateGeometryOfBackground();
0052 };
0053 
0054 }
0055 
0056 #endif // WAYLANDLOCKER_H