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