diff options
Diffstat (limited to '')
| -rw-r--r-- | examples/loading_spinners/src/circular.rs | 17 | ||||
| -rw-r--r-- | examples/loading_spinners/src/linear.rs | 47 | 
2 files changed, 31 insertions, 33 deletions
| diff --git a/examples/loading_spinners/src/circular.rs b/examples/loading_spinners/src/circular.rs index 2e119979..8598b20a 100644 --- a/examples/loading_spinners/src/circular.rs +++ b/examples/loading_spinners/src/circular.rs @@ -2,14 +2,15 @@  use iced::advanced::layout;  use iced::advanced::renderer;  use iced::advanced::widget::tree::{self, Tree}; -use iced::advanced::{Clipboard, Layout, Renderer, Shell, Widget}; +use iced::advanced::{self, Clipboard, Layout, Shell, Widget};  use iced::event;  use iced::mouse;  use iced::time::Instant;  use iced::widget::canvas;  use iced::window::{self, RedrawRequest};  use iced::{ -    Background, Color, Element, Event, Length, Rectangle, Size, Vector, +    Background, Color, Element, Event, Length, Rectangle, Renderer, Size, +    Vector,  };  use super::easing::{self, Easing}; @@ -230,7 +231,7 @@ struct State {      cache: canvas::Cache,  } -impl<'a, Message, Theme> Widget<Message, iced::Renderer<Theme>> +impl<'a, Message, Theme> Widget<Message, Theme, Renderer>      for Circular<'a, Theme>  where      Message: 'a + Clone, @@ -254,7 +255,7 @@ where      fn layout(          &self,          _tree: &mut Tree, -        _renderer: &iced::Renderer<Theme>, +        _renderer: &Renderer,          limits: &layout::Limits,      ) -> layout::Node {          layout::atomic(limits, self.size, self.size) @@ -266,7 +267,7 @@ where          event: Event,          _layout: Layout<'_>,          _cursor: mouse::Cursor, -        _renderer: &iced::Renderer<Theme>, +        _renderer: &Renderer,          _clipboard: &mut dyn Clipboard,          shell: &mut Shell<'_, Message>,          _viewport: &Rectangle, @@ -290,13 +291,15 @@ where      fn draw(          &self,          tree: &Tree, -        renderer: &mut iced::Renderer<Theme>, +        renderer: &mut Renderer,          theme: &Theme,          _style: &renderer::Style,          layout: Layout<'_>,          _cursor: mouse::Cursor,          _viewport: &Rectangle,      ) { +        use advanced::Renderer as _; +          let state = tree.state.downcast_ref::<State>();          let bounds = layout.bounds();          let custom_style = @@ -361,7 +364,7 @@ where  }  impl<'a, Message, Theme> From<Circular<'a, Theme>> -    for Element<'a, Message, iced::Renderer<Theme>> +    for Element<'a, Message, Theme, Renderer>  where      Message: Clone + 'a,      Theme: StyleSheet + 'a, diff --git a/examples/loading_spinners/src/linear.rs b/examples/loading_spinners/src/linear.rs index 03aee9b1..ce375621 100644 --- a/examples/loading_spinners/src/linear.rs +++ b/examples/loading_spinners/src/linear.rs @@ -2,7 +2,7 @@  use iced::advanced::layout;  use iced::advanced::renderer::{self, Quad};  use iced::advanced::widget::tree::{self, Tree}; -use iced::advanced::{Clipboard, Layout, Shell, Widget}; +use iced::advanced::{self, Clipboard, Layout, Shell, Widget};  use iced::event;  use iced::mouse;  use iced::time::Instant; @@ -14,29 +14,27 @@ use super::easing::{self, Easing};  use std::time::Duration;  #[allow(missing_debug_implementations)] -pub struct Linear<'a, Renderer> +pub struct Linear<'a, Theme>  where -    Renderer: iced::advanced::Renderer, -    Renderer::Theme: StyleSheet, +    Theme: StyleSheet,  {      width: Length,      height: Length, -    style: <Renderer::Theme as StyleSheet>::Style, +    style: Theme::Style,      easing: &'a Easing,      cycle_duration: Duration,  } -impl<'a, Renderer> Linear<'a, Renderer> +impl<'a, Theme> Linear<'a, Theme>  where -    Renderer: iced::advanced::Renderer, -    Renderer::Theme: StyleSheet, +    Theme: StyleSheet,  {      /// Creates a new [`Linear`] with the given content.      pub fn new() -> Self {          Linear {              width: Length::Fixed(100.0),              height: Length::Fixed(4.0), -            style: <Renderer::Theme as StyleSheet>::Style::default(), +            style: Theme::Style::default(),              easing: &easing::STANDARD,              cycle_duration: Duration::from_millis(600),          } @@ -55,11 +53,8 @@ where      }      /// Sets the style variant of this [`Linear`]. -    pub fn style( -        mut self, -        style: <Renderer::Theme as StyleSheet>::Style, -    ) -> Self { -        self.style = style; +    pub fn style(mut self, style: impl Into<Theme::Style>) -> Self { +        self.style = style.into();          self      } @@ -76,10 +71,9 @@ where      }  } -impl<'a, Renderer> Default for Linear<'a, Renderer> +impl<'a, Theme> Default for Linear<'a, Theme>  where -    Renderer: iced::advanced::Renderer, -    Renderer::Theme: StyleSheet, +    Theme: StyleSheet,  {      fn default() -> Self {          Self::new() @@ -151,11 +145,12 @@ impl State {      }  } -impl<'a, Message, Renderer> Widget<Message, Renderer> for Linear<'a, Renderer> +impl<'a, Message, Theme, Renderer> Widget<Message, Theme, Renderer> +    for Linear<'a, Theme>  where -    Message: 'a + Clone, -    Renderer: 'a + iced::advanced::Renderer, -    Renderer::Theme: StyleSheet, +    Message: Clone + 'a, +    Theme: StyleSheet + 'a, +    Renderer: advanced::Renderer + 'a,  {      fn tag(&self) -> tree::Tag {          tree::Tag::of::<State>() @@ -207,7 +202,7 @@ where          &self,          tree: &Tree,          renderer: &mut Renderer, -        theme: &Renderer::Theme, +        theme: &Theme,          _style: &renderer::Style,          layout: Layout<'_>,          _cursor: mouse::Cursor, @@ -262,14 +257,14 @@ where      }  } -impl<'a, Message, Renderer> From<Linear<'a, Renderer>> -    for Element<'a, Message, Renderer> +impl<'a, Message, Theme, Renderer> From<Linear<'a, Theme>> +    for Element<'a, Message, Theme, Renderer>  where      Message: Clone + 'a, +    Theme: StyleSheet + 'a,      Renderer: iced::advanced::Renderer + 'a, -    Renderer::Theme: StyleSheet,  { -    fn from(linear: Linear<'a, Renderer>) -> Self { +    fn from(linear: Linear<'a, Theme>) -> Self {          Self::new(linear)      }  } | 
