4#ifndef QWINDOWSINPUTCONTEXT_H
5#define QWINDOWSINPUTCONTEXT_H
7#include <QtCore/qt_windows.h>
9#include <QtCore/qlocale.h>
10#include <QtCore/qpointer.h>
11#include <qpa/qplatforminputcontext.h>
23 struct CompositionContext
28 bool isComposing =
false;
40 void reset()
override;
41 void update(Qt::InputMethodQueries)
override;
53 inline bool isComposing()
const {
return m_compositionContext.isComposing; }
61 void cursorRectChanged();
64 void initContext(HWND hwnd,
QObject *focusObject);
66 void startContextComposition();
67 void endContextComposition();
69 HWND getVirtualKeyboardWindowHandle()
const;
71 const DWORD m_WM_MSIME_MOUSE;
72 bool m_caretCreated =
false;
73 HBITMAP m_transparentBitmap;
74 CompositionContext m_compositionContext;
75 bool m_endCompositionRecursionGuard =
false;
The QPlatformInputContext class abstracts the input method dependent data and composing state.
\inmodule QtCore\reentrant
\macro QT_RESTRICTED_CAST_FROM_ASCII
Windows Input context implementation.
QLocale locale() const override
~QWindowsInputContext() override
QRectF keyboardRect() const override
This function can be reimplemented to return virtual keyboard rectangle in currently active window co...
void update(Qt::InputMethodQueries) override
Moves the candidate window along with microfocus of the focus object.
bool composition(HWND hwnd, LPARAM lParam)
Notify focus object about markup or final text.
bool hasCapability(Capability capability) const override
Returns whether the implementation supports capability.
bool startComposition(HWND hwnd)
void invokeAction(QInputMethod::Action, int cursorPosition) override
Called when the word currently being composed in the input item is tapped by the user.
void handleInputLanguageChanged(WPARAM wparam, LPARAM lparam)
void showInputPanel() override
Request to show input panel.
static void setWindowsImeEnabled(QWindowsWindow *platformWindow, bool enabled)
bool isInputPanelVisible() const override
Returns input panel visibility status.
void setFocusObject(QObject *object) override
This virtual method gets called to notify updated focus to object.
bool handleIME_Request(WPARAM wparam, LPARAM lparam, LRESULT *result)
int reconvertString(RECONVERTSTRING *reconv)
Determines the string for reconversion with selection.
bool endComposition(HWND hwnd)
void hideInputPanel() override
Request to hide input panel.
void reset() override
Cancels a composition.
Combined button and popup list for selecting options.
GLenum GLenum GLsizei const GLuint GLboolean enabled