This repository was archived by the owner on Feb 25, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6k
Notify Win32FlutterWindow of cursor updates #23795
Merged
cbracken
merged 1 commit into
flutter:master
from
cbracken:windows-ime-cursor-rect-updates
Jan 23, 2021
Merged
Notify Win32FlutterWindow of cursor updates #23795
cbracken
merged 1 commit into
flutter:master
from
cbracken:windows-ime-cursor-rect-updates
Jan 23, 2021
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat. Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
This was referenced Jan 20, 2021
cbracken
commented
Jan 20, 2021
stuartmorgan-g
suggested changes
Jan 21, 2021
cbracken
commented
Jan 21, 2021
Member
Author
|
@stuartmorgan Ready for round 2. PTAL. |
9 tasks
stuartmorgan-g
approved these changes
Jan 22, 2021
Contributor
stuartmorgan-g
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with simple unit tests added.
During multi-step text input composing, such as with Chinese, Japanese, and Korean text input, the framework sends embedders cursor rect updates in the form of two messages: * TextInput.setMarkedTextRect: notifies the embedder the size and position of the composing text rect (or cursor when not composing) in local coordinates. * TextInput.setEditableSizeAndTransform: notifies the embedder of the size of the EditableText and 4x4 transform matrix from local to PipelineOwner.rootNode coordinates. On receipt of either message, we cache a local copy on the TextInputPlugin and notify the Win32FlutterWindow of the updated cursor rect. In a followup patch, we update Win32FlutterWindow to implement the Win32 input manager (IMM) calls required to position the IME candidates window while editing.
9 tasks
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Jan 25, 2021
zanderso
pushed a commit
to flutter/flutter
that referenced
this pull request
Jan 25, 2021
* 63b3440 Roll Fuchsia Linux SDK from mODEe2CNk... to edqShE0QE... (flutter/engine#23873) * f0e25c5 Roll Skia from 3193ff271628 to 2a4c0fbdca1a (3 revisions) (flutter/engine#23875) * 492759e Roll Dart SDK from 82b4c77fb17f to 748993c3997a (1 revision) (flutter/engine#23874) * 8671aef Notify Win32FlutterWindow of cursor updates (flutter/engine#23795) * c8620c3 Implement delayed key event synthesis for Windows (flutter/engine#23524) * ebbf0df Roll Skia from 2a4c0fbdca1a to 8a42b09c162e (9 revisions) (flutter/engine#23878) * bb00cb6 Roll Fuchsia Linux Toolchain from IJxh_9dNS... to 8LaTdqf7w... (flutter/engine#23876) * f77fea2 Roll Dart SDK from 748993c3997a to 2ddf810f71f6 (1 revision) (flutter/engine#23881) * dc22ede Roll Skia from 8a42b09c162e to 9702fc6f3852 (1 revision) (flutter/engine#23882) * 1f30e56 Roll Fuchsia Mac SDK from tuJCioUf3... to 9Lh_vPIXU... (flutter/engine#23883) * 443bf5c Roll Fuchsia Linux SDK from edqShE0QE... to uMOnDLfvl... (flutter/engine#23886) * a152470 Roll Fuchsia Mac SDK from 9Lh_vPIXU... to PsYsfVNbW... (flutter/engine#23888) * 221259b Roll Skia from 9702fc6f3852 to 07c5f52c947d (2 revisions) (flutter/engine#23890) * 381d8bd Roll Skia from 07c5f52c947d to 8d29ab630996 (1 revision) (flutter/engine#23892) * 397274f Roll Skia from 8d29ab630996 to d396cd50ff15 (1 revision) (flutter/engine#23893) * a5c305e push methods return layers with correct class names (flutter/engine#23542) * 4e87f60 Read loading unit mapping from AndroidManifest instead of strings (flutter/engine#23868) * d3a1acb Roll Fuchsia Linux SDK from uMOnDLfvl... to VYUnZ3Tbh... (flutter/engine#23894) * 3d966fa Roll Fuchsia Mac SDK from PsYsfVNbW... to 6swTf93jz... (flutter/engine#23897) * cae9130 Roll Skia from d396cd50ff15 to 5bbf72757349 (2 revisions) (flutter/engine#23898) * f3c5687 Roll Skia from 5bbf72757349 to 069e484cc3b9 (2 revisions) (flutter/engine#23900) * 9365230 Add support for IME-based text input on Windows (flutter/engine#23853) * cad597f Roll Fuchsia Linux SDK from VYUnZ3Tbh... to mrFdelzNr... (flutter/engine#23903) * 4557989 Roll Fuchsia Mac SDK from 6swTf93jz... to 7LGbVIHUD... (flutter/engine#23904)
hjfreyer
pushed a commit
to hjfreyer/engine
that referenced
this pull request
Mar 22, 2021
During multi-step text input composing, such as with Chinese, Japanese, and Korean text input, the framework sends embedders cursor rect updates in the form of two messages: * TextInput.setMarkedTextRect: notifies the embedder the size and position of the composing text rect (or cursor when not composing) in local coordinates. * TextInput.setEditableSizeAndTransform: notifies the embedder of the size of the EditableText and 4x4 transform matrix from local to PipelineOwner.rootNode coordinates. On receipt of either message, we cache a local copy on the TextInputPlugin and notify the Win32FlutterWindow of the updated cursor rect. In a followup patch, we update Win32FlutterWindow to implement the Win32 input manager (IMM) calls required to position the IME candidates window while editing.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
During multi-step text input composing, such as with Chinese, Japanese,
and Korean text input, the framework sends embedders cursor rect updates
in the form of two messages:
position of the composing text rect (or cursor when not composing) in
local coordinates.
size of the EditableText and 4x4 transform matrix from local to
PipelineOwner.rootNode coordinates.
On receipt of either message, we cache a local copy on the
TextInputPlugin and notify the Win32FlutterWindow of the updated cursor
rect. In a followup patch, we update Win32FlutterWindow to implement the
Win32 input manager (IMM) calls required to position the IME candidates
window while editing.
This is one half of the Windows CJK IME support. There are two sides to this:
they meet in the middle at the
// TODOin this patch, which is used to set theIME candidate window position.
Issues
This is one in a series of patches addressing flutter/flutter#65574: Full IME support for Windows.
Pre-launch Checklist
writing and running engine tests.
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.