diff options
author | 2024-01-21 17:56:01 +0100 | |
---|---|---|
committer | 2024-01-21 17:56:01 +0100 | |
commit | 7a50e9e8fbb8d37e53a42c1dd5936b97463ead53 (patch) | |
tree | c0960018f287bcb2043a1752ae85ad0d45e00f21 /examples/loading_spinners/src/circular.rs | |
parent | 545cc909c9f356dd733d273173694db9b8c28594 (diff) | |
download | iced-7a50e9e8fbb8d37e53a42c1dd5936b97463ead53.tar.gz iced-7a50e9e8fbb8d37e53a42c1dd5936b97463ead53.tar.bz2 iced-7a50e9e8fbb8d37e53a42c1dd5936b97463ead53.zip |
Convert `Renderer::Theme` to generic `Widget` type
Diffstat (limited to 'examples/loading_spinners/src/circular.rs')
-rw-r--r-- | examples/loading_spinners/src/circular.rs | 17 |
1 files changed, 10 insertions, 7 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, |