KWin
Loading...
Searching...
No Matches
layershellv1window.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include "waylandwindow.h"
10
11namespace KWin
12{
13
14class AutoHideScreenEdgeV1Interface;
15class LayerSurfaceV1Interface;
16class Output;
17class LayerShellV1Integration;
18
20{
21 Q_OBJECT
22
23public:
26 LayerShellV1Integration *integration);
27
29 Output *desiredOutput() const;
30
31 NET::WindowType windowType() const override;
32 bool isPlaceable() const override;
33 bool isCloseable() const override;
34 bool isMovable() const override;
35 bool isMovableAcrossScreens() const override;
36 bool isResizable() const override;
37 bool takeFocus() override;
38 bool wantsInput() const override;
39 bool dockWantsInput() const override;
40 StrutRect strutRect(StrutArea area) const override;
41 bool hasStrut() const override;
42 void destroyWindow() override;
43 void closeWindow() override;
44 void setVirtualKeyboardGeometry(const QRectF &geo) override;
45 void showOnScreenEdge() override;
46
48
49protected:
50 Layer belongsToLayer() const override;
51 bool acceptsFocus() const override;
52 void moveResizeInternal(const QRectF &rect, MoveResizeMode mode) override;
53
54private:
55 void handleSizeChanged();
56 void handleUnmapped();
57 void handleCommitted();
58 void handleAcceptsFocusChanged();
59 void handleOutputEnabledChanged();
60 void scheduleRearrange();
61 void activateScreenEdge();
62 void deactivateScreenEdge();
63 void reserveScreenEdge();
64 void unreserveScreenEdge();
65
66 Output *m_desiredOutput;
67 LayerShellV1Integration *m_integration;
68 LayerSurfaceV1Interface *m_shellSurface;
69 QPointer<AutoHideScreenEdgeV1Interface> m_screenEdge;
70 bool m_screenEdgeActive = false;
71 NET::WindowType m_windowType;
72};
73
74} // namespace KWin
bool acceptsFocus() const override
bool wantsInput() const override
void installAutoHideScreenEdgeV1(AutoHideScreenEdgeV1Interface *edge)
LayerShellV1Window(LayerSurfaceV1Interface *shellSurface, Output *output, LayerShellV1Integration *integration)
bool dockWantsInput() const override
bool isPlaceable() const override
void setVirtualKeyboardGeometry(const QRectF &geo) override
bool isCloseable() const override
LayerSurfaceV1Interface * shellSurface() const
StrutRect strutRect(StrutArea area) const override
bool isResizable() const override
Layer belongsToLayer() const override
void moveResizeInternal(const QRectF &rect, MoveResizeMode mode) override
bool isMovableAcrossScreens() const override
bool isMovable() const override
NET::WindowType windowType() const override
bool hasStrut() const override
QRectF rect
Definition window.h:113
KWin::Output * output
Definition window.h:111
StrutArea
Definition common.h:35
Layer
Definition globals.h:162