diff options
Diffstat (limited to '')
| -rw-r--r-- | native/src/widget/button.rs | 4 | ||||
| -rw-r--r-- | native/src/widget/checkbox.rs | 4 | ||||
| -rw-r--r-- | native/src/widget/container.rs | 2 | ||||
| -rw-r--r-- | native/src/widget/helpers.rs | 9 | ||||
| -rw-r--r-- | native/src/widget/pane_grid.rs | 4 | ||||
| -rw-r--r-- | native/src/widget/pane_grid/content.rs | 2 | ||||
| -rw-r--r-- | native/src/widget/pane_grid/title_bar.rs | 2 | ||||
| -rw-r--r-- | native/src/widget/pick_list.rs | 36 | ||||
| -rw-r--r-- | native/src/widget/progress_bar.rs | 2 | ||||
| -rw-r--r-- | native/src/widget/radio.rs | 4 | ||||
| -rw-r--r-- | native/src/widget/rule.rs | 2 | ||||
| -rw-r--r-- | native/src/widget/scrollable.rs | 4 | ||||
| -rw-r--r-- | native/src/widget/slider.rs | 4 | ||||
| -rw-r--r-- | native/src/widget/text_input.rs | 6 | ||||
| -rw-r--r-- | native/src/widget/toggler.rs | 4 | ||||
| -rw-r--r-- | native/src/widget/tooltip.rs | 4 | 
16 files changed, 61 insertions, 32 deletions
| diff --git a/native/src/widget/button.rs b/native/src/widget/button.rs index 1582188b..fa5da24b 100644 --- a/native/src/widget/button.rs +++ b/native/src/widget/button.rs @@ -231,7 +231,7 @@ where              cursor_position,              self.on_press.is_some(),              theme, -            self.style, +            &self.style,              || tree.state.downcast_ref::<State>(),          ); @@ -361,7 +361,7 @@ pub fn draw<'a, Renderer: crate::Renderer>(      style_sheet: &dyn StyleSheet<          Style = <Renderer::Theme as StyleSheet>::Style,      >, -    style: <Renderer::Theme as StyleSheet>::Style, +    style: &<Renderer::Theme as StyleSheet>::Style,      state: impl FnOnce() -> &'a State,  ) -> Appearance  where diff --git a/native/src/widget/checkbox.rs b/native/src/widget/checkbox.rs index dc3c0bd0..77d639a9 100644 --- a/native/src/widget/checkbox.rs +++ b/native/src/widget/checkbox.rs @@ -224,9 +224,9 @@ where          let mut children = layout.children();          let custom_style = if is_mouse_over { -            theme.hovered(self.style, self.is_checked) +            theme.hovered(&self.style, self.is_checked)          } else { -            theme.active(self.style, self.is_checked) +            theme.active(&self.style, self.is_checked)          };          { diff --git a/native/src/widget/container.rs b/native/src/widget/container.rs index 10a80b58..16537c50 100644 --- a/native/src/widget/container.rs +++ b/native/src/widget/container.rs @@ -228,7 +228,7 @@ where          cursor_position: Point,          viewport: &Rectangle,      ) { -        let style = theme.appearance(self.style); +        let style = theme.appearance(&self.style);          draw_background(renderer, &style, layout.bounds()); diff --git a/native/src/widget/helpers.rs b/native/src/widget/helpers.rs index 79751878..fe6fb815 100644 --- a/native/src/widget/helpers.rs +++ b/native/src/widget/helpers.rs @@ -1,4 +1,5 @@  //! Helper functions to create pure widgets. +use crate::overlay;  use crate::widget;  use crate::{Element, Length}; @@ -84,6 +85,7 @@ pub fn button<'a, Message, Renderer>(  where      Renderer: crate::Renderer,      Renderer::Theme: widget::button::StyleSheet, +    <Renderer::Theme as widget::button::StyleSheet>::Style: Default,  {      widget::Button::new(content)  } @@ -208,7 +210,12 @@ where      T: ToString + Eq + 'static,      [T]: ToOwned<Owned = Vec<T>>,      Renderer: crate::text::Renderer, -    Renderer::Theme: widget::pick_list::StyleSheet, +    Renderer::Theme: widget::pick_list::StyleSheet +        + widget::scrollable::StyleSheet +        + overlay::menu::StyleSheet +        + widget::container::StyleSheet, +    <Renderer::Theme as overlay::menu::StyleSheet>::Style: +        From<<Renderer::Theme as widget::pick_list::StyleSheet>::Style>,  {      widget::PickList::new(options, selected, on_selected)  } diff --git a/native/src/widget/pane_grid.rs b/native/src/widget/pane_grid.rs index fd771f8b..ff902aa7 100644 --- a/native/src/widget/pane_grid.rs +++ b/native/src/widget/pane_grid.rs @@ -401,7 +401,7 @@ where              viewport,              self.spacing,              self.on_resize.as_ref().map(|(leeway, _)| *leeway), -            self.style, +            &self.style,              self.contents                  .iter()                  .zip(&tree.children) @@ -727,7 +727,7 @@ pub fn draw<Renderer, T>(      viewport: &Rectangle,      spacing: u16,      resize_leeway: Option<u16>, -    style: <Renderer::Theme as StyleSheet>::Style, +    style: &<Renderer::Theme as StyleSheet>::Style,      contents: impl Iterator<Item = (Pane, T)>,      draw_pane: impl Fn(          T, diff --git a/native/src/widget/pane_grid/content.rs b/native/src/widget/pane_grid/content.rs index c236d820..405dc0b2 100644 --- a/native/src/widget/pane_grid/content.rs +++ b/native/src/widget/pane_grid/content.rs @@ -103,7 +103,7 @@ where          let bounds = layout.bounds();          { -            let style = theme.appearance(self.style); +            let style = theme.appearance(&self.style);              container::draw_background(renderer, &style, bounds);          } diff --git a/native/src/widget/pane_grid/title_bar.rs b/native/src/widget/pane_grid/title_bar.rs index eb85f924..783a14c3 100644 --- a/native/src/widget/pane_grid/title_bar.rs +++ b/native/src/widget/pane_grid/title_bar.rs @@ -129,7 +129,7 @@ where          use container::StyleSheet;          let bounds = layout.bounds(); -        let style = theme.appearance(self.style); +        let style = theme.appearance(&self.style);          let inherited_style = renderer::Style {              text_color: style.text_color.unwrap_or(inherited_style.text_color),          }; diff --git a/native/src/widget/pick_list.rs b/native/src/widget/pick_list.rs index 896f5b35..a6459cd6 100644 --- a/native/src/widget/pick_list.rs +++ b/native/src/widget/pick_list.rs @@ -9,6 +9,8 @@ use crate::overlay::menu::{self, Menu};  use crate::renderer;  use crate::text::{self, Text};  use crate::touch; +use crate::widget::container; +use crate::widget::scrollable;  use crate::widget::tree::{self, Tree};  use crate::{      Clipboard, Element, Layout, Length, Padding, Point, Rectangle, Shell, Size, @@ -42,7 +44,12 @@ where      T: ToString + Eq,      [T]: ToOwned<Owned = Vec<T>>,      Renderer: text::Renderer, -    Renderer::Theme: StyleSheet, +    Renderer::Theme: StyleSheet +        + scrollable::StyleSheet +        + menu::StyleSheet +        + container::StyleSheet, +    <Renderer::Theme as menu::StyleSheet>::Style: +        From<<Renderer::Theme as StyleSheet>::Style>,  {      /// The default padding of a [`PickList`].      pub const DEFAULT_PADDING: Padding = Padding::new(5); @@ -114,7 +121,12 @@ where      [T]: ToOwned<Owned = Vec<T>>,      Message: 'a,      Renderer: text::Renderer + 'a, -    Renderer::Theme: StyleSheet, +    Renderer::Theme: StyleSheet +        + scrollable::StyleSheet +        + menu::StyleSheet +        + container::StyleSheet, +    <Renderer::Theme as menu::StyleSheet>::Style: +        From<<Renderer::Theme as StyleSheet>::Style>,  {      fn tag(&self) -> tree::Tag {          tree::Tag::of::<State<T>>() @@ -202,7 +214,7 @@ where              &self.font,              self.placeholder.as_deref(),              self.selected.as_ref(), -            self.style, +            &self.style,          )      } @@ -221,7 +233,7 @@ where              self.text_size,              self.font.clone(),              &self.options, -            self.style, +            self.style.clone(),          )      }  } @@ -233,7 +245,12 @@ where      [T]: ToOwned<Owned = Vec<T>>,      Message: 'a,      Renderer: text::Renderer + 'a, -    Renderer::Theme: StyleSheet, +    Renderer::Theme: StyleSheet +        + scrollable::StyleSheet +        + menu::StyleSheet +        + container::StyleSheet, +    <Renderer::Theme as menu::StyleSheet>::Style: +        From<<Renderer::Theme as StyleSheet>::Style>,  {      fn from(pick_list: PickList<'a, T, Message, Renderer>) -> Self {          Self::new(pick_list) @@ -456,7 +473,12 @@ where      T: Clone + ToString,      Message: 'a,      Renderer: text::Renderer + 'a, -    Renderer::Theme: StyleSheet, +    Renderer::Theme: StyleSheet +        + scrollable::StyleSheet +        + menu::StyleSheet +        + container::StyleSheet, +    <Renderer::Theme as menu::StyleSheet>::Style: +        From<<Renderer::Theme as StyleSheet>::Style>,  {      if state.is_open {          let bounds = layout.bounds(); @@ -493,7 +515,7 @@ pub fn draw<T, Renderer>(      font: &Renderer::Font,      placeholder: Option<&str>,      selected: Option<&T>, -    style: <Renderer::Theme as StyleSheet>::Style, +    style: &<Renderer::Theme as StyleSheet>::Style,  ) where      Renderer: text::Renderer,      Renderer::Theme: StyleSheet, diff --git a/native/src/widget/progress_bar.rs b/native/src/widget/progress_bar.rs index 8a945433..b053d959 100644 --- a/native/src/widget/progress_bar.rs +++ b/native/src/widget/progress_bar.rs @@ -124,7 +124,7 @@ where                  / (range_end - range_start)          }; -        let style = theme.appearance(self.style); +        let style = theme.appearance(&self.style);          renderer.fill_quad(              renderer::Quad { diff --git a/native/src/widget/radio.rs b/native/src/widget/radio.rs index cb83f745..743689c7 100644 --- a/native/src/widget/radio.rs +++ b/native/src/widget/radio.rs @@ -230,9 +230,9 @@ where          let mut children = layout.children();          let custom_style = if is_mouse_over { -            theme.hovered(self.style, self.is_selected) +            theme.hovered(&self.style, self.is_selected)          } else { -            theme.active(self.style, self.is_selected) +            theme.active(&self.style, self.is_selected)          };          { diff --git a/native/src/widget/rule.rs b/native/src/widget/rule.rs index 56f8c80d..e44d8d99 100644 --- a/native/src/widget/rule.rs +++ b/native/src/widget/rule.rs @@ -88,7 +88,7 @@ where          _viewport: &Rectangle,      ) {          let bounds = layout.bounds(); -        let style = theme.style(self.style); +        let style = theme.appearance(&self.style);          let bounds = if self.is_horizontal {              let line_y = (bounds.y + (bounds.height / 2.0) diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs index 4ebb07a0..b257cbe5 100644 --- a/native/src/widget/scrollable.rs +++ b/native/src/widget/scrollable.rs @@ -233,7 +233,7 @@ where              self.scrollbar_width,              self.scrollbar_margin,              self.scroller_width, -            self.style, +            &self.style,              |renderer, layout, cursor_position, viewport| {                  self.content.as_widget().draw(                      &tree.children[0], @@ -627,7 +627,7 @@ pub fn draw<Renderer>(      scrollbar_width: u16,      scrollbar_margin: u16,      scroller_width: u16, -    style: <Renderer::Theme as StyleSheet>::Style, +    style: &<Renderer::Theme as StyleSheet>::Style,      draw_content: impl FnOnce(&mut Renderer, Layout<'_>, Point, &Rectangle),  ) where      Renderer: crate::Renderer, diff --git a/native/src/widget/slider.rs b/native/src/widget/slider.rs index 585d9c35..fd9160a4 100644 --- a/native/src/widget/slider.rs +++ b/native/src/widget/slider.rs @@ -222,7 +222,7 @@ where              self.value,              &self.range,              theme, -            self.style, +            &self.style,          )      } @@ -353,7 +353,7 @@ pub fn draw<T, R>(      value: T,      range: &RangeInclusive<T>,      style_sheet: &dyn StyleSheet<Style = <R::Theme as StyleSheet>::Style>, -    style: <R::Theme as StyleSheet>::Style, +    style: &<R::Theme as StyleSheet>::Style,  ) where      T: Into<f64> + Copy,      R: crate::Renderer, diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs index 25a8690e..22eff7f1 100644 --- a/native/src/widget/text_input.rs +++ b/native/src/widget/text_input.rs @@ -188,7 +188,7 @@ where              self.size,              &self.font,              self.is_secure, -            self.style, +            &self.style,          )      }  } @@ -284,7 +284,7 @@ where              self.size,              &self.font,              self.is_secure, -            self.style, +            &self.style,          )      } @@ -746,7 +746,7 @@ pub fn draw<Renderer>(      size: Option<u16>,      font: &Renderer::Font,      is_secure: bool, -    style: <Renderer::Theme as StyleSheet>::Style, +    style: &<Renderer::Theme as StyleSheet>::Style,  ) where      Renderer: text::Renderer,      Renderer::Theme: StyleSheet, diff --git a/native/src/widget/toggler.rs b/native/src/widget/toggler.rs index 7893f78c..99a56ea8 100644 --- a/native/src/widget/toggler.rs +++ b/native/src/widget/toggler.rs @@ -260,9 +260,9 @@ where          let is_mouse_over = bounds.contains(cursor_position);          let style = if is_mouse_over { -            theme.hovered(self.style, self.is_active) +            theme.hovered(&self.style, self.is_active)          } else { -            theme.active(self.style, self.is_active) +            theme.active(&self.style, self.is_active)          };          let border_radius = bounds.height as f32 / BORDER_RADIUS_RATIO; diff --git a/native/src/widget/tooltip.rs b/native/src/widget/tooltip.rs index 674f2ba6..9347a886 100644 --- a/native/src/widget/tooltip.rs +++ b/native/src/widget/tooltip.rs @@ -201,7 +201,7 @@ where              self.gap,              self.padding,              self.snap_within_viewport, -            self.style, +            &self.style,              |renderer, limits| {                  Widget::<(), Renderer>::layout(tooltip, renderer, limits)              }, @@ -275,7 +275,7 @@ pub fn draw<Renderer>(      gap: u16,      padding: u16,      snap_within_viewport: bool, -    style: <Renderer::Theme as container::StyleSheet>::Style, +    style: &<Renderer::Theme as container::StyleSheet>::Style,      layout_text: impl FnOnce(&Renderer, &layout::Limits) -> layout::Node,      draw_text: impl FnOnce(          &mut Renderer, | 
