Use generic Content in Text to avoid reallocation in fill_text
This commit is contained in:
parent
c7a4fad4a2
commit
6216c513d5
10 changed files with 22 additions and 20 deletions
|
|
@ -340,7 +340,7 @@ where
|
|||
if self.is_checked {
|
||||
renderer.fill_text(
|
||||
text::Text {
|
||||
content: &code_point.to_string(),
|
||||
content: code_point.to_string(),
|
||||
font: *font,
|
||||
size,
|
||||
line_height: *line_height,
|
||||
|
|
|
|||
|
|
@ -526,7 +526,7 @@ where
|
|||
|
||||
renderer.fill_text(
|
||||
Text {
|
||||
content: &option.to_string(),
|
||||
content: option.to_string(),
|
||||
bounds: Size::new(f32::INFINITY, bounds.height),
|
||||
size: text_size,
|
||||
line_height: self.text_line_height,
|
||||
|
|
|
|||
|
|
@ -479,7 +479,7 @@ where
|
|||
|
||||
renderer.fill_text(
|
||||
Text {
|
||||
content: &code_point.to_string(),
|
||||
content: code_point.to_string(),
|
||||
size,
|
||||
line_height,
|
||||
font,
|
||||
|
|
@ -502,7 +502,7 @@ where
|
|||
|
||||
let label = selected.map(ToString::to_string);
|
||||
|
||||
if let Some(label) = label.as_deref().or(self.placeholder.as_deref()) {
|
||||
if let Some(label) = label.or_else(|| self.placeholder.clone()) {
|
||||
let text_size =
|
||||
self.text_size.unwrap_or_else(|| renderer.default_size());
|
||||
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue