Merge pull request #2918 from dcz-self/master

Report cursor size to input method
This commit is contained in:
Héctor 2025-11-25 22:51:48 +01:00 committed by GitHub
commit b89c412496
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 36 additions and 25 deletions

View file

@ -785,10 +785,10 @@ where
);
if !had_input_method
&& let InputMethod::Enabled { position, .. } =
&& let InputMethod::Enabled { cursor, .. } =
shell.input_method_mut()
{
*position = *position - translation;
*cursor = *cursor - translation;
}
};

View file

@ -365,11 +365,13 @@ where
self.text_size.unwrap_or_else(|| renderer.default_size()),
);
let position =
cursor + translation + Vector::new(0.0, f32::from(line_height));
let position = cursor + translation;
InputMethod::Enabled {
position,
cursor: Rectangle::new(
position,
Size::new(1.0, f32::from(line_height)),
),
purpose: input_method::Purpose::Normal,
preedit: state.preedit.as_ref().map(input_method::Preedit::as_ref),
}

View file

@ -428,7 +428,10 @@ where
+ alignment_offset;
InputMethod::Enabled {
position: Point::new(x, text_bounds.y + text_bounds.height),
cursor: Rectangle::new(
Point::new(x, text_bounds.y),
Size::new(1.0, text_bounds.height),
),
purpose: if self.is_secure {
input_method::Purpose::Secure
} else {