diff options
author | 2024-01-22 11:48:38 +0100 | |
---|---|---|
committer | 2024-01-22 11:48:38 +0100 | |
commit | 416e0026c021a8222c925979053d985553f947a6 (patch) | |
tree | beb8bb6fd28459d6a0b4c39fb5812f9c126a035e /widget/src/rule.rs | |
parent | 545cc909c9f356dd733d273173694db9b8c28594 (diff) | |
parent | e695f7a04c16f786154f25a486b649ddbfd62939 (diff) | |
download | iced-416e0026c021a8222c925979053d985553f947a6.tar.gz iced-416e0026c021a8222c925979053d985553f947a6.tar.bz2 iced-416e0026c021a8222c925979053d985553f947a6.zip |
Merge pull request #2209 from iced-rs/remove-associated-theme
`Themer` widget
Diffstat (limited to '')
-rw-r--r-- | widget/src/rule.rs | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/widget/src/rule.rs b/widget/src/rule.rs index c958c44d..bca34541 100644 --- a/widget/src/rule.rs +++ b/widget/src/rule.rs @@ -11,21 +11,19 @@ pub use crate::style::rule::{Appearance, FillMode, StyleSheet}; /// Display a horizontal or vertical rule for dividing content. #[allow(missing_debug_implementations)] -pub struct Rule<Renderer = crate::Renderer> +pub struct Rule<Theme = crate::Theme> where - Renderer: crate::core::Renderer, - Renderer::Theme: StyleSheet, + Theme: StyleSheet, { width: Length, height: Length, is_horizontal: bool, - style: <Renderer::Theme as StyleSheet>::Style, + style: Theme::Style, } -impl<Renderer> Rule<Renderer> +impl<Theme> Rule<Theme> where - Renderer: crate::core::Renderer, - Renderer::Theme: StyleSheet, + Theme: StyleSheet, { /// Creates a horizontal [`Rule`] with the given height. pub fn horizontal(height: impl Into<Pixels>) -> Self { @@ -48,19 +46,16 @@ where } /// Sets the style of the [`Rule`]. - pub fn style( - mut self, - style: impl Into<<Renderer::Theme as StyleSheet>::Style>, - ) -> Self { + pub fn style(mut self, style: impl Into<Theme::Style>) -> Self { self.style = style.into(); self } } -impl<Message, Renderer> Widget<Message, Renderer> for Rule<Renderer> +impl<Message, Theme, Renderer> Widget<Message, Theme, Renderer> for Rule<Theme> where Renderer: crate::core::Renderer, - Renderer::Theme: StyleSheet, + Theme: StyleSheet, { fn size(&self) -> Size<Length> { Size { @@ -82,7 +77,7 @@ where &self, _state: &Tree, renderer: &mut Renderer, - theme: &Renderer::Theme, + theme: &Theme, _style: &renderer::Style, layout: Layout<'_>, _cursor: mouse::Cursor, @@ -132,14 +127,14 @@ where } } -impl<'a, Message, Renderer> From<Rule<Renderer>> - for Element<'a, Message, Renderer> +impl<'a, Message, Theme, Renderer> From<Rule<Theme>> + for Element<'a, Message, Theme, Renderer> where Message: 'a, + Theme: StyleSheet + 'a, Renderer: 'a + crate::core::Renderer, - Renderer::Theme: StyleSheet, { - fn from(rule: Rule<Renderer>) -> Element<'a, Message, Renderer> { + fn from(rule: Rule<Theme>) -> Element<'a, Message, Theme, Renderer> { Element::new(rule) } } |