diff options
Diffstat (limited to 'widget/src/container.rs')
| -rw-r--r-- | widget/src/container.rs | 26 | 
1 files changed, 22 insertions, 4 deletions
| diff --git a/widget/src/container.rs b/widget/src/container.rs index 5e16312c..81b9a29e 100644 --- a/widget/src/container.rs +++ b/widget/src/container.rs @@ -1,6 +1,7 @@  //! Decorate content and apply alignment.  use crate::core::alignment::{self, Alignment};  use crate::core::event::{self, Event}; +use crate::core::gradient::{self, Gradient};  use crate::core::layout;  use crate::core::mouse;  use crate::core::overlay; @@ -510,8 +511,7 @@ pub struct Appearance {  }  impl Appearance { -    /// Derives a new [`Appearance`] with a border of the given [`Color`] and -    /// `width`. +    /// Updates the border of the [`Appearance`] with the given [`Color`] and `width`.      pub fn with_border(          self,          color: impl Into<Color>, @@ -527,7 +527,7 @@ impl Appearance {          }      } -    /// Derives a new [`Appearance`] with the given [`Background`]. +    /// Updates the background of the [`Appearance`].      pub fn with_background(self, background: impl Into<Background>) -> Self {          Self {              background: Some(background.into()), @@ -566,6 +566,24 @@ impl DefaultStyle for Appearance {      }  } +impl DefaultStyle for Color { +    fn default_style() -> Style<Self> { +        |color, _status| Appearance::default().with_background(*color) +    } +} + +impl DefaultStyle for Gradient { +    fn default_style() -> Style<Self> { +        |gradient, _status| Appearance::default().with_background(*gradient) +    } +} + +impl DefaultStyle for gradient::Linear { +    fn default_style() -> Style<Self> { +        |gradient, _status| Appearance::default().with_background(*gradient) +    } +} +  /// A transparent [`Container`].  pub fn transparent<Theme>(_theme: &Theme, _status: Status) -> Appearance {      Appearance::default() @@ -577,7 +595,7 @@ pub fn box_(theme: &Theme, _status: Status) -> Appearance {      Appearance {          background: Some(palette.background.weak.color.into()), -        border: Border::with_radius(2), +        border: Border::rounded(2),          ..Appearance::default()      }  } | 
