use crate::style::Color;
#[derive(Debug, Clone)]
pub struct StreamLayer {
pub name: String,
pub values: Vec<f64>,
pub color: Option<Color>,
}
impl StreamLayer {
pub fn new(name: impl Into<String>) -> Self {
Self {
name: name.into(),
values: Vec::new(),
color: None,
}
}
pub fn data(mut self, values: Vec<f64>) -> Self {
self.values = values;
self
}
pub fn color(mut self, color: Color) -> Self {
self.color = Some(color);
self
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum StreamBaseline {
Zero,
#[default]
Symmetric,
Wiggle,
Expand,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum StreamOrder {
#[default]
None,
Ascending,
Descending,
InsideOut,
}