summaryrefslogtreecommitdiffstats
path: root/widget
diff options
context:
space:
mode:
Diffstat (limited to 'widget')
-rw-r--r--widget/src/text_editor.rs12
-rw-r--r--widget/src/text_input.rs3
2 files changed, 10 insertions, 5 deletions
diff --git a/widget/src/text_editor.rs b/widget/src/text_editor.rs
index e685256b..df42d601 100644
--- a/widget/src/text_editor.rs
+++ b/widget/src/text_editor.rs
@@ -753,14 +753,18 @@ where
}
Update::InputMethod(update) => match update {
Ime::Toggle(is_open) => {
- state.preedit =
- is_open.then(input_method::Preedit::new);
+ state.preedit = is_open.then(|| {
+ input_method::Preedit::new(self.text_size)
+ });
shell.request_redraw();
}
Ime::Preedit { content, selection } => {
- state.preedit =
- Some(input_method::Preedit { content, selection });
+ state.preedit = Some(input_method::Preedit {
+ content,
+ selection,
+ text_size: self.text_size,
+ });
shell.request_redraw();
}
diff --git a/widget/src/text_input.rs b/widget/src/text_input.rs
index 7be5bbd9..de957e14 100644
--- a/widget/src/text_input.rs
+++ b/widget/src/text_input.rs
@@ -1262,7 +1262,7 @@ where
state.is_ime_open =
matches!(event, input_method::Event::Opened)
- .then(input_method::Preedit::new);
+ .then(|| input_method::Preedit::new(self.size));
shell.request_redraw();
}
@@ -1273,6 +1273,7 @@ where
state.is_ime_open = Some(input_method::Preedit {
content: content.to_owned(),
selection: selection.clone(),
+ text_size: self.size,
});
shell.request_redraw();