Provide State reference instead of closure to pick_list::draw

This commit is contained in:
Héctor Ramón Jiménez 2023-02-14 07:05:18 +01:00
parent bbff06b462
commit fee1ab69e2
No known key found for this signature in database
GPG key ID: 140CC052C94F138E

View file

@ -224,7 +224,7 @@ where
self.selected.as_ref(), self.selected.as_ref(),
&self.handle, &self.handle,
&self.style, &self.style,
|| tree.state.downcast_ref::<State<T>>(), tree.state.downcast_ref::<State<T>>(),
) )
} }
@ -593,13 +593,12 @@ pub fn draw<'a, T, Renderer>(
selected: Option<&T>, selected: Option<&T>,
handle: &Handle<Renderer::Font>, handle: &Handle<Renderer::Font>,
style: &<Renderer::Theme as StyleSheet>::Style, style: &<Renderer::Theme as StyleSheet>::Style,
state: impl FnOnce() -> &'a State<T>, state: &State<T>,
) where ) where
Renderer: text::Renderer, Renderer: text::Renderer,
Renderer::Theme: StyleSheet, Renderer::Theme: StyleSheet,
T: ToString + 'a, T: ToString + 'a,
{ {
let state = state();
let bounds = layout.bounds(); let bounds = layout.bounds();
let is_mouse_over = bounds.contains(cursor_position); let is_mouse_over = bounds.contains(cursor_position);
let is_selected = selected.is_some(); let is_selected = selected.is_some();