use crate::theme::Color;
pub trait RenderBackend {
fn clear(&mut self, color: Color);
fn fill_rect(&mut self, x: f32, y: f32, w: f32, h: f32, color: Color);
fn fill_circle(&mut self, cx: f32, cy: f32, radius: f32, color: Color);
fn stroke_circle(&mut self, cx: f32, cy: f32, radius: f32, color: Color, width: f32);
fn stroke_arc(
&mut self,
cx: f32,
cy: f32,
radius: f32,
start_angle: f32,
end_angle: f32,
color: Color,
width: f32,
);
fn draw_line(&mut self, x1: f32, y1: f32, x2: f32, y2: f32, color: Color, width: f32);
fn draw_text(&mut self, text: &str, x: f32, y: f32, size: f32, color: Color);
fn text_width(&self, text: &str, size: f32) -> f32;
fn present(&mut self) {}
}