KWin
Loading...
Searching...
No Matches
x11_standalone_edge.h
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2011 Arthur Arlt <a.arlt@stud.uni-heidelberg.de>
6 SPDX-FileCopyrightText: 2013 Martin Gräßlin <mgraesslin@kde.org>
7
8 Since the functionality provided in this class has been moved from
9 class Workspace, it is not clear who exactly has written the code.
10 The list below contains the copyright holders of the class Workspace.
11
12 SPDX-FileCopyrightText: 1999, 2000 Matthias Ettrich <ettrich@kde.org>
13 SPDX-FileCopyrightText: 2003 Lubos Lunak <l.lunak@kde.org>
14 SPDX-FileCopyrightText: 2009 Lucas Murray <lmurray@undefinedfire.com>
15
16 SPDX-License-Identifier: GPL-2.0-or-later
17*/
18#pragma once
19#include "screenedge.h"
20#include "utils/xcbutils.h"
21
22namespace KWin
23{
24
25class WindowBasedEdge : public Edge
26{
27 Q_OBJECT
28public:
29 explicit WindowBasedEdge(ScreenEdges *parent);
30 ~WindowBasedEdge() override;
31
32 quint32 window() const override;
37 quint32 approachWindow() const override;
38
39protected:
40 void doGeometryUpdate() override;
41 void doActivate() override;
42 void doDeactivate() override;
43 void doStartApproaching() override;
44 void doStopApproaching() override;
45 void doUpdateBlocking() override;
46
47private:
48 void createWindow();
49 void createApproachWindow();
50 Xcb::Window m_window;
51 Xcb::Window m_approachWindow;
52 QMetaObject::Connection m_cursorPollingConnection;
53};
54
55inline quint32 WindowBasedEdge::window() const
56{
57 return m_window;
58}
59
60inline quint32 WindowBasedEdge::approachWindow() const
61{
62 return m_approachWindow;
63}
64
65}
Class for controlling screen edges.
Definition screenedge.h:222
void doStartApproaching() override
quint32 approachWindow() const override
WindowBasedEdge(ScreenEdges *parent)
quint32 window() const override