summaryrefslogtreecommitdiffstats
path: root/widget
diff options
context:
space:
mode:
authorLibravatar rhysd <lin90162@yahoo.co.jp>2025-02-06 01:50:25 +0900
committerLibravatar rhysd <lin90162@yahoo.co.jp>2025-02-06 02:01:52 +0900
commitfcdf53afdee9cd12bf2e01c5f6e572859b9a3f96 (patch)
tree0f28b34b42e88db0dc379e3c3b8b6deb88192df2 /widget
parent4bbb5cbc1f8b2a0ee8e09be18071368df3ba5bbd (diff)
downloadiced-fcdf53afdee9cd12bf2e01c5f6e572859b9a3f96.tar.gz
iced-fcdf53afdee9cd12bf2e01c5f6e572859b9a3f96.tar.bz2
iced-fcdf53afdee9cd12bf2e01c5f6e572859b9a3f96.zip
Set correct text size for text in preedit window
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();