1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
#![deny(warnings)] #[macro_use] extern crate derive_builder; #[macro_use] extern crate log; use std::fmt::Debug; mod graph; pub use graph::{Config, ConfigBuilder, Graph, PointStyle}; pub mod observable_value; mod signal; pub use signal::Signal; mod store; pub use store::Store; mod test_data_generator; pub use test_data_generator::TestDataGenerator; #[derive(Debug)] pub enum Error { String(String), } pub type Result<T> = std::result::Result<T, Error>; #[derive(Debug, Clone)] pub struct Point { pub t: u32, pub vs: Vec<u16>, } impl Point { pub fn vals(&self) -> &[u16] { &self.vs } } #[derive(Clone, Copy)] pub struct Color(pub u8, pub u8, pub u8); pub trait DataSource: Debug + Send { fn get_data(&mut self) -> Result<Vec<Point>>; fn get_num_values(&self) -> Result<usize>; fn get_colors(&self) -> Result<Vec<Color>> { Ok(vec![Color(255u8, 0u8, 0u8), Color(0u8, 255u8, 0u8), Color(0u8, 0u8, 255u8) ]) } }