Added support for gradients as background variants + other optimizations.

This commit is contained in:
Bingus 2023-05-11 09:12:06 -07:00
parent 669f7cc74b
commit 6551a0b2ab
No known key found for this signature in database
GPG key ID: 5F84D2AA40A9F170
41 changed files with 1658 additions and 1489 deletions

View file

@ -1,11 +1,13 @@
use crate::Color;
use crate::{Color, Gradient};
/// The background of some element.
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum Background {
/// A solid color
/// A solid color.
Color(Color),
// TODO: Add gradient and image variants
/// Linearly interpolate between several colors.
Gradient(Gradient),
// TODO: Add image variant
}
impl From<Color> for Background {
@ -19,3 +21,9 @@ impl From<Color> for Option<Background> {
Some(Background::from(color))
}
}
impl From<Gradient> for Option<Background> {
fn from(gradient: Gradient) -> Self {
Some(Background::Gradient(gradient))
}
}