File indexing completed on 2024-05-12 05:32:36
0001 /* 0002 KWin - the KDE window manager 0003 This file is part of the KDE project. 0004 0005 SPDX-FileCopyrightText: 2019 Roman Gilg <subdiff@gmail.com> 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 #pragma once 0010 0011 #include "effect/globals.h" 0012 0013 #include <QObject> 0014 0015 class QProcess; 0016 0017 namespace KWin 0018 { 0019 class AbstractDropHandler; 0020 class Window; 0021 0022 namespace Xwl 0023 { 0024 enum class DragEventReply { 0025 // event should be ignored by the filter 0026 Ignore, 0027 // event is filtered out 0028 Take, 0029 // event should be handled as a Wayland native one 0030 Wayland, 0031 }; 0032 } // namespace Xwl 0033 0034 class KWIN_EXPORT XwaylandInterface 0035 { 0036 public: 0037 virtual Xwl::DragEventReply dragMoveFilter(Window *target) = 0; 0038 virtual AbstractDropHandler *xwlDropHandler() = 0; 0039 0040 protected: 0041 explicit XwaylandInterface() = default; 0042 virtual ~XwaylandInterface() = default; 0043 0044 private: 0045 Q_DISABLE_COPY(XwaylandInterface) 0046 }; 0047 0048 } // namespace KWin