use densa_draw::Canvas;
use crate::{Axis, AxisKind, ChartPalette, Plot};
pub trait ChartModel {
fn x_kind(&self) -> AxisKind {
AxisKind::Time
}
fn x_extent(&self) -> Option<(f64, f64)>;
fn x_step(&self) -> Option<f64> {
None
}
fn panes(&self) -> usize {
1
}
fn pane_weight(&self, pane: usize) -> f32 {
let _ = pane;
1.0
}
fn y_axis(&self, pane: usize, x: &Axis) -> Option<Axis>;
fn paint(&self, pane: usize, plot: &Plot, canvas: &mut Canvas<'_>, palette: &ChartPalette);
fn pane_title(&self, _pane: usize) -> &str {
""
}
fn category(&self, index: usize) -> Option<&str> {
let _ = index;
None
}
fn prepare(&mut self) {}
fn describe(&self) -> String {
String::new()
}
}