Fix text::State downcast in some widgets

This commit is contained in:
Héctor Ramón Jiménez 2024-07-19 00:59:54 +02:00
parent 1d1a5f1a28
commit c851e67734
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
4 changed files with 10 additions and 4 deletions

View file

@ -154,7 +154,7 @@ where
/// The internal state of a [`Text`] widget. /// The internal state of a [`Text`] widget.
#[derive(Debug, Default)] #[derive(Debug, Default)]
pub struct State<P: Paragraph>(paragraph::Plain<P>); pub struct State<P: Paragraph>(pub paragraph::Plain<P>);
impl<'a, Message, Theme, Renderer> Widget<Message, Theme, Renderer> impl<'a, Message, Theme, Renderer> Widget<Message, Theme, Renderer>
for Text<'a, Theme, Renderer> for Text<'a, Theme, Renderer>

View file

@ -358,12 +358,14 @@ where
{ {
let label_layout = children.next().unwrap(); let label_layout = children.next().unwrap();
let state: &widget::text::State<Renderer::Paragraph> =
tree.state.downcast_ref();
crate::text::draw( crate::text::draw(
renderer, renderer,
defaults, defaults,
label_layout, label_layout,
tree.state.downcast_ref(), state.0.raw(),
crate::text::Style { crate::text::Style {
color: style.text_color, color: style.text_color,
}, },

View file

@ -353,12 +353,14 @@ where
{ {
let label_layout = children.next().unwrap(); let label_layout = children.next().unwrap();
let state: &widget::text::State<Renderer::Paragraph> =
tree.state.downcast_ref();
crate::text::draw( crate::text::draw(
renderer, renderer,
defaults, defaults,
label_layout, label_layout,
tree.state.downcast_ref(), state.0.raw(),
crate::text::Style { crate::text::Style {
color: style.text_color, color: style.text_color,
}, },

View file

@ -289,12 +289,14 @@ where
if self.label.is_some() { if self.label.is_some() {
let label_layout = children.next().unwrap(); let label_layout = children.next().unwrap();
let state: &widget::text::State<Renderer::Paragraph> =
tree.state.downcast_ref();
crate::text::draw( crate::text::draw(
renderer, renderer,
style, style,
label_layout, label_layout,
tree.state.downcast_ref(), state.0.raw(),
crate::text::Style::default(), crate::text::Style::default(),
viewport, viewport,
); );