The handlers for the TextInput.setMarkedTextRect and TextInput.setEditableSizeAndTransform in our win32 embedding deal solely in Flutter root view co-ordinates. These need to be converted to window co-ordinates before being passed to the TextInputManager, which deals in Win32 window co-ordinates.
The IME candidates window for CJK input is currently positioned incorrectly at display scales other than 100% on Windows.
To reproduce:
- Open the Display Settings in the Windows system settings.
- In the Scale and layout section, select a value other than 100% from the Change the size of text, apps and other items drop-down.
- Launch a Flutter app with a text field.
- Switch to Japanese input and enter hiragana text.
Expected result: candidates drop-down appears under the cursor position.
Actual result: candidates drop-down appears at a different, unscaled, position.
The handlers for the
TextInput.setMarkedTextRectandTextInput.setEditableSizeAndTransformin our win32 embedding deal solely in Flutter root view co-ordinates. These need to be converted to window co-ordinates before being passed to the TextInputManager, which deals in Win32 window co-ordinates.The IME candidates window for CJK input is currently positioned incorrectly at display scales other than 100% on Windows.
To reproduce:
Expected result: candidates drop-down appears under the cursor position.
Actual result: candidates drop-down appears at a different, unscaled, position.