diff options
Diffstat (limited to 'src/compositor/extensions/qwaylandqttextinputmethod.h')
-rw-r--r-- | src/compositor/extensions/qwaylandqttextinputmethod.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/compositor/extensions/qwaylandqttextinputmethod.h b/src/compositor/extensions/qwaylandqttextinputmethod.h new file mode 100644 index 000000000..99f7cb4b2 --- /dev/null +++ b/src/compositor/extensions/qwaylandqttextinputmethod.h @@ -0,0 +1,55 @@ +// Copyright (C) 2020 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#ifndef QWAYLANDQTTEXTINPUTMETHOD_H +#define QWAYLANDQTTEXTINPUTMETHOD_H + +#include <QtWaylandCompositor/qwaylandcompositorextension.h> + +struct wl_client; + +QT_BEGIN_NAMESPACE + +class QWaylandSurface; +class QWaylandQtTextInputMethodPrivate; +class QInputMethodEvent; +class QKeyEvent; + +class QWaylandQtTextInputMethod : public QWaylandCompositorExtensionTemplate<QWaylandQtTextInputMethod> +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QWaylandQtTextInputMethod) +public: + explicit QWaylandQtTextInputMethod(QWaylandObject *container, QWaylandCompositor *compositor); + ~QWaylandQtTextInputMethod() override; + + QWaylandSurface *focusedSurface() const; + void setFocus(QWaylandSurface *surface); + + bool isSurfaceEnabled(QWaylandSurface *surface) const; + + void add(::wl_client *client, uint32_t id, int version); + + static const struct wl_interface *interface(); + static QByteArray interfaceName(); + + QVariant inputMethodQuery(Qt::InputMethodQuery property, QVariant argument) const; + void sendInputMethodEvent(QInputMethodEvent *event); + void sendKeyEvent(QKeyEvent *event); + +Q_SIGNALS: + void updateInputMethod(Qt::InputMethodQueries queries); + void surfaceEnabled(QWaylandSurface *surface); + void surfaceDisabled(QWaylandSurface *surface); + +private Q_SLOTS: + void sendVisibleChanged(); + void sendKeyboardRectangleChanged(); + void sendInputDirectionChanged(); + void sendLocaleChanged(); + void focusSurfaceDestroyed(); +}; + +QT_END_NAMESPACE + +#endif // QWAYLANDQTTEXTINPUTMETHOD_H |