Use generic Content in Text to avoid reallocation in fill_text

This commit is contained in:
Héctor Ramón Jiménez 2024-04-01 11:30:01 +02:00
parent c7a4fad4a2
commit 6216c513d5
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
10 changed files with 22 additions and 20 deletions

View file

@ -163,13 +163,13 @@ where
fn fill_text(
&mut self,
text: Text<'_, Self::Font>,
text: Text,
position: Point,
color: Color,
clip_bounds: Rectangle,
) {
self.primitives.push(Primitive::Text {
content: text.content.to_string(),
content: text.content,
bounds: Rectangle::new(position, text.bounds),
size: text.size,
line_height: text.line_height,

View file

@ -61,7 +61,7 @@ impl Paragraph {
impl core::text::Paragraph for Paragraph {
type Font = Font;
fn with_text(text: Text<'_, Font>) -> Self {
fn with_text(text: Text<&str>) -> Self {
log::trace!("Allocating paragraph: {}", text.content);
let mut font_system =
@ -146,7 +146,7 @@ impl core::text::Paragraph for Paragraph {
}
}
fn compare(&self, text: Text<'_, Font>) -> core::text::Difference {
fn compare(&self, text: Text<&str>) -> core::text::Difference {
let font_system = text::font_system().read().expect("Read font system");
let paragraph = self.internal();
let metrics = paragraph.buffer.metrics();