Skip to content

Commit

Permalink
Lower text::Renderer's Font bound from Copy to Clone
Browse files Browse the repository at this point in the history
  • Loading branch information
AlisCode committed Dec 10, 2021
1 parent 3f46763 commit a3e08ad
Show file tree
Hide file tree
Showing 8 changed files with 25 additions and 24 deletions.
2 changes: 1 addition & 1 deletion native/src/overlay/menu.rs
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ where
..bounds
},
size: f32::from(text_size),
font: self.font,
font: self.font.clone(),
color: if is_selected {
self.style.selected_text_color
} else {
Expand Down
2 changes: 1 addition & 1 deletion native/src/text.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ impl Hit {
/// A renderer capable of measuring and drawing [`Text`].
pub trait Renderer: crate::Renderer {
/// The font type used.
type Font: Default + Copy;
type Font: Default + Clone;

/// The icon font of the backend.
const ICON_FONT: Self::Font;
Expand Down
4 changes: 2 additions & 2 deletions native/src/widget/checkbox.rs
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ where
)
.push(
Text::new(&self.label)
.font(self.font)
.font(self.font.clone())
.width(self.width)
.size(self.text_size.unwrap_or(renderer.default_size())),
)
Expand Down Expand Up @@ -261,7 +261,7 @@ where
style,
label_layout,
&self.label,
self.font,
self.font.clone(),
self.text_size,
self.text_color.or(Some(custom_style.text_color)),
alignment::Horizontal::Left,
Expand Down
8 changes: 4 additions & 4 deletions native/src/widget/pick_list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -174,15 +174,15 @@ where
.pad(self.padding);

let text_size = self.text_size.unwrap_or(renderer.default_size());
let font = self.font;
let font = self.font.clone();

let max_width = match self.width {
Length::Shrink => {
let measure = |label: &str| -> u32 {
let (width, _) = renderer.measure(
label,
text_size,
font,
font.clone(),
Size::new(f32::INFINITY, f32::INFINITY),
);

Expand Down Expand Up @@ -397,7 +397,7 @@ where
size: f32::from(
self.text_size.unwrap_or(renderer.default_size()),
),
font: self.font,
font: self.font.clone(),
color: is_selected
.then(|| style.text_color)
.unwrap_or(style.placeholder_color),
Expand Down Expand Up @@ -427,7 +427,7 @@ where
)
.width(bounds.width.round() as u16)
.padding(self.padding)
.font(self.font)
.font(self.font.clone())
.style(self.style_sheet.menu());

if let Some(text_size) = self.text_size {
Expand Down
2 changes: 1 addition & 1 deletion native/src/widget/radio.rs
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ where
style,
label_layout,
&self.label,
self.font,
self.font.clone(),
self.text_size,
self.text_color,
alignment::Horizontal::Left,
Expand Down
6 changes: 3 additions & 3 deletions native/src/widget/text.rs
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ where
let bounds = limits.max();

let (width, height) =
renderer.measure(&self.content, size, self.font, bounds);
renderer.measure(&self.content, size, self.font.clone(), bounds);

let size = limits.resolve(Size::new(width, height));

Expand All @@ -144,7 +144,7 @@ where
style,
layout,
&self.content,
self.font,
self.font.clone(),
self.size,
self.color,
self.horizontal_alignment,
Expand Down Expand Up @@ -227,7 +227,7 @@ impl<Renderer: text::Renderer> Clone for Text<Renderer> {
content: self.content.clone(),
size: self.size,
color: self.color,
font: self.font,
font: self.font.clone(),
width: self.width,
height: self.height,
horizontal_alignment: self.horizontal_alignment,
Expand Down
21 changes: 11 additions & 10 deletions native/src/widget/text_input.rs
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ where
&value,
size,
position,
self.font,
self.font.clone(),
);

(
Expand Down Expand Up @@ -251,7 +251,7 @@ where
&value,
size,
left,
self.font,
self.font.clone(),
);

let (right_position, right_offset) =
Expand All @@ -261,7 +261,7 @@ where
&value,
size,
right,
self.font,
self.font.clone(),
);

let width = right_position - left_position;
Expand Down Expand Up @@ -300,7 +300,7 @@ where
&text
},
size,
self.font,
self.font.clone(),
);

let render = |renderer: &mut Renderer| {
Expand All @@ -319,7 +319,7 @@ where
} else {
self.style_sheet.value_color()
},
font: self.font,
font: self.font.clone(),
bounds: Rectangle {
y: text_bounds.center_y(),
width: f32::INFINITY,
Expand Down Expand Up @@ -414,7 +414,7 @@ where
find_cursor_position(
renderer,
text_layout.bounds(),
self.font,
self.font.clone(),
self.size,
&value,
&self.state,
Expand All @@ -434,7 +434,7 @@ where
let position = find_cursor_position(
renderer,
text_layout.bounds(),
self.font,
self.font.clone(),
self.size,
&self.value,
&self.state,
Expand Down Expand Up @@ -481,7 +481,7 @@ where
let position = find_cursor_position(
renderer,
text_layout.bounds(),
self.font,
self.font.clone(),
self.size,
&value,
&self.state,
Expand Down Expand Up @@ -962,13 +962,14 @@ where
{
let size = size.unwrap_or(renderer.default_size());

let offset = offset(renderer, text_bounds, font, size, &value, &state);
let offset =
offset(renderer, text_bounds, font.clone(), size, &value, &state);

renderer
.hit_test(
&value.to_string(),
size.into(),
font,
font.clone(),
Size::INFINITY,
Point::new(x + offset, text_bounds.height / 2.0),
true,
Expand Down
4 changes: 2 additions & 2 deletions native/src/widget/toggler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ where
row = row.push(
Text::new(label)
.horizontal_alignment(self.text_alignment)
.font(self.font)
.font(self.font.clone())
.width(self.width)
.size(self.text_size.unwrap_or(renderer.default_size())),
);
Expand Down Expand Up @@ -229,7 +229,7 @@ where
style,
label_layout,
&label,
self.font,
self.font.clone(),
self.text_size,
None,
self.text_alignment,
Expand Down

0 comments on commit a3e08ad

Please sign in to comment.