use crate::prelude::*;
#[derive(Debug, Clone, Copy)]
pub struct Circle {
pub position: Point,
pub radius: f64,
}
impl Circle {
pub fn new(position: impl Into<Point>, radius: f64) -> Self {
Self {
position: position.into(),
radius,
}
}
}
impl<S> Primitive<S> for Circle {}
impl<C: Canvas + ?Sized> Draw<C> for Circle {
fn draw(&self, canvas: &mut C) {
canvas.circle(self.position, self.radius)
}
}