1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#ifndef QWAYLANDTEXTINPUTV3_H
5#define QWAYLANDTEXTINPUTV3_H
6
7#include <QtWaylandCompositor/QWaylandCompositorExtension>
8
9struct wl_client;
10
11QT_BEGIN_NAMESPACE
12
13class QWaylandTextInputV3Private;
14
15class QInputMethodEvent;
16class QKeyEvent;
17class QWaylandSurface;
18
19class QWaylandTextInputV3 : public QWaylandCompositorExtensionTemplate<QWaylandTextInputV3>
20{
21 Q_OBJECT
22 Q_DECLARE_PRIVATE(QWaylandTextInputV3)
23public:
24 explicit QWaylandTextInputV3(QWaylandObject *container, QWaylandCompositor *compositor);
25 ~QWaylandTextInputV3() override;
26
27 void sendInputMethodEvent(QInputMethodEvent *event);
28 void sendKeyEvent(QKeyEvent *event);
29
30 QVariant inputMethodQuery(Qt::InputMethodQuery property, QVariant argument) const;
31
32 QWaylandSurface *focus() const;
33 void setFocus(QWaylandSurface *surface);
34
35 bool isSurfaceEnabled(QWaylandSurface *surface) const;
36
37 void add(::wl_client *client, uint32_t id, int version);
38 static const struct wl_interface *interface();
39 static QByteArray interfaceName();
40
41Q_SIGNALS:
42 void updateInputMethod(Qt::InputMethodQueries queries);
43 void surfaceEnabled(QWaylandSurface *surface);
44 void surfaceDisabled(QWaylandSurface *surface);
45
46private:
47 void focusSurfaceDestroyed(void *);
48};
49
50QT_END_NAMESPACE
51
52#endif // QWAYLANDTEXTINPUTV3_H
53

Provided by KDAB

Privacy Policy
Start learning QML with our Intro Training
Find out more

source code of qtwayland/src/compositor/extensions/qwaylandtextinputv3.h