From 7a50e9e8fbb8d37e53a42c1dd5936b97463ead53 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sun, 21 Jan 2024 17:56:01 +0100 Subject: Convert `Renderer::Theme` to generic `Widget` type --- widget/src/progress_bar.rs | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) (limited to 'widget/src/progress_bar.rs') diff --git a/widget/src/progress_bar.rs b/widget/src/progress_bar.rs index eb15644e..694fdd28 100644 --- a/widget/src/progress_bar.rs +++ b/widget/src/progress_bar.rs @@ -13,8 +13,7 @@ pub use iced_style::progress_bar::{Appearance, StyleSheet}; /// /// # Example /// ```no_run -/// # type ProgressBar = -/// # iced_widget::ProgressBar>; +/// # type ProgressBar = iced_widget::ProgressBar; /// # /// let value = 50.0; /// @@ -23,22 +22,20 @@ pub use iced_style::progress_bar::{Appearance, StyleSheet}; /// /// ![Progress bar drawn with `iced_wgpu`](https://user-images.githubusercontent.com/18618951/71662391-a316c200-2d51-11ea-9cef-52758cab85e3.png) #[allow(missing_debug_implementations)] -pub struct ProgressBar +pub struct ProgressBar where - Renderer: crate::core::Renderer, - Renderer::Theme: StyleSheet, + Theme: StyleSheet, { range: RangeInclusive, value: f32, width: Length, height: Option, - style: ::Style, + style: Theme::Style, } -impl ProgressBar +impl ProgressBar where - Renderer: crate::core::Renderer, - Renderer::Theme: StyleSheet, + Theme: StyleSheet, { /// The default height of a [`ProgressBar`]. pub const DEFAULT_HEIGHT: f32 = 30.0; @@ -71,19 +68,17 @@ where } /// Sets the style of the [`ProgressBar`]. - pub fn style( - mut self, - style: impl Into<::Style>, - ) -> Self { + pub fn style(mut self, style: impl Into) -> Self { self.style = style.into(); self } } -impl Widget for ProgressBar +impl Widget + for ProgressBar where Renderer: crate::core::Renderer, - Renderer::Theme: StyleSheet, + Theme: StyleSheet, { fn size(&self) -> Size { Size { @@ -109,7 +104,7 @@ where &self, _state: &Tree, renderer: &mut Renderer, - theme: &Renderer::Theme, + theme: &Theme, _style: &renderer::Style, layout: Layout<'_>, _cursor: mouse::Cursor, @@ -152,16 +147,16 @@ where } } -impl<'a, Message, Renderer> From> - for Element<'a, Message, Renderer> +impl<'a, Message, Theme, Renderer> From> + for Element<'a, Message, Theme, Renderer> where Message: 'a, + Theme: StyleSheet + 'a, Renderer: 'a + crate::core::Renderer, - Renderer::Theme: StyleSheet, { fn from( - progress_bar: ProgressBar, - ) -> Element<'a, Message, Renderer> { + progress_bar: ProgressBar, + ) -> Element<'a, Message, Theme, Renderer> { Element::new(progress_bar) } } -- cgit