diff options
Diffstat (limited to 'style/src/container.rs')
-rw-r--r-- | style/src/container.rs | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/style/src/container.rs b/style/src/container.rs deleted file mode 100644 index 00649c25..00000000 --- a/style/src/container.rs +++ /dev/null @@ -1,51 +0,0 @@ -//! Change the appearance of a container. -use crate::core::{Background, Border, Color, Pixels, Shadow}; - -/// The appearance of a container. -#[derive(Debug, Clone, Copy, Default)] -pub struct Appearance { - /// The text [`Color`] of the container. - pub text_color: Option<Color>, - /// The [`Background`] of the container. - pub background: Option<Background>, - /// The [`Border`] of the container. - pub border: Border, - /// The [`Shadow`] of the container. - pub shadow: Shadow, -} - -impl Appearance { - /// Derives a new [`Appearance`] with a border of the given [`Color`] and - /// `width`. - pub fn with_border( - self, - color: impl Into<Color>, - width: impl Into<Pixels>, - ) -> Self { - Self { - border: Border { - color: color.into(), - width: width.into().0, - ..Border::default() - }, - ..self - } - } - - /// Derives a new [`Appearance`] with the given [`Background`]. - pub fn with_background(self, background: impl Into<Background>) -> Self { - Self { - background: Some(background.into()), - ..self - } - } -} - -/// A set of rules that dictate the [`Appearance`] of a container. -pub trait StyleSheet { - /// The supported style of the [`StyleSheet`]. - type Style: Default; - - /// Produces the [`Appearance`] of a container. - fn appearance(&self, style: &Self::Style) -> Appearance; -} |