KWin
Loading...
Searching...
No Matches
inputpanelv1window.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: 2020 Aleix Pol Gonzalez <aleixpol@kde.org>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9
10#pragma once
11
13#include "waylandwindow.h"
14#include <QPointer>
15
16namespace KWin
17{
18class Output;
19
21{
22 Q_OBJECT
23public:
25
26 enum class Mode {
27 None,
29 Overlay,
30 };
31 Q_ENUM(Mode)
32
33 void destroyWindow() override;
34 bool isPlaceable() const override
35 {
36 return false;
37 }
38 bool isCloseable() const override
39 {
40 return false;
41 }
42 bool isResizable() const override
43 {
44 return false;
45 }
46 bool isMovable() const override
47 {
48 return false;
49 }
50 bool isMovableAcrossScreens() const override
51 {
52 return false;
53 }
54 bool acceptsFocus() const override
55 {
56 return false;
57 }
58 void closeWindow() override
59 {
60 }
61 bool takeFocus() override
62 {
63 return false;
64 }
65 bool wantsInput() const override
66 {
67 return false;
68 }
69 bool isInputMethod() const override
70 {
71 return true;
72 }
73 NET::WindowType windowType() const override;
74 QRectF frameRectToBufferRect(const QRectF &rect) const override;
75
76 Mode mode() const
77 {
78 return m_mode;
79 }
80 void allow();
81 void show();
82 void hide();
83
84protected:
85 void moveResizeInternal(const QRectF &rect, MoveResizeMode mode) override;
86
87private:
89 void showOverlayPanel();
90 void reposition();
91 void handleMapped();
92 void maybeShow();
93
94 QRectF m_windowGeometry;
95 Mode m_mode = Mode::None;
96 bool m_allowed = false;
97 bool m_virtualKeyboardShouldBeShown = false;
98 const QPointer<InputPanelSurfaceV1Interface> m_panelSurface;
99};
100
101}
bool acceptsFocus() const override
NET::WindowType windowType() const override
bool isCloseable() const override
bool isMovableAcrossScreens() const override
bool wantsInput() const override
bool isMovable() const override
bool isInputMethod() const override
InputPanelV1Window(InputPanelSurfaceV1Interface *panelSurface)
bool isResizable() const override
void moveResizeInternal(const QRectF &rect, MoveResizeMode mode) override
QRectF frameRectToBufferRect(const QRectF &rect) const override
bool isPlaceable() const override
QRectF rect
Definition window.h:113
KWin::Output * output
Definition window.h:111