diff options
author | 2024-04-01 11:30:01 +0200 | |
---|---|---|
committer | 2024-04-01 11:30:01 +0200 | |
commit | 6216c513d5e5853bf1d43342094e91a74981f4f2 (patch) | |
tree | a11d3e6533485c5811f0f42d4cf5518c30626bdf /widget/src/text_input.rs | |
parent | c7a4fad4a24dec8536f450d447a9852846f2d711 (diff) | |
download | iced-6216c513d5e5853bf1d43342094e91a74981f4f2.tar.gz iced-6216c513d5e5853bf1d43342094e91a74981f4f2.tar.bz2 iced-6216c513d5e5853bf1d43342094e91a74981f4f2.zip |
Use generic `Content` in `Text` to avoid reallocation in `fill_text`
Diffstat (limited to 'widget/src/text_input.rs')
-rw-r--r-- | widget/src/text_input.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/widget/src/text_input.rs b/widget/src/text_input.rs index dafe2fca..8cfb0408 100644 --- a/widget/src/text_input.rs +++ b/widget/src/text_input.rs @@ -232,7 +232,7 @@ where let placeholder_text = Text { font, line_height: self.line_height, - content: &self.placeholder, + content: self.placeholder.as_str(), bounds: Size::new(f32::INFINITY, text_bounds.height), size: text_size, horizontal_alignment: alignment::Horizontal::Left, @@ -251,9 +251,11 @@ where }); if let Some(icon) = &self.icon { + let mut content = [0; 4]; + let icon_text = Text { line_height: self.line_height, - content: &icon.code_point.to_string(), + content: icon.code_point.encode_utf8(&mut content) as &_, font: icon.font, size: icon.size.unwrap_or_else(|| renderer.default_size()), bounds: Size::new(f32::INFINITY, text_bounds.height), |