pub mod cartesian;
pub mod fixed;
pub mod flip;
pub mod polar;
pub mod trans;
use crate::render::Rect;
#[derive(Clone, Copy, Debug)]
pub struct AxisSpan {
pub min: f64,
pub max: f64,
pub pmin: f64,
pub pmax: f64,
}
pub trait Coord: Send + Sync {
fn transform(&self, point: (f64, f64), plot_area: &Rect) -> (f64, f64);
fn gridlines(&self) -> bool {
true
}
fn is_flipped(&self) -> bool {
false
}
fn is_polar(&self) -> bool {
false
}
fn zoom_x(&self) -> Option<(f64, f64)> {
None
}
fn zoom_y(&self) -> Option<(f64, f64)> {
None
}
fn set_domains(&mut self, _x: Option<AxisSpan>, _y: Option<AxisSpan>) {}
}