summaryrefslogtreecommitdiffstats
path: root/widget/src/text_input.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-04-01 11:30:01 +0200
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-04-01 11:30:01 +0200
commit6216c513d5e5853bf1d43342094e91a74981f4f2 (patch)
treea11d3e6533485c5811f0f42d4cf5518c30626bdf /widget/src/text_input.rs
parentc7a4fad4a24dec8536f450d447a9852846f2d711 (diff)
downloadiced-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.rs6
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),