pub trait RenderContext {
// Required methods
fn fill(&mut self, layer: &str, path: BezPath, brush: &PaintBrush);
fn stroke(
&mut self,
layer: &str,
path: BezPath,
brush: &PaintBrush,
width: f64
);
fn save(&mut self, layer: &str);
fn restore(&mut self, layer: &str);
fn clip(&mut self, layer: &str, path: BezPath);
fn load_image(
&mut self,
path: &str,
image: &[u8],
width: usize,
height: usize
);
fn draw_image(&mut self, layer: &str, image_path: &str, rect: Rect);
fn transform(&mut self, layer: &str, affine: Affine);
fn layers(&self) -> Vec<&str>;
}