Use Pixels for Text::size
This commit is contained in:
parent
de7fc637cf
commit
a2ab9e9395
7 changed files with 19 additions and 25 deletions
|
|
@ -450,7 +450,8 @@ where
|
|||
|
||||
let text_size =
|
||||
self.text_size.unwrap_or_else(|| renderer.default_size());
|
||||
let option_height = (text_size + self.padding.vertical()) as usize;
|
||||
let option_height =
|
||||
(text_size + f32::from(self.padding.vertical())) as usize;
|
||||
|
||||
let offset = viewport.y - bounds.y;
|
||||
let start = (offset / option_height as f32) as usize;
|
||||
|
|
|
|||
|
|
@ -288,7 +288,6 @@ where
|
|||
|
||||
{
|
||||
let label_layout = children.next().unwrap();
|
||||
let font = self.font.unwrap_or_else(|| renderer.default_font());
|
||||
|
||||
widget::text::draw(
|
||||
renderer,
|
||||
|
|
@ -296,7 +295,7 @@ where
|
|||
label_layout,
|
||||
&self.label,
|
||||
self.text_size,
|
||||
font,
|
||||
self.font,
|
||||
widget::text::Appearance {
|
||||
color: custom_style.text_color,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -163,7 +163,7 @@ where
|
|||
self.width,
|
||||
self.padding,
|
||||
self.text_size,
|
||||
self.font.unwrap_or_else(|| renderer.default_font()),
|
||||
self.font,
|
||||
self.placeholder.as_deref(),
|
||||
&self.options,
|
||||
)
|
||||
|
|
@ -344,7 +344,7 @@ pub fn layout<Renderer, T>(
|
|||
width: Length,
|
||||
padding: Padding,
|
||||
text_size: Option<f32>,
|
||||
font: Renderer::Font,
|
||||
font: Option<Renderer::Font>,
|
||||
placeholder: Option<&str>,
|
||||
options: &[T],
|
||||
) -> layout::Node
|
||||
|
|
@ -363,7 +363,7 @@ where
|
|||
let (width, _) = renderer.measure(
|
||||
label,
|
||||
text_size,
|
||||
font,
|
||||
font.unwrap_or_else(|| renderer.default_font()),
|
||||
Size::new(f32::INFINITY, f32::INFINITY),
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -268,7 +268,6 @@ where
|
|||
|
||||
{
|
||||
let label_layout = children.next().unwrap();
|
||||
let font = self.font.unwrap_or(renderer.default_font());
|
||||
|
||||
widget::text::draw(
|
||||
renderer,
|
||||
|
|
@ -276,7 +275,7 @@ where
|
|||
label_layout,
|
||||
&self.label,
|
||||
self.text_size,
|
||||
font,
|
||||
self.font,
|
||||
widget::text::Appearance {
|
||||
color: custom_style.text_color,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -160,15 +160,13 @@ where
|
|||
_cursor_position: Point,
|
||||
_viewport: &Rectangle,
|
||||
) {
|
||||
let font = self.font.unwrap_or_else(|| renderer.default_font());
|
||||
|
||||
draw(
|
||||
renderer,
|
||||
style,
|
||||
layout,
|
||||
&self.content,
|
||||
self.size,
|
||||
font,
|
||||
self.font,
|
||||
theme.appearance(self.style),
|
||||
self.horizontal_alignment,
|
||||
self.vertical_alignment,
|
||||
|
|
@ -192,7 +190,7 @@ pub fn draw<Renderer>(
|
|||
layout: Layout<'_>,
|
||||
content: &str,
|
||||
size: Option<f32>,
|
||||
font: Renderer::Font,
|
||||
font: Option<Renderer::Font>,
|
||||
appearance: Appearance,
|
||||
horizontal_alignment: alignment::Horizontal,
|
||||
vertical_alignment: alignment::Vertical,
|
||||
|
|
@ -218,7 +216,7 @@ pub fn draw<Renderer>(
|
|||
size: size.unwrap_or_else(|| renderer.default_size()),
|
||||
bounds: Rectangle { x, y, ..bounds },
|
||||
color: appearance.color.unwrap_or(style.text_color),
|
||||
font,
|
||||
font: font.unwrap_or_else(|| renderer.default_font()),
|
||||
horizontal_alignment,
|
||||
vertical_alignment,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -179,8 +179,6 @@ where
|
|||
cursor_position: Point,
|
||||
value: Option<&Value>,
|
||||
) {
|
||||
let font = self.font.unwrap_or(renderer.default_font());
|
||||
|
||||
draw(
|
||||
renderer,
|
||||
theme,
|
||||
|
|
@ -190,7 +188,7 @@ where
|
|||
value.unwrap_or(&self.value),
|
||||
&self.placeholder,
|
||||
self.size,
|
||||
font,
|
||||
self.font,
|
||||
self.is_secure,
|
||||
&self.style,
|
||||
)
|
||||
|
|
@ -260,7 +258,7 @@ where
|
|||
shell,
|
||||
&mut self.value,
|
||||
self.size,
|
||||
self.font.unwrap_or(renderer.default_font()),
|
||||
self.font,
|
||||
self.is_secure,
|
||||
self.on_change.as_ref(),
|
||||
self.on_paste.as_deref(),
|
||||
|
|
@ -279,8 +277,6 @@ where
|
|||
cursor_position: Point,
|
||||
_viewport: &Rectangle,
|
||||
) {
|
||||
let font = self.font.unwrap_or(renderer.default_font());
|
||||
|
||||
draw(
|
||||
renderer,
|
||||
theme,
|
||||
|
|
@ -290,7 +286,7 @@ where
|
|||
&self.value,
|
||||
&self.placeholder,
|
||||
self.size,
|
||||
font,
|
||||
self.font,
|
||||
self.is_secure,
|
||||
&self.style,
|
||||
)
|
||||
|
|
@ -414,7 +410,7 @@ pub fn update<'a, Message, Renderer>(
|
|||
shell: &mut Shell<'_, Message>,
|
||||
value: &mut Value,
|
||||
size: Option<f32>,
|
||||
font: Renderer::Font,
|
||||
font: Option<Renderer::Font>,
|
||||
is_secure: bool,
|
||||
on_change: &dyn Fn(String) -> Message,
|
||||
on_paste: Option<&dyn Fn(String) -> Message>,
|
||||
|
|
@ -820,7 +816,7 @@ pub fn draw<Renderer>(
|
|||
value: &Value,
|
||||
placeholder: &str,
|
||||
size: Option<f32>,
|
||||
font: Renderer::Font,
|
||||
font: Option<Renderer::Font>,
|
||||
is_secure: bool,
|
||||
style: &<Renderer::Theme as StyleSheet>::Style,
|
||||
) where
|
||||
|
|
@ -854,6 +850,7 @@ pub fn draw<Renderer>(
|
|||
);
|
||||
|
||||
let text = value.to_string();
|
||||
let font = font.unwrap_or_else(|| renderer.default_font());
|
||||
let size = size.unwrap_or_else(|| renderer.default_size());
|
||||
|
||||
let (cursor, offset) = if let Some(focus) = &state.is_focused {
|
||||
|
|
@ -1188,7 +1185,7 @@ where
|
|||
fn find_cursor_position<Renderer>(
|
||||
renderer: &Renderer,
|
||||
text_bounds: Rectangle,
|
||||
font: Renderer::Font,
|
||||
font: Option<Renderer::Font>,
|
||||
size: Option<f32>,
|
||||
value: &Value,
|
||||
state: &State,
|
||||
|
|
@ -1197,6 +1194,7 @@ fn find_cursor_position<Renderer>(
|
|||
where
|
||||
Renderer: text::Renderer,
|
||||
{
|
||||
let font = font.unwrap_or_else(|| renderer.default_font());
|
||||
let size = size.unwrap_or_else(|| renderer.default_size());
|
||||
|
||||
let offset = offset(renderer, text_bounds, font, size, value, state);
|
||||
|
|
|
|||
|
|
@ -236,7 +236,6 @@ where
|
|||
|
||||
if let Some(label) = &self.label {
|
||||
let label_layout = children.next().unwrap();
|
||||
let font = self.font.unwrap_or_else(|| renderer.default_font());
|
||||
|
||||
crate::widget::text::draw(
|
||||
renderer,
|
||||
|
|
@ -244,7 +243,7 @@ where
|
|||
label_layout,
|
||||
label,
|
||||
self.text_size,
|
||||
font,
|
||||
self.font,
|
||||
Default::default(),
|
||||
self.text_alignment,
|
||||
alignment::Vertical::Center,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue